# Process this file with autoconf to produce a configure script. AC_INIT(LibVNCServer, 0.9.2, http://sourceforge.net/projects/libvncserver) AM_INIT_AUTOMAKE(LibVNCServer, 0.9.2) AM_CONFIG_HEADER(rfbconfig.h) AX_PREFIX_CONFIG_H([rfb/rfbconfig.h]) # Checks for programs. AC_PROG_CC if test -z "$CC"; then CCLD="\$(CC)" else CCLD="$CC" fi AC_PROG_MAKE_SET AC_PROG_LIBTOOL AC_PATH_PROG([AR], [ar], [/usr/bin/ar], [$PATH:/usr/ccs/bin]) # Options AH_TEMPLATE(WITH_TIGHTVNC_FILETRANSFER, [Disable TightVNCFileTransfer protocol]) AC_ARG_WITH(tightvnc-filetransfer, [ --without-filetransfer disable TightVNC file transfer protocol], , [ with_tightvnc_filetransfer=yes ]) # AC_DEFINE moved to after libpthread check. AH_TEMPLATE(ALLOW24BPP, [Enable 24 bit per pixel in native framebuffer]) AC_ARG_WITH(24bpp, [ --without-24bpp disable 24 bpp framebuffers], , [ with_24bpp=yes ]) if test "x$with_24bpp" = "xyes"; then AC_DEFINE(ALLOW24BPP) fi AH_TEMPLATE(FFMPEG, [Use ffmpeg (for vnc2mpg)]) AC_ARG_WITH(ffmpeg, [ --with-ffmpeg=dir set ffmpeg home directory],,) AC_SUBST(with_ffmpeg) AM_CONDITIONAL(WITH_FFMPEG, test ! -z "$with_ffmpeg") if test ! -z "$with_ffmpeg"; then AC_CHECK_LIB(mp3lame, lame_init, HAVE_MP3LAME="true", HAVE_MP3LAME="false" ) fi AM_CONDITIONAL(HAVE_MP3LAME, test "$HAVE_MP3LAME" = "true") # Seem to need this dummy here to induce the 'checking for egrep... grep -E', etc. # before it seemed to be inside the with_jpeg conditional. AC_CHECK_HEADER(thenonexistentheader.h, HAVE_THENONEXISTENTHEADER_H="true") # Checks for X libraries HAVE_X="false" AC_PATH_XTRA AH_TEMPLATE(HAVE_X11, [X11 build environment present]) # See if we are to build x11vnc: AH_TEMPLATE(HAVE_SYSTEM_LIBVNCSERVER, [Use the system libvncserver build environment for x11vnc.]) AC_ARG_WITH(system-libvncserver, [ --with-system-libvncserver use installed libvncserver for x11vnc] [ --with-system-libvncserver=DIR use libvncserver installed in DIR for x11vnc],,) AC_ARG_WITH(x11vnc, [ --with-x11vnc configure for building the x11vnc subdir (if present)] [ you will need to cd to x11vnc and run 'make' etc.],,) if test ! -z "$with_x11vnc" -a "$with_x11vnc" = "yes"; then build_x11vnc="yes" elif test "$PACKAGE_NAME" = "x11vnc"; then build_x11vnc="yes" else build_x11vnc="no" fi # x11vnc only: if test "$build_x11vnc" = "yes"; then AH_TEMPLATE(HAVE_XSHM, [MIT-SHM extension build environment present]) AH_TEMPLATE(HAVE_XTEST, [XTEST extension build environment present]) AH_TEMPLATE(HAVE_XTESTGRABCONTROL, [XTEST extension has XTestGrabControl]) AH_TEMPLATE(HAVE_XKEYBOARD, [XKEYBOARD extension build environment present]) AH_TEMPLATE(HAVE_LIBXINERAMA, [XINERAMA extension build environment present]) AH_TEMPLATE(HAVE_LIBXRANDR, [XRANDR extension build environment present]) AH_TEMPLATE(HAVE_LIBXFIXES, [XFIXES extension build environment present]) AH_TEMPLATE(HAVE_LIBXDAMAGE, [XDAMAGE extension build environment present]) AH_TEMPLATE(HAVE_LIBXTRAP, [DEC-XTRAP extension build environment present]) AH_TEMPLATE(HAVE_RECORD, [RECORD extension build environment present]) AH_TEMPLATE(HAVE_SOLARIS_XREADSCREEN, [Solaris XReadScreen available]) AH_TEMPLATE(HAVE_IRIX_XREADDISPLAY, [IRIX XReadDisplay available]) AH_TEMPLATE(HAVE_FBPM, [FBPM extension build environment present]) AH_TEMPLATE(HAVE_DPMS, [DPMS extension build environment present]) AH_TEMPLATE(HAVE_LINUX_VIDEODEV_H, [video4linux build environment present]) AH_TEMPLATE(HAVE_LINUX_FB_H, [linux fb device build environment present]) AH_TEMPLATE(HAVE_LINUX_INPUT_H, [linux/input.h present]) AH_TEMPLATE(HAVE_LINUX_UINPUT_H, [linux uinput device build environment present]) AH_TEMPLATE(HAVE_MACOSX_NATIVE_DISPLAY, [build MacOS X native display support]) AC_ARG_WITH(xkeyboard, [ --without-xkeyboard disable xkeyboard extension support],,) AC_ARG_WITH(xinerama, [ --without-xinerama disable xinerama extension support],,) AC_ARG_WITH(xrandr, [ --without-xrandr disable xrandr extension support],,) AC_ARG_WITH(xfixes, [ --without-xfixes disable xfixes extension support],,) AC_ARG_WITH(xdamage, [ --without-xdamage disable xdamage extension support],,) AC_ARG_WITH(xtrap, [ --without-xtrap disable xtrap extension support],,) AC_ARG_WITH(xrecord, [ --without-xrecord disable xrecord extension support],,) AC_ARG_WITH(fbpm, [ --without-fbpm disable fbpm extension support],,) AC_ARG_WITH(dpms, [ --without-dpms disable dpms extension support],,) AC_ARG_WITH(v4l, [ --without-v4l disable video4linux support],,) AC_ARG_WITH(fbdev, [ --without-fbdev disable linux fb device support],,) AC_ARG_WITH(uinput, [ --without-uinput disable linux uinput device support],,) AC_ARG_WITH(macosx-native, [ --without-macosx-native disable MacOS X native display support],,) fi # end x11vnc only. if test "x$with_x" = "xno"; then HAVE_X="false" elif test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then AC_CHECK_LIB(X11, XGetImage, [AC_DEFINE(HAVE_X11) HAVE_X="true"], HAVE_X="false", $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) # x11vnc only: if test $HAVE_X = "true" -a "$build_x11vnc" = "yes"; then X_PRELIBS="$X_PRELIBS -lXext" AC_CHECK_LIB(Xext, XShmGetImage, [AC_DEFINE(HAVE_XSHM)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) AC_CHECK_LIB(Xext, XReadScreen, [AC_DEFINE(HAVE_SOLARIS_XREADSCREEN)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) AC_CHECK_HEADER(X11/extensions/readdisplay.h, [AC_DEFINE(HAVE_IRIX_XREADDISPLAY)], , [#include ]) if test "x$with_fbpm" != "xno"; then AC_CHECK_LIB(Xext, FBPMForceLevel, [AC_DEFINE(HAVE_FBPM)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) fi if test "x$with_dpms" != "xno"; then AC_CHECK_LIB(Xext, DPMSForceLevel, [AC_DEFINE(HAVE_DPMS)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) fi AC_CHECK_LIB(Xtst, XTestGrabControl, X_PRELIBS="-lXtst $X_PRELIBS" [AC_DEFINE(HAVE_XTESTGRABCONTROL) HAVE_XTESTGRABCONTROL="true"], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) AC_CHECK_LIB(Xtst, XTestFakeKeyEvent, X_PRELIBS="-lXtst $X_PRELIBS" [AC_DEFINE(HAVE_XTEST) HAVE_XTEST="true"], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) if test "x$with_xrecord" != "xno"; then AC_CHECK_LIB(Xtst, XRecordEnableContextAsync, X_PRELIBS="-lXtst $X_PRELIBS" [AC_DEFINE(HAVE_RECORD)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) fi # we use XTRAP on X11R5, or user can set X11VNC_USE_XTRAP if test "x$with_xtrap" != "xno"; then if test ! -z "$X11VNC_USE_XTRAP" -o -z "$HAVE_XTESTGRABCONTROL"; then AC_CHECK_LIB(XTrap, XETrapSetGrabServer, X_PRELIBS="$X_PRELIBS -lXTrap" [AC_DEFINE(HAVE_LIBXTRAP)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) # tru64 uses libXETrap.so AC_CHECK_LIB(XETrap, XETrapSetGrabServer, X_PRELIBS="$X_PRELIBS -lXETrap" [AC_DEFINE(HAVE_LIBXTRAP)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) fi fi if test "x$with_xkeyboard" != "xno"; then saved_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $X_CFLAGS" AC_CHECK_HEADER(X11/XKBlib.h, HAVE_XKBLIB_H="true", HAVE_XKBLIB_H="false", [#include ]) CPPFLAGS="$saved_CPPFLAGS" if test $HAVE_XKBLIB_H = "true"; then AC_CHECK_LIB(X11, XkbSelectEvents, [AC_DEFINE(HAVE_XKEYBOARD)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) fi fi if test "x$with_xinerama" != "xno"; then AC_CHECK_LIB(Xinerama, XineramaQueryScreens, X_PRELIBS="$X_PRELIBS -lXinerama" [AC_DEFINE(HAVE_LIBXINERAMA)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) fi if test "x$with_xrandr" != "xno"; then AC_CHECK_LIB(Xrandr, XRRSelectInput, X_PRELIBS="$X_PRELIBS -lXrandr" [AC_DEFINE(HAVE_LIBXRANDR)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) fi if test "x$with_xfixes" != "xno"; then AC_CHECK_LIB(Xfixes, XFixesGetCursorImage, X_PRELIBS="$X_PRELIBS -lXfixes" [AC_DEFINE(HAVE_LIBXFIXES) HAVE_LIBXFIXES="true"], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) fi if test "x$with_xdamage" != "xno"; then AC_CHECK_LIB(Xdamage, XDamageQueryExtension, X_PRELIBS="$X_PRELIBS -lXdamage" [AC_DEFINE(HAVE_LIBXDAMAGE) HAVE_LIBXDAMAGE="true"], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) fi if test ! -z "$HAVE_LIBXFIXES" -o ! -z "$HAVE_LIBXDAMAGE"; then # need /usr/sfw/lib in RPATH for Solaris 10 and later case `(uname -sr) 2>/dev/null` in "SunOS 5"*) X_EXTRA_LIBS="$X_EXTRA_LIBS -R/usr/sfw/lib" ;; esac fi X_LIBS="$X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS" fi # end x11vnc only. fi AC_SUBST(X_LIBS) AM_CONDITIONAL(HAVE_X, test $HAVE_X != "false") # x11vnc only: if test "$build_x11vnc" = "yes"; then if test "x$HAVE_X" = "xfalse" -a "x$with_x" != "xno"; then AC_MSG_ERROR([ ========================================================================== *** A working X window system build environment is required to build *** x11vnc. Make sure any required X development packages are installed. If they are installed in non-standard locations, one can use the --x-includes=DIR and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS environment variables to indicate where the X window system header files and libraries may be found. On 64+32 bit machines you may need to point to lib64 or lib32 directories to pick up the correct word size. If you want to build x11vnc without X support (e.g. for -rawfb use only or for native Mac OS X), specify the --without-x configure option. ========================================================================== ]) fi if test "x$HAVE_X" = "xtrue" -a "x$HAVE_XTEST" != "xtrue"; then AC_MSG_WARN([ ========================================================================== *** A working build environment for the XTEST extension was not found *** (libXtst). An x11vnc built this way will be only barely usable. You will be able to move the mouse but not click or type. There can also be deadlocks if an application grabs the X server. It is recommended that you install the necessary development packages for XTEST (perhaps it is named something like libxtst-dev) and run configure again. ========================================================================== ]) fi AH_TEMPLATE(HAVE_LIBCRYPT, [libcrypt library present]) AC_ARG_WITH(crypt, [ --without-crypt disable support for libcrypt],,) if test "x$with_crypt" != "xno"; then AC_CHECK_FUNCS([crypt], HAVE_LIBC_CRYPT="true") if test -z "$HAVE_LIBC_CRYPT"; then AC_CHECK_LIB(crypt, crypt, CRYPT_LIBS="-lcrypt" [AC_DEFINE(HAVE_LIBCRYPT)], ,) fi fi AC_SUBST(CRYPT_LIBS) # some OS's need both -lssl and -lcrypto on link line: AH_TEMPLATE(HAVE_LIBCRYPTO, [openssl libcrypto library present]) AC_ARG_WITH(crypto, [ --without-crypto disable support for openssl libcrypto],,) AH_TEMPLATE(HAVE_LIBSSL, [openssl libssl library present]) AC_ARG_WITH(ssl, [ --without-ssl disable support for openssl libssl],,) if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then AC_CHECK_LIB(crypto, RAND_file_name, [AC_DEFINE(HAVE_LIBCRYPTO) HAVE_LIBCRYPTO="true"], ,) fi if test "x$with_ssl" != "xno"; then if test "x$HAVE_LIBCRYPTO" = "xtrue"; then AC_CHECK_LIB(ssl, SSL_library_init, SSL_LIBS="-lssl -lcrypto" [AC_DEFINE(HAVE_LIBSSL) HAVE_LIBSSL="true"], , -lcrypto) else AC_CHECK_LIB(ssl, SSL_library_init, SSL_LIBS="-lssl" [AC_DEFINE(HAVE_LIBSSL) HAVE_LIBSSL="true"], ,) fi fi AC_SUBST(SSL_LIBS) if test "x$HAVE_LIBSSL" != "xtrue"; then AC_MSG_WARN([ ========================================================================== *** The openssl encryption library libssl.so was not found. *** An x11vnc built this way will not support SSL encryption. To enable SSL install the necessary development packages (perhaps it is named something like libssl-dev) and run configure again. ========================================================================== ]) fi if test "x$with_v4l" != "xno"; then AC_CHECK_HEADER(linux/videodev.h, [AC_DEFINE(HAVE_LINUX_VIDEODEV_H)],,) fi if test "x$with_fbdev" != "xno"; then AC_CHECK_HEADER(linux/fb.h, [AC_DEFINE(HAVE_LINUX_FB_H)],,) fi if test "x$with_uinput" != "xno"; then AC_CHECK_HEADER(linux/input.h, [AC_DEFINE(HAVE_LINUX_INPUT_H) HAVE_LINUX_INPUT_H="true"],,) if test "x$HAVE_LINUX_INPUT_H" = "xtrue"; then AC_CHECK_HEADER(linux/uinput.h, [AC_DEFINE(HAVE_LINUX_UINPUT_H)],, [#include ]) fi fi if test "x$with_macosx_native" != "xno"; then AC_DEFINE(HAVE_MACOSX_NATIVE_DISPLAY) fi AH_TEMPLATE(HAVE_AVAHI, [Avahi/mDNS client build environment present]) AC_ARG_WITH(avahi, [ --without-avahi disable support for Avahi/mDNS] [ --with-avahi=DIR use avahi include/library files in DIR],,) if test "x$with_avahi" != "xno"; then printf "checking for avahi... " if test ! -z "$with_avahi" -a "x$with_avahi" != "xyes"; then AVAHI_CFLAGS="-I$with_avahi/include" AVAHI_LIBS="-L$with_avahi/lib -lavahi-common -lavahi-client" echo "using $with_avahi" with_avahi=yes elif pkg-config --atleast-version=0.6.4 avahi-client >/dev/null 2>&1; then AVAHI_CFLAGS=`pkg-config --cflags avahi-client` AVAHI_LIBS=`pkg-config --libs avahi-client` with_avahi=yes echo yes else with_avahi=no echo no fi fi if test "x$with_avahi" = "xyes"; then AC_DEFINE(HAVE_AVAHI) AC_SUBST(AVAHI_CFLAGS) AC_SUBST(AVAHI_LIBS) fi fi # end x11vnc only. # Checks for libraries. uname_s=`(uname -s) 2>/dev/null` ld_minus_R="yes" if test "x$uname_s" = "xHP-UX"; then ld_minus_R="no" elif test "x$uname_s" = "xOSF1"; then ld_minus_R="no" elif test "x$uname_s" = "xDarwin"; then ld_minus_R="no" fi if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno"; then printf "checking for system libvncserver... " vneed="0.9.1" if test "x$with_system_libvncserver" != "xyes"; then rflag="" if test "x$ld_minus_R" = "xno"; then : elif test "x$GCC" = "xyes"; then rflag="-Xlinker -R$with_system_libvncserver/lib" else rflag="-R$with_system_libvncserver/lib" fi cmd="$with_system_libvncserver/bin/libvncserver-config" if $cmd --version 1>/dev/null 2>&1; then cvers=`$cmd --version 2>/dev/null` cscore=`echo "$cvers" | tr '.' ' ' | awk '{print 10000 * $1 + 100 * $2 + $3}'` nscore=`echo "$vneed" | tr '.' ' ' | awk '{print 10000 * $1 + 100 * $2 + $3}'` if test $cscore -lt $nscore; then echo "no" with_system_libvncserver=no AC_MSG_WARN([ ========================================================================== *** Need libvncserver version $vneed, have version $cvers *** You are building with a system installed libvncserver and it is not new enough. NOTE: The libvncserver included in the x11vnc source tree will be used instead. ========================================================================== ]) else SYSTEM_LIBVNCSERVER_CFLAGS="-I$with_system_libvncserver/include" SYSTEM_LIBVNCSERVER_LIBS="-L$with_system_libvncserver/lib $rflag -lvncserver -lvncclient" echo "using $with_system_libvncserver" with_system_libvncserver=yes fi else echo " *** cannot run $cmd *** " 1>&2 with_system_libvncserver=no echo no fi elif libvncserver-config --version 1>/dev/null 2>&1; then rflag="" rprefix=`libvncserver-config --prefix` if test "x$ld_minus_R" = "xno"; then : elif test "x$GCC" = "xyes"; then rflag=" -Xlinker -R$rprefix/lib " else rflag=" -R$rprefix/lib " fi cvers=`libvncserver-config --version 2>/dev/null` cscore=`echo "$cvers" | tr '.' ' ' | awk '{print 10000 * $1 + 100 * $2 + $3}'` nscore=`echo "$vneed" | tr '.' ' ' | awk '{print 10000 * $1 + 100 * $2 + $3}'` if test $cscore -lt $nscore; then echo "no" AC_MSG_WARN([ ========================================================================== *** Need libvncserver version $vneed, have version $cvers *** You are building with a system installed libvncserver and it is not new enough. NOTE: The libvncserver included in the x11vnc source tree will be used instead. ========================================================================== ]) else SYSTEM_LIBVNCSERVER_CFLAGS=`libvncserver-config --cflags` SYSTEM_LIBVNCSERVER_LIBS="$rflag"`libvncserver-config --libs` with_system_libvncserver=yes echo yes fi else with_system_libvncserver=no echo no fi fi if test "x$with_system_libvncserver" = "xyes"; then AC_DEFINE(HAVE_SYSTEM_LIBVNCSERVER) AC_SUBST(SYSTEM_LIBVNCSERVER_CFLAGS) AC_SUBST(SYSTEM_LIBVNCSERVER_LIBS) fi AM_CONDITIONAL(HAVE_SYSTEM_LIBVNCSERVER, test "x$with_system_libvncserver" = "xyes") AC_ARG_WITH(jpeg, [ --without-jpeg disable support for jpeg] [ --with-jpeg=DIR use jpeg include/library files in DIR],,) # At this point: # no jpeg on command line with_jpeg="" # -with-jpeg with_jpeg="yes" # -without-jpeg with_jpeg="no" # -with-jpeg=/foo/dir with_jpeg="/foo/dir" if test "x$with_jpeg" != "xno"; then if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then # add user supplied directory to flags: saved_CPPFLAGS="$CPPFLAGS" saved_LDFLAGS="$LDFLAGS" CPPFLAGS="$CPPFLAGS -I$with_jpeg/include" LDFLAGS="$LDFLAGS -L$with_jpeg/lib" if test "x$ld_minus_R" = "xno"; then : elif test "x$GCC" = "xyes"; then # this is not complete... in general a rat's nest. LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib" else LDFLAGS="$LDFLAGS -R$with_jpeg/lib" fi fi AC_CHECK_HEADER(jpeglib.h, HAVE_JPEGLIB_H="true") if test "x$HAVE_JPEGLIB_H" = "xtrue"; then AC_CHECK_LIB(jpeg, jpeg_CreateCompress, , HAVE_JPEGLIB_H="") fi if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then if test "x$HAVE_JPEGLIB_H" != "xtrue"; then # restore old flags on failure: CPPFLAGS="$saved_CPPFLAGS" LDFLAGS="$saved_LDFLAGS" fi fi if test "$build" = "yes"; then if test "x$HAVE_JPEGLIB_H" != "xtrue"; then AC_MSG_WARN([ ========================================================================== *** The libjpeg compression library was not found. *** This may lead to reduced performance, especially over slow links. If libjpeg is in a non-standard location use --with-jpeg=DIR to indicate the header file is in DIR/include/jpeglib.h and the library in DIR/lib/libjpeg.a. A copy of libjpeg may be obtained from: ftp://ftp.uu.net/graphics/jpeg/ ========================================================================== ]) fi fi fi AC_ARG_WITH(libz, [ --without-libz disable support for deflate],,) AC_ARG_WITH(zlib, [ --without-zlib disable support for deflate] [ --with-zlib=DIR use zlib include/library files in DIR],,) if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then saved_CPPFLAGS="$CPPFLAGS" saved_LDFLAGS="$LDFLAGS" CPPFLAGS="$CPPFLAGS -I$with_zlib/include" LDFLAGS="$LDFLAGS -L$with_zlib/lib" if test "x$ld_minus_R" = "xno"; then : elif test "x$GCC" = "xyes"; then LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib" else LDFLAGS="$LDFLAGS -R$with_zlib/lib" fi fi AC_CHECK_HEADER(zlib.h, HAVE_ZLIB_H="true") if test "x$HAVE_ZLIB_H" = "xtrue"; then AC_CHECK_LIB(z, deflate, , HAVE_ZLIB_H="") fi if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then if test "x$HAVE_ZLIB_H" != "xtrue"; then CPPFLAGS="$saved_CPPFLAGS" LDFLAGS="$saved_LDFLAGS" fi fi if test "$build_x11vnc" = "yes"; then if test "x$HAVE_ZLIB_H" != "xtrue"; then AC_MSG_WARN([ ========================================================================== *** The libz compression library was not found. *** This may lead to reduced performance, especially over slow links. If libz is in a non-standard location use --with-zlib=DIR to indicate the header file is in DIR/include/zlib.h and the library in DIR/lib/libz.a. A copy of libz may be obtained from: http://www.gzip.org/zlib/ ========================================================================== ]) fi fi fi AC_ARG_WITH(pthread, [ --without-pthread disable support for libpthread],,) if test "x$with_pthread" != "xno"; then AC_CHECK_HEADER(pthread.h, HAVE_PTHREAD_H="true") if test ! -z "$HAVE_PTHREAD_H"; then AC_CHECK_LIB(pthread, pthread_mutex_lock) AC_CHECK_LIB(pthread, pthread_mutex_lock, HAVE_LIBPTHREAD="true") fi fi AM_CONDITIONAL(HAVE_LIBPTHREAD, test ! -z "$HAVE_LIBPTHREAD") # tightvnc-filetransfer implemented using threads: if test -z "$HAVE_LIBPTHREAD"; then with_tightvnc_filetransfer="" fi if test "x$with_tightvnc_filetransfer" = "xyes"; then AC_DEFINE(WITH_TIGHTVNC_FILETRANSFER) fi AM_CONDITIONAL(WITH_TIGHTVNC_FILETRANSFER, test "$with_tightvnc_filetransfer" = "yes") AM_CONDITIONAL(HAVE_LIBZ, test ! -z "$HAVE_ZLIB_H") AM_CONDITIONAL(HAVE_LIBJPEG, test ! -z "$HAVE_JPEGLIB_H") if test -z "$with_sdl"; then if sdl-config --version >/dev/null 2>&1; then with_sdl=yes SDL_CFLAGS=`sdl-config --cflags` SDL_LIBS=`sdl-config --libs` else with_sdl=no fi fi AM_CONDITIONAL(HAVE_LIBSDL, test "x$with_sdl" = "xyes") AC_SUBST(SDL_CFLAGS) AC_SUBST(SDL_LIBS) MINGW=`uname -s | grep MINGW 2>/dev/null` AM_CONDITIONAL(MINGW, test ! -z "$MINGW" ) if test ! -z "$MINGW"; then WSOCKLIB="-lws2_32" fi AC_SUBST(WSOCKLIB) # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h]) # x11vnc only: if test "$build_x11vnc" = "yes"; then AC_CHECK_HEADERS([pwd.h sys/wait.h utmpx.h termios.h sys/ioctl.h sys/stropts.h]) fi # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_C_BIGENDIAN AC_TYPE_SIZE_T AC_HEADER_TIME AC_HEADER_SYS_WAIT AC_TYPE_SOCKLEN_T if test ! -d ./rfb; then echo "creating subdir ./rfb for rfbint.h" mkdir ./rfb fi AC_CREATE_STDINT_H(rfb/rfbint.h) AC_CACHE_CHECK([for in_addr_t], inaddrt, [ AC_TRY_COMPILE([#include #include ], [in_addr_t foo; return 0;], [inaddrt=yes], [inaddrt=no]), ]) AH_TEMPLATE(NEED_INADDR_T, [Need a typedef for in_addr_t]) if test $inaddrt = no ; then AC_DEFINE(NEED_INADDR_T) fi # Checks for library functions. AC_FUNC_MEMCMP AC_FUNC_STAT AC_FUNC_STRFTIME AC_FUNC_VPRINTF AC_FUNC_FORK AC_CHECK_LIB(nsl,gethostbyname) AC_CHECK_LIB(socket,socket) uname_s=`(uname -s) 2>/dev/null` if test "x$uname_s" = "xHP-UX"; then # need -lsec for getspnam() LDFLAGS="$LDFLAGS -lsec" fi AC_CHECK_FUNCS([ftime gethostbyname gethostname gettimeofday inet_ntoa memmove memset mmap mkfifo select socket strchr strcspn strdup strerror strstr]) # x11vnc only: if test "$build_x11vnc" = "yes"; then AC_CHECK_FUNCS([setsid setpgrp getpwuid getpwnam getspnam getuid geteuid setuid setgid seteuid setegid initgroups waitpid setutxent grantpt]) fi # check, if shmget is in cygipc.a AC_CHECK_LIB(cygipc,shmget) AM_CONDITIONAL(CYGIPC, test "$HAVE_CYGIPC" = "true") # Check if /dev/vcsa1 exists, if so, define LINUX AM_CONDITIONAL(LINUX, test -c /dev/vcsa1) # Check for OS X specific header AC_CHECK_HEADER(ApplicationServices/ApplicationServices.h, HAVE_OSX="true") AM_CONDITIONAL(OSX, test "$HAVE_OSX" = "true") # On Solaris 2.7, write() returns ENOENT when it really means EAGAIN AH_TEMPLATE(ENOENT_WORKAROUND, [work around when write() returns ENOENT but does not mean it]) case `(uname -sr) 2>/dev/null` in "SunOS 5.7") AC_DEFINE(ENOENT_WORKAROUND) ;; esac # Check for rpm SOURCES path printf "checking for rpm sources path... " RPMSOURCEDIR="NOT-FOUND" for directory in packages OpenLinux redhat RedHat rpm RPM "" ; do if test -d /usr/src/${directory}/SOURCES; then RPMSOURCEDIR="/usr/src/${directory}/SOURCES/" fi done echo "$RPMSOURCEDIR" AM_CONDITIONAL(HAVE_RPM, test "$RPMSOURCEDIR" != "NOT-FOUND") AM_CONDITIONAL(WITH_X11VNC, test "$build_x11vnc" = "yes") AC_SUBST(RPMSOURCEDIR) AC_CONFIG_FILES([Makefile libvncserver/Makefile contrib/Makefile examples/Makefile vncterm/Makefile classes/Makefile classes/ssl/Makefile libvncclient/Makefile client_examples/Makefile test/Makefile libvncserver-config LibVNCServer.spec]) # # x11vnc only: # if test "$build_x11vnc" = "yes"; then # # NOTE: if you are using the LibVNCServer-X.Y.Z.tar.gz source # tarball and nevertheless want to run autoconf (i.e. aclocal, # autoheader, automake, autoconf) AGAIN (perhaps you have a # special target system, e.g. embedded) then you will need to # comment out the following 'AC_CONFIG_FILES' line to avoid # automake error messages like: # # configure.ac:690: required file `x11vnc/Makefile.in' not found # AC_CONFIG_FILES([x11vnc/Makefile x11vnc/misc/Makefile]) fi AC_CONFIG_COMMANDS([chmod-libvncserver-config],[chmod a+x libvncserver-config]) AC_OUTPUT chmod a+x ./libvncserver-config