diff options
Diffstat (limited to 'unix/configure.in')
-rw-r--r-- | unix/configure.in | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/unix/configure.in b/unix/configure.in new file mode 100644 index 00000000..9b58f275 --- /dev/null +++ b/unix/configure.in @@ -0,0 +1,198 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(vncviewer_unix/vncviewer.cxx) + +PACKAGE=tightvnc +VERSION=1.5.0 +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") +AC_DEFINE_UNQUOTED(VERSION, "$VERSION") +AC_SUBST(PACKAGE) +AC_SUBST(VERSION) + +dnl dirty hack to prevent use of -g in CFLAGS and CXXFLAGS +ac_cv_prog_cc_g=no +ac_cv_prog_cxx_g=no + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_CXX +AC_PROG_RANLIB +AC_PROG_MAKE_SET +AC_LANG_CPLUSPLUS + +case "`(uname -sr) 2>/dev/null`" in +"SunOS 5"*) + SOLARIS=yes + USE_MITSHM=yes + USE_SUN_OVL=yes + ;; +"Linux"*) + LINUX=yes + USE_MITSHM=yes + ;; +"IRIX 6"*) + X_LIBS="-L/usr/lib32" + USE_MITSHM=yes + USE_READDISPLAY=yes + ;; +"LynxOS 2"*) + SJLJ_EXCEPTIONS=yes + ;; +esac + +dnl FIXME: Check for MIT-SHM properly, add a corresponding --with option. +if test "$USE_MITSHM" = yes; then + MITSHM_DEFINE="-DHAVE_MITSHM" +fi +AC_SUBST(MITSHM_DEFINE) + +if test "$GCC" = yes; then + CFLAGS="$CFLAGS -Wall" + if test "$SOLARIS" = yes; then + CFLAGS="$CFLAGS -Wno-unknown-pragmas -Wno-implicit-int" + fi +fi +if test "$GXX" = yes; then + CXXFLAGS="$CXXFLAGS -Wall" + if test "$SOLARIS" = yes; then + CXXFLAGS="$CXXFLAGS -Wno-unknown-pragmas -fpermissive" + fi + if test "$SJLJ_EXCEPTIONS" = yes; then + CXXFLAGS="$CXXFLAGS -fsjlj-exceptions" + fi +fi + +AC_PATH_XTRA + +AC_ARG_WITH(installed-zlib, +[ --with-installed-zlib use the version of zlib which is installed on the + system instead of the one distributed with VNC]) + +if test "$with_installed_zlib" = yes; then + echo "using installed zlib" + ZLIB_LIB=-lz +else + ZLIB_DIR=zlib + ZLIB_INCLUDE='-I$(top_srcdir)/zlib' + ZLIB_LIB='$(top_srcdir)/zlib/libz.a' + echo "configuring zlib..." + (cd zlib; ./configure) + echo "...done configuring zlib" +fi + +AC_SUBST(ZLIB_DIR) +AC_SUBST(ZLIB_INCLUDE) +AC_SUBST(ZLIB_LIB) + +AC_ARG_WITH(installed-jpeg, +[ --with-installed-jpeg use the version of jpeg which is installed on the + system instead of the one distributed with VNC]) + +if test "$with_installed_jpeg" = yes; then + echo "using installed jpeg" + JPEG_LIB=-ljpeg +else + JPEG_DIR=jpeg/build + JPEG_INCLUDE='-I$(top_srcdir)/jpeg' + JPEG_LIB='$(top_srcdir)/jpeg/build/libjpeg.a' + echo "configuring jpeg..." + (mkdir jpeg/build; cd jpeg/build; ../configure) + echo "...done configuring jpeg" +fi + +AC_SUBST(JPEG_DIR) +AC_SUBST(JPEG_INCLUDE) +AC_SUBST(JPEG_LIB) + +AC_ARG_ENABLE(vncconfig, +[ --enable-vncconfig build the vncconfig utility (assumed by default), + use --disable-vncconfig to skip building vncconfig]) +if test "$enable_vncconfig" = no; then + echo "vncconfig utility will not be built" + VNCCONFIG_DIR= +else + VNCCONFIG_DIR='vncconfig_unix' +fi +AC_SUBST(VNCCONFIG_DIR) + +dnl Check for the XTest X11 extension library. +AC_CHECK_LIB(Xtst,XTestGrabControl,USE_XTEST=yes,USE_XTEST=, +["$X_LIBS" -lXext -lX11]) +if test "$USE_XTEST" = yes; then + XTEST_DEFINE='-DHAVE_XTEST' + XTEST_LIB=-lXtst +else + echo Warning: No XTest extension, building x0vncserver view-only + XTEST_DEFINE= + XTEST_LIB= +fi +AC_SUBST(XTEST_DEFINE) +AC_SUBST(XTEST_LIB) + +dnl Support for READDISPLAY (Irix) and SUN_OVL (Solaris) extensions +dnl FIXME: Implement corresponding --with options. +if test "$USE_READDISPLAY" = yes; then + READDISPLAY_DEFINE='-DHAVE_READDISPLAY' +elif test "$USE_SUN_OVL" = yes; then + READDISPLAY_DEFINE='-DHAVE_SUN_OVL' +else + READDISPLAY_DEFINE= +fi +AC_SUBST(READDISPLAY_DEFINE) + +AC_CHECK_FUNC(vsnprintf,VSNPRINTF_DEFINE='-DHAVE_VSNPRINTF',VSNPRINTF_DEFINE=) +AC_SUBST(VSNPRINTF_DEFINE) + +AC_CHECK_FUNC(strcasecmp,STRCASECMP_DEFINE='-DHAVE_STRCASECMP', + STRCASECMP_DEFINE=) +AC_SUBST(STRCASECMP_DEFINE) + +AC_CHECK_FUNC(strncasecmp,STRNCASECMP_DEFINE='-DHAVE_STRNCASECMP', + STRNCASECMP_DEFINE=) +AC_SUBST(STRNCASECMP_DEFINE) + +dnl Under Lynx/OS 2.3, we have to link with -lbsd to resolve +dnl gethostbyname, inet_addr, htons etc. Check if it's necessary. +dnl NOTE: Did not want to use AC_SEARCH_LIBS which would add +dnl -lbsd to LIBS. We set INET_LIB instead. +AC_LANG_SAVE +AC_LANG_C +AC_CHECK_FUNC(gethostbyname,INET_LIB_REQ=,INET_LIB_REQ=yes) +if test "$INET_LIB_REQ" = yes; then + AC_CHECK_LIB(bsd,gethostbyname,INET_LIB=-lbsd,INET_LIB=) +fi +AC_LANG_RESTORE +AC_SUBST(INET_LIB) + +AC_MSG_CHECKING(for socklen_t) +AC_TRY_COMPILE( +[#include <sys/types.h> + #include <sys/socket.h>], +[socklen_t x; +accept(0, 0, &x);], +AC_MSG_RESULT(yes) +SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=socklen_t', +AC_MSG_RESULT(using int) +SOCKLEN_T_DEFINE='-DVNC_SOCKLEN_T=int') +AC_SUBST(SOCKLEN_T_DEFINE) + +AM_GNU_GETTEXT + +BOILERPLATE=boilerplate.mk + +if (sh -c "make --version" 2>/dev/null | grep GNU 2>&1 >/dev/null); then + if sh -c "vncmkdepend" >/dev/null 2>&1; then + BOILERPLATE="$BOILERPLATE:depend.mk" + fi +fi + +AC_OUTPUT(Makefile:Makefile.in:$BOILERPLATE intl/Makefile po/Makefile.in \ + rdr/Makefile:rdr/Makefile.in:$BOILERPLATE \ + network/Makefile:network/Makefile.in:$BOILERPLATE \ + Xregion/Makefile:Xregion/Makefile.in:$BOILERPLATE \ + rfb/Makefile:rfb/Makefile.in:$BOILERPLATE \ + tx/Makefile:tx/Makefile.in:$BOILERPLATE \ + x0vncserver/Makefile:x0vncserver/Makefile.in:$BOILERPLATE \ + vncviewer_unix/Makefile:vncviewer_unix/Makefile.in:$BOILERPLATE \ + vncconfig_unix/Makefile:vncconfig_unix/Makefile.in:$BOILERPLATE \ + vncpasswd/Makefile:vncpasswd/Makefile.in:$BOILERPLATE \ +) |