diff --git a/ChangeLog b/ChangeLog index 0fb4066..5107959 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2006-01-12 Karl Runge + * configure.ac: add switches for most X extensions. + 2006-01-10 Johannes E. Schindelin * libvncserver/{main.c,rfbserver.c}: fix timely closing of clients; the client iterator in rfbProcessEvents() has to iterate also diff --git a/configure.ac b/configure.ac index 5fe134d..0131541 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ AC_PATH_PROG([AR], [ar], [/usr/bin/ar], # Options AH_TEMPLATE(WITH_TIGHTVNC_FILETRANSFER, [Disable TightVNCFileTransfer protocol]) AC_ARG_WITH(tightvnc-filetransfer, - [ --without-filetransfer disable TightVNC file transfer protocol], + [ --without-filetransfer disable TightVNC file transfer protocol], , [ with_tightvnc_filetransfer=yes ]) # AC_DEFINE moved to after libpthread check. @@ -59,6 +59,22 @@ 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]) + +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],,) + if test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then AC_CHECK_LIB(X11, XGetImage, HAVE_X="true", HAVE_X="false", @@ -89,13 +105,16 @@ if test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then [AC_DEFINE(HAVE_XTEST)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) - AC_CHECK_LIB(Xtst, XRecordEnableContextAsync, - X_PRELIBS="$X_PRELIBS -lXtst" - [AC_DEFINE(HAVE_RECORD)], , - $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) + if test "x$with_xrecord" != "xno"; then + AC_CHECK_LIB(Xtst, XRecordEnableContextAsync, + X_PRELIBS="$X_PRELIBS -lXtst" + [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 ! -z "$X11VNC_USE_XTRAP" -o -z "$HAVE_XTESTGRABCONTROL"; then + 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)], , @@ -105,38 +124,49 @@ if test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then X_PRELIBS="$X_PRELIBS -lXETrap" [AC_DEFINE(HAVE_LIBXTRAP)], , $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) + fi fi - 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) + 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 - AC_CHECK_LIB(Xinerama, XineramaQueryScreens, - X_PRELIBS="$X_PRELIBS -lXinerama" - [AC_DEFINE(HAVE_LIBXINERAMA)], , - $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) + 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 - AC_CHECK_LIB(Xrandr, XRRSelectInput, - X_PRELIBS="$X_PRELIBS -lXrandr" - [AC_DEFINE(HAVE_LIBXRANDR)], , - $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS) + 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 - 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) + 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 - 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) + 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 diff --git a/x11vnc/ChangeLog b/x11vnc/ChangeLog index 41c058e..dcab5b4 100644 --- a/x11vnc/ChangeLog +++ b/x11vnc/ChangeLog @@ -1,3 +1,6 @@ +2006-01-12 Karl Runge + * fix -DSMALL_FOOTPRINT=N builds. + 2006-01-11 Karl Runge * x11vnc: close fd > 2 in run_user_command(), -nocmds in crash_debug, fix 64bit bug for -solid. diff --git a/x11vnc/README b/x11vnc/README index f36c5cc..7e7bc33 100644 --- a/x11vnc/README +++ b/x11vnc/README @@ -1,5 +1,5 @@ -x11vnc README file Date: Wed Jan 11 13:09:08 EST 2006 +x11vnc README file Date: Wed Jan 11 23:08:25 EST 2006 The following information is taken from these URLs: diff --git a/x11vnc/tkx11vnc b/x11vnc/tkx11vnc index d8cc569..aabfa0a 100755 --- a/x11vnc/tkx11vnc +++ b/x11vnc/tkx11vnc @@ -3,7 +3,7 @@ exec wish "$0" "$@" catch {rename send {}} # -# Copyright (c) 2004-2005 Karl J. Runge +# Copyright (c) 2004-2006 Karl J. Runge # All rights reserved. # # This is free software; you can redistribute it and/or modify @@ -5955,7 +5955,7 @@ if {"$argv" == "-spit"} { puts "#ifndef _TKX11VNC_H" puts "#define _TKX11VNC_H" puts "#ifdef NOGUI" - puts "char gui_code[] = \"\";" + puts "char gui_code\[\] = \"\";" puts "#else" puts "/*" puts " * tkx11vnc.h: generated by 'tkx11vnc -spit'" diff --git a/x11vnc/tkx11vnc.h b/x11vnc/tkx11vnc.h index 58c02e6..c5aedf8 100644 --- a/x11vnc/tkx11vnc.h +++ b/x11vnc/tkx11vnc.h @@ -1,7 +1,7 @@ #ifndef _TKX11VNC_H #define _TKX11VNC_H #ifdef NOGUI -char gui_code = ""; +char gui_code[] = ""; #else /* * tkx11vnc.h: generated by 'tkx11vnc -spit' @@ -14,7 +14,7 @@ char gui_code = ""; "exec wish \"$0\" \"$@\"\n" "catch {rename send {}}\n" "#\n" -"# Copyright (c) 2004-2005 Karl J. Runge \n" +"# Copyright (c) 2004-2006 Karl J. Runge \n" "# All rights reserved.\n" "#\n" "# This is free software; you can redistribute it and/or modify\n" @@ -5966,7 +5966,7 @@ char gui_code = ""; " puts \"#ifndef _TKX11VNC_H\"\n" " puts \"#define _TKX11VNC_H\"\n" " puts \"#ifdef NOGUI\"\n" -" puts \"char gui_code[] = \\\"\\\";\"\n" +" puts \"char gui_code\\[\\] = \\\"\\\";\"\n" " puts \"#else\"\n" " puts \"/*\"\n" " puts \" * tkx11vnc.h: generated by 'tkx11vnc -spit'\"\n" diff --git a/x11vnc/x11vnc.h b/x11vnc/x11vnc.h index ce20af5..9ad8325 100644 --- a/x11vnc/x11vnc.h +++ b/x11vnc/x11vnc.h @@ -117,6 +117,11 @@ #endif #if (SMALL_FOOTPRINT > 1) +#undef LIBVNCSERVER_HAVE_XKEYBOARD +#undef LIBVNCSERVER_HAVE_LIBXINERAMA +#undef LIBVNCSERVER_HAVE_LIBXRANDR +#undef LIBVNCSERVER_HAVE_LIBXFIXES +#undef LIBVNCSERVER_HAVE_LIBXDAMAGE #define LIBVNCSERVER_HAVE_XKEYBOARD 0 #define LIBVNCSERVER_HAVE_LIBXINERAMA 0 #define LIBVNCSERVER_HAVE_LIBXRANDR 0 @@ -125,6 +130,9 @@ #endif #if (SMALL_FOOTPRINT > 2) +#undef LIBVNCSERVER_HAVE_UTMPX_H +#undef LIBVNCSERVER_HAVE_PWD_H +#undef REMOTE_CONTROL #define LIBVNCSERVER_HAVE_UTMPX_H 0 #define LIBVNCSERVER_HAVE_PWD_H 0 #define REMOTE_CONTROL 0