From 0316d74da7982288abddd34e7a62698eb7f79965 Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Mon, 2 Mar 2009 00:42:42 -0500 Subject: [PATCH] http://ftp.x.org/contrib/applications/xscreensaver-3.24.tar.gz -rw-r--r-- 1 zblaxell zblaxell 1284791 Apr 2 2000 xscreensaver-3.24.tar.gz f73cf70fc62150d903887036119e82050e39641b xscreensaver-3.24.tar.gz --- Makefile.in | 4 +- README | 14 +- config.h.in | 10 + configure | 1062 ++++++++++++++-------- configure.in | 187 +++- driver/Makefile.in | 43 +- driver/XScreenSaver.ad.in | 25 +- driver/XScreenSaver_ad.h | 10 +- driver/demo-Gtk-stubs.h | 12 + driver/demo-Gtk-widgets.c | 90 +- driver/demo-Gtk.c | 301 ++++-- driver/passwd-kerberos.c | 13 +- driver/passwd-pam.c | 14 +- driver/screensaver-properties.desktop.in | 42 + driver/xdpyinfo.c | 11 +- driver/xscreensaver-command.man | 2 +- driver/xscreensaver-demo.glade | 136 ++- driver/xscreensaver-demo.man | 2 +- driver/xscreensaver.man | 2 +- hacks/Makefile.in | 7 +- hacks/bsod.c | 85 +- hacks/bsod.man | 1 + hacks/critical.c | 155 +++- hacks/critical.man | 7 +- hacks/flow.c | 569 ++++++++++-- hacks/maze.c | 101 +- hacks/phosphor.man | 20 + hacks/vidwhacker | 5 + hacks/webcollage | 16 +- hacks/xflame.c | 34 +- hacks/xflame.man | 63 ++ hacks/xteevee.c | 6 + utils/erase.c | 49 + utils/version.h | 2 +- xscreensaver.lsm | 10 +- xscreensaver.spec | 2 +- 36 files changed, 2373 insertions(+), 739 deletions(-) create mode 100644 driver/screensaver-properties.desktop.in create mode 100644 hacks/xflame.man diff --git a/Makefile.in b/Makefile.in index f1a39486..5cc087cb 100644 --- a/Makefile.in +++ b/Makefile.in @@ -131,7 +131,7 @@ bump-version:: MAJOR="$$1"; MINOR="$$2"; \ NEW=`echo $$MINOR + 1 | bc` ; \ NEW=`echo $$NEW | sed 's/^\([0-9]\)$$/0\1/'` ; \ - D=`date '+%d-%b-%y'`; \ + D=`date '+%d-%b-%Y'`; \ if [ ! -f xscreensaver-$$MAJOR.$$MINOR.tar.gz ]; then \ echo "WARNING: xscreensaver-$$MAJOR.$$MINOR.tar.gz does not exist."; \ fi ; \ @@ -223,7 +223,7 @@ test-tar:: ( cd BIN/lesstif ; \ CC=cc ; \ export CC ; \ - ../../configure --with-motif=/usr/local/lesstif ; \ + ../../configure --with-motif=/usr/local/lesstif --without-gnome ; \ echo --------------------------------------------------------------- ; \ ( cd utils; gmake all ) ; \ ( cd driver; gmake all ) ; \ diff --git a/README b/README index ebe58b99..5ff523c7 100644 --- a/README +++ b/README @@ -77,6 +77,18 @@ http://www.jwz.org/xscreensaver/. ============ +Changes since 3.23: * Added `-ignorant' option to `maze' hack. + * Updates to `critical', `bsod', `xflame', and `flow'. + * Added support for Kerberos 5 (via its Kerberos 4 + compatibility layer.) + * Fixed a bad leak in `xteevee'. + * Updated `webcollage' to handle recent Altavista URL + format changes. + * Removed xscreensaver-demo's `Ok' and `Cancel' buttons, + since they were confusing people: all changes are now + instantanious. + * Made xscreensaver-demo install itself into the Gnome + Control Center. Changes since 3.22: * Fixed some misplaced text fields in the Motif version of xscreensaver-demo; fixed a crash in the Gtk version that would happen if the programs list was empty. @@ -94,7 +106,7 @@ Changes since 3.20: * Tweaked the xscreensaver-demo UI (Gtk only.) GL visual should be used with nVidia systems now. * Made the Makefiles obey $install_prefix. * Made the `xscreensaver.spec' file able to generate both - GL and non-GL packages simultaniously. + GL and non-GL packages simultaneously. Changes since 3.19: * Added new hacks `ripples' and `sierpinski3d'. * Made `xscreensaver-command -exit' be silent when no screen saver was running (instead of complaining.) diff --git a/config.h.in b/config.h.in index c9b94b70..b35e89a0 100644 --- a/config.h.in +++ b/config.h.in @@ -127,6 +127,11 @@ */ #undef HAVE_GTK +/* Define this if you have Gnome and want to build support for the + xscreensaver control panel in the Gnome Control Center (gnomecc). + */ +#undef HAVE_CRAPPLET + /* Define this if you have the XPM library installed. Some of the demos can * make use of this if it is available. */ @@ -202,6 +207,11 @@ */ #undef HAVE_KERBEROS +/* Define this if you have Kerberos 5, meaning we need to use the Kerberos 4 + * compatibility layer. + */ +#undef HAVE_KERBEROS5 + /* Define this if you want to use PAM (Pluggable Authentication Modules) * to lock/unlock the screen, instead of standard /etc/passwd authentication. */ diff --git a/configure b/configure index c6ce9ec1..e6ae6989 100755 --- a/configure +++ b/configure @@ -74,6 +74,8 @@ User interface options: ac_help="$ac_help --with-gtk Use the Gtk toolkit for the user interface." ac_help="$ac_help + --with-gnome Include support for the Gnome Control Center." +ac_help="$ac_help Graphics options: @@ -665,6 +667,14 @@ perl_version_cmd='print $]' +############################################################################### +# +# Function to demand "bc". Losers. +# +############################################################################### + + + ############################################################################### # # Functions to check how to do ICMP PING requests. @@ -787,7 +797,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:802: checking host system type" >&5 +echo "configure:812: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -810,7 +820,7 @@ echo "$ac_t""$host" 1>&6 # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:825: checking for $ac_word" >&5 +echo "configure:835: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -840,7 +850,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:855: checking for $ac_word" >&5 +echo "configure:865: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -891,7 +901,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:906: checking for $ac_word" >&5 +echo "configure:916: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -923,7 +933,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:938: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:948: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -934,12 +944,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 949 "configure" +#line 959 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -965,12 +975,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:980: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:990: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:985: checking whether we are using GNU C" >&5 +echo "configure:995: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -979,7 +989,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1004: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -998,7 +1008,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1013: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1023: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1032,7 +1042,7 @@ fi if test -z "$GCC"; then echo $ac_n "checking how to request ANSI compilation""... $ac_c" 1>&6 -echo "configure:1047: checking how to request ANSI compilation" >&5 +echo "configure:1057: checking how to request ANSI compilation" >&5 case "$host" in *-hpux* ) echo "$ac_t""HPUX: adding -Ae" 1>&6 @@ -1055,16 +1065,16 @@ echo "configure:1047: checking how to request ANSI compilation" >&5 fi echo $ac_n "checking whether the compiler works on ANSI C""... $ac_c" 1>&6 -echo "configure:1070: checking whether the compiler works on ANSI C" >&5 +echo "configure:1080: checking whether the compiler works on ANSI C" >&5 if test "$cross_compiling" = yes; then { echo "configure: error: Couldn't build even a trivial ANSI C program: check CC." 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then echo "$ac_t""yes" 1>&6 else @@ -1099,7 +1109,7 @@ fi fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1114: checking how to run the C preprocessor" >&5 +echo "configure:1124: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1114,13 +1124,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1135: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1145: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1131,13 +1141,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1148,13 +1158,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1179: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1179,12 +1189,12 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1194: checking for working const" >&5 +echo "configure:1204: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -1254,21 +1264,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:1269: checking for inline" >&5 +echo "configure:1279: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1293: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -1293,6 +1303,19 @@ EOF ;; esac +ac_bc_result=`echo 6+9 | bc 2>/dev/null` + echo $ac_n "checking for bc""... $ac_c" 1>&6 +echo "configure:1320: checking for bc" >&5 + if test "$ac_bc_result" = "15" ; then + echo "$ac_t""yes" 1>&6 + else + echo "$ac_t""no" 1>&6 + echo '' + { echo "configure: error: Your system doesn't have \"bc\", which has been a standard + part of Unix since the 1970s. Come back when your vendor + has grown a clue." 1>&2; exit 1; } + fi + # stuff for Makefiles # Find a good install program. We prefer a C program (faster), @@ -1307,7 +1330,7 @@ esac # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1322: checking for a BSD compatible install" >&5 +echo "configure:1345: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1360,7 +1383,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether \"\${INSTALL} -d\" creates intermediate directories""... $ac_c" 1>&6 -echo "configure:1375: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5 +echo "configure:1398: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5 if eval "test \"`echo '$''{'ac_cv_install_d_creates_dirs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1382,7 +1405,7 @@ echo "$ac_t""$ac_cv_install_d_creates_dirs" 1>&6 if test "$ac_cv_install_d_creates_dirs" = no ; then echo $ac_n "checking whether \"mkdir -p\" creates intermediate directories""... $ac_c" 1>&6 -echo "configure:1397: checking whether \"mkdir -p\" creates intermediate directories" >&5 +echo "configure:1420: checking whether \"mkdir -p\" creates intermediate directories" >&5 if eval "test \"`echo '$''{'ac_cv_mkdir_p_creates_dirs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1413,7 +1436,7 @@ echo "$ac_t""$ac_cv_mkdir_p_creates_dirs" 1>&6 fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1428: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1451: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1442,12 +1465,12 @@ fi # random libc stuff echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1457: checking for ANSI C header files" >&5 +echo "configure:1480: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1455,7 +1478,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1470: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1472,7 +1495,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1490,7 +1513,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1511,7 +1534,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1522,7 +1545,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1549,17 +1572,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1564: checking for $ac_hdr" >&5 +echo "configure:1587: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1597: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1586,12 +1609,12 @@ fi done echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:1601: checking for mode_t" >&5 +echo "configure:1624: checking for mode_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1619,12 +1642,12 @@ EOF fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:1634: checking for pid_t" >&5 +echo "configure:1657: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1652,12 +1675,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1667: checking for size_t" >&5 +echo "configure:1690: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1685,12 +1708,12 @@ EOF fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:1700: checking return type of signal handlers" >&5 +echo "configure:1723: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1707,7 +1730,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:1722: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -1726,12 +1749,12 @@ EOF echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:1741: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:1764: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1740,7 +1763,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:1755: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1778: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -1761,12 +1784,12 @@ EOF fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:1776: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:1799: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1782,7 +1805,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:1797: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1820: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -1807,12 +1830,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:1822: checking for $ac_hdr that defines DIR" >&5 +echo "configure:1845: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> @@ -1820,7 +1843,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:1835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -1845,7 +1868,7 @@ done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:1860: checking for opendir in -ldir" >&5 +echo "configure:1883: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1853,7 +1876,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1886,7 +1909,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:1901: checking for opendir in -lx" >&5 +echo "configure:1924: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1894,7 +1917,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1928,12 +1951,12 @@ fi fi echo $ac_n "checking how to call gettimeofday""... $ac_c" 1>&6 -echo "configure:1943: checking how to call gettimeofday" >&5 +echo "configure:1966: checking how to call gettimeofday" >&5 if eval "test \"`echo '$''{'ac_cv_gettimeofday_args'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1942,7 +1965,7 @@ struct timeval tv; struct timezone tzp; gettimeofday(&tv, &tzp); ; return 0; } EOF -if { (eval echo configure:1957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1980: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_gettimeofday_args=2 else @@ -1950,7 +1973,7 @@ else cat conftest.$ac_ext >&5 rm -rf conftest* cat > conftest.$ac_ext < #include @@ -1958,7 +1981,7 @@ int main() { struct timeval tv; gettimeofday(&tv); ; return 0; } EOF -if { (eval echo configure:1973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_gettimeofday_args=1 else @@ -1997,12 +2020,12 @@ EOF for ac_func in select fcntl uname nice setpriority getcwd getwd putenv do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2012: checking for $ac_func" >&5 +echo "configure:2035: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2053,12 +2076,12 @@ done for ac_func in sigaction syslog realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2068: checking for $ac_func" >&5 +echo "configure:2091: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2106,12 +2129,12 @@ fi done echo $ac_n "checking for struct icmp""... $ac_c" 1>&6 -echo "configure:2121: checking for struct icmp" >&5 +echo "configure:2144: checking for struct icmp" >&5 if eval "test \"`echo '$''{'ac_cv_have_icmp'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2146,7 +2169,7 @@ struct icmp i; ip.ip_hl = 0; ; return 0; } EOF -if { (eval echo configure:2161: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2184: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_icmp=yes else @@ -2166,12 +2189,12 @@ EOF fi echo $ac_n "checking for struct icmphdr""... $ac_c" 1>&6 -echo "configure:2181: checking for struct icmphdr" >&5 +echo "configure:2204: checking for struct icmphdr" >&5 if eval "test \"`echo '$''{'ac_cv_have_icmphdr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2206,7 +2229,7 @@ struct icmphdr i; ip.ip_hl = 0; ; return 0; } EOF -if { (eval echo configure:2221: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_icmphdr=yes else @@ -2229,17 +2252,17 @@ for ac_hdr in crypt.h sys/select.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2244: checking for $ac_hdr" >&5 +echo "configure:2267: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2254: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2277: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2270,7 +2293,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2285: checking for $ac_word" >&5 +echo "configure:2308: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2309,7 +2332,7 @@ done PERL_VERSION=0 else echo $ac_n "checking perl version""... $ac_c" 1>&6 -echo "configure:2324: checking perl version" >&5 +echo "configure:2347: checking perl version" >&5 if eval "test \"`echo '$''{'ac_cv_perl_version'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2331,7 +2354,7 @@ fi # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:2346: checking for X" >&5 +echo "configure:2369: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -2393,12 +2416,12 @@ if test "$ac_x_includes" = NO; then # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2413: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2436: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2467,14 +2490,14 @@ if test "$ac_x_libraries" = NO; then ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -2580,17 +2603,17 @@ else case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:2595: checking whether -R must be followed by a space" >&5 +echo "configure:2618: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -2606,14 +2629,14 @@ rm -f conftest* else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2651: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -2645,7 +2668,7 @@ rm -f conftest* # libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:2660: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:2683: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2653,7 +2676,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2686,7 +2709,7 @@ fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:2701: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:2724: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2694,7 +2717,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2734,12 +2757,12 @@ fi # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:2749: checking for gethostbyname" >&5 +echo "configure:2772: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -2783,7 +2806,7 @@ fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:2798: checking for gethostbyname in -lnsl" >&5 +echo "configure:2821: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2791,7 +2814,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2832,12 +2855,12 @@ fi # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:2847: checking for connect" >&5 +echo "configure:2870: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -2881,7 +2904,7 @@ fi if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:2896: checking for connect in -lsocket" >&5 +echo "configure:2919: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2889,7 +2912,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2924,12 +2947,12 @@ fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:2939: checking for remove" >&5 +echo "configure:2962: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -2973,7 +2996,7 @@ fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:2988: checking for remove in -lposix" >&5 +echo "configure:3011: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2981,7 +3004,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3016,12 +3039,12 @@ fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:3031: checking for shmat" >&5 +echo "configure:3054: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -3065,7 +3088,7 @@ fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:3080: checking for shmat in -lipc" >&5 +echo "configure:3103: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3073,7 +3096,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3117,7 +3140,7 @@ fi # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:3132: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:3155: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3125,7 +3148,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3167,7 +3190,7 @@ fi echo $ac_n "checking for X app-defaults directory""... $ac_c" 1>&6 -echo "configure:3182: checking for X app-defaults directory" >&5 +echo "configure:3205: checking for X app-defaults directory" >&5 if eval "test \"`echo '$''{'ac_cv_x_app_defaults'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3366,7 +3389,7 @@ case "$host" in # Some versions of Slowlaris Motif require -lgen. But not all. Why? echo $ac_n "checking for regcmp in -lgen""... $ac_c" 1>&6 -echo "configure:3381: checking for regcmp in -lgen" >&5 +echo "configure:3404: checking for regcmp in -lgen" >&5 ac_lib_var=`echo gen'_'regcmp | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3374,7 +3397,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgen $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3409,7 +3432,7 @@ fi ;; esac echo $ac_n "checking for XPointer""... $ac_c" 1>&6 -echo "configure:3424: checking for XPointer" >&5 +echo "configure:3447: checking for XPointer" >&5 if eval "test \"`echo '$''{'ac_cv_xpointer'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3420,14 +3443,14 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < int main() { XPointer foo = (XPointer) 0; ; return 0; } EOF -if { (eval echo configure:3442: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3465: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_xpointer=yes else @@ -3465,17 +3488,17 @@ have_xmu=no CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/Xmu/Error.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xmu/Error.h""... $ac_c" 1>&6 -echo "configure:3480: checking for X11/Xmu/Error.h" >&5 +echo "configure:3503: checking for X11/Xmu/Error.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3490: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3513: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3526,7 +3549,7 @@ if test "$have_xmu" = yes ; then case "$host" in *-sunos4*) echo $ac_n "checking for the SunOS 4.1.x _get_wmShellWidgetClass bug""... $ac_c" 1>&6 -echo "configure:3541: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5 +echo "configure:3564: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5 if eval "test \"`echo '$''{'ac_cv_sunos_xmu_bug'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3539,14 +3562,14 @@ else # with X libraries because we know it's SunOS. LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_sunos_xmu_bug=no else @@ -3562,21 +3585,21 @@ fi echo "$ac_t""$ac_cv_sunos_xmu_bug" 1>&6 if test "$ac_cv_sunos_xmu_bug" = yes ; then echo $ac_n "checking whether the compiler understands -static""... $ac_c" 1>&6 -echo "configure:3577: checking whether the compiler understands -static" >&5 +echo "configure:3600: checking whether the compiler understands -static" >&5 if eval "test \"`echo '$''{'ac_cv_ld_static'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -static" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_ld_static=yes else @@ -3659,7 +3682,7 @@ fi /*) echo $ac_n "checking for SGI SCREEN_SAVER headers""... $ac_c" 1>&6 -echo "configure:3674: checking for SGI SCREEN_SAVER headers" >&5 +echo "configure:3697: checking for SGI SCREEN_SAVER headers" >&5 d=$with_sgi/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -3669,7 +3692,7 @@ echo "configure:3674: checking for SGI SCREEN_SAVER headers" >&5 fi echo $ac_n "checking for SGI SCREEN_SAVER libs""... $ac_c" 1>&6 -echo "configure:3684: checking for SGI SCREEN_SAVER libs" >&5 +echo "configure:3707: checking for SGI SCREEN_SAVER libs" >&5 d=$with_sgi/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -3702,17 +3725,17 @@ if test "$with_sgi" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/XScreenSaver.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/XScreenSaver.h""... $ac_c" 1>&6 -echo "configure:3717: checking for X11/extensions/XScreenSaver.h" >&5 +echo "configure:3740: checking for X11/extensions/XScreenSaver.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3727: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3769,7 +3792,7 @@ fi /*) echo $ac_n "checking for MIT-SCREEN-SAVER headers""... $ac_c" 1>&6 -echo "configure:3784: checking for MIT-SCREEN-SAVER headers" >&5 +echo "configure:3807: checking for MIT-SCREEN-SAVER headers" >&5 d=$with_mit/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -3779,7 +3802,7 @@ echo "configure:3784: checking for MIT-SCREEN-SAVER headers" >&5 fi echo $ac_n "checking for MIT-SCREEN-SAVER libs""... $ac_c" 1>&6 -echo "configure:3794: checking for MIT-SCREEN-SAVER libs" >&5 +echo "configure:3817: checking for MIT-SCREEN-SAVER libs" >&5 d=$with_mit/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -3812,17 +3835,17 @@ if test "$with_mit" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/scrnsaver.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/scrnsaver.h""... $ac_c" 1>&6 -echo "configure:3827: checking for X11/extensions/scrnsaver.h" >&5 +echo "configure:3850: checking for X11/extensions/scrnsaver.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3837: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3860: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3867,7 +3890,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XScreenSaverRegister in -lXext""... $ac_c" 1>&6 -echo "configure:3882: checking for XScreenSaverRegister in -lXext" >&5 +echo "configure:3905: checking for XScreenSaverRegister in -lXext" >&5 ac_lib_var=`echo Xext'_'XScreenSaverRegister | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3875,7 +3898,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3933,7 +3956,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XScreenSaverRegister in -lXExExt""... $ac_c" 1>&6 -echo "configure:3948: checking for XScreenSaverRegister in -lXExExt" >&5 +echo "configure:3971: checking for XScreenSaverRegister in -lXExExt" >&5 ac_lib_var=`echo XExExt'_'XScreenSaverRegister | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3941,7 +3964,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXExExt -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4002,7 +4025,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XScreenSaverRegister in -lXss""... $ac_c" 1>&6 -echo "configure:4017: checking for XScreenSaverRegister in -lXss" >&5 +echo "configure:4040: checking for XScreenSaverRegister in -lXss" >&5 ac_lib_var=`echo Xss'_'XScreenSaverRegister | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4010,7 +4033,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXss -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4087,7 +4110,7 @@ fi /*) echo $ac_n "checking for XIDLE headers""... $ac_c" 1>&6 -echo "configure:4102: checking for XIDLE headers" >&5 +echo "configure:4125: checking for XIDLE headers" >&5 d=$with_xidle/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -4097,7 +4120,7 @@ echo "configure:4102: checking for XIDLE headers" >&5 fi echo $ac_n "checking for XIDLE libs""... $ac_c" 1>&6 -echo "configure:4112: checking for XIDLE libs" >&5 +echo "configure:4135: checking for XIDLE libs" >&5 d=$with_xidle/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -4130,17 +4153,17 @@ if test "$with_xidle" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/xidle.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/xidle.h""... $ac_c" 1>&6 -echo "configure:4145: checking for X11/extensions/xidle.h" >&5 +echo "configure:4168: checking for X11/extensions/xidle.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4155: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4178: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4196,7 +4219,7 @@ fi /*) echo $ac_n "checking for SGI-VIDEO-CONTROL headers""... $ac_c" 1>&6 -echo "configure:4211: checking for SGI-VIDEO-CONTROL headers" >&5 +echo "configure:4234: checking for SGI-VIDEO-CONTROL headers" >&5 d=$with_sgivc/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -4206,7 +4229,7 @@ echo "configure:4211: checking for SGI-VIDEO-CONTROL headers" >&5 fi echo $ac_n "checking for SGI-VIDEO-CONTROL libs""... $ac_c" 1>&6 -echo "configure:4221: checking for SGI-VIDEO-CONTROL libs" >&5 +echo "configure:4244: checking for SGI-VIDEO-CONTROL libs" >&5 d=$with_sgivc/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -4241,17 +4264,17 @@ if test "$with_sgivc" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/XSGIvc.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/XSGIvc.h""... $ac_c" 1>&6 -echo "configure:4256: checking for X11/extensions/XSGIvc.h" >&5 +echo "configure:4279: checking for X11/extensions/XSGIvc.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4266: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4289: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4295,7 +4318,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XSGIvcQueryGammaMap in -lXsgivc""... $ac_c" 1>&6 -echo "configure:4310: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5 +echo "configure:4333: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5 ac_lib_var=`echo Xsgivc'_'XSGIvcQueryGammaMap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4303,7 +4326,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXsgivc -lXext -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4379,7 +4402,7 @@ fi /*) echo $ac_n "checking for DPMS headers""... $ac_c" 1>&6 -echo "configure:4394: checking for DPMS headers" >&5 +echo "configure:4417: checking for DPMS headers" >&5 d=$with_dpms/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -4389,7 +4412,7 @@ echo "configure:4394: checking for DPMS headers" >&5 fi echo $ac_n "checking for DPMS libs""... $ac_c" 1>&6 -echo "configure:4404: checking for DPMS libs" >&5 +echo "configure:4427: checking for DPMS libs" >&5 d=$with_dpms/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -4424,17 +4447,17 @@ if test "$with_dpms" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/dpms.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/dpms.h""... $ac_c" 1>&6 -echo "configure:4439: checking for X11/extensions/dpms.h" >&5 +echo "configure:4462: checking for X11/extensions/dpms.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4449: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4478,7 +4501,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for DPMSInfo in -lXdpms""... $ac_c" 1>&6 -echo "configure:4493: checking for DPMSInfo in -lXdpms" >&5 +echo "configure:4516: checking for DPMSInfo in -lXdpms" >&5 ac_lib_var=`echo Xdpms'_'DPMSInfo | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4486,7 +4509,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXdpms -lXext -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4562,7 +4585,7 @@ fi /*) echo $ac_n "checking for xf86vmode headers""... $ac_c" 1>&6 -echo "configure:4577: checking for xf86vmode headers" >&5 +echo "configure:4600: checking for xf86vmode headers" >&5 d=$with_xf86vmode/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -4572,7 +4595,7 @@ echo "configure:4577: checking for xf86vmode headers" >&5 fi echo $ac_n "checking for xf86vmode libs""... $ac_c" 1>&6 -echo "configure:4587: checking for xf86vmode libs" >&5 +echo "configure:4610: checking for xf86vmode libs" >&5 d=$with_xf86vmode/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -4607,17 +4630,17 @@ if test "$with_xf86vmode" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/xf86vmode.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/xf86vmode.h""... $ac_c" 1>&6 -echo "configure:4622: checking for X11/extensions/xf86vmode.h" >&5 +echo "configure:4645: checking for X11/extensions/xf86vmode.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4632: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4655: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4661,7 +4684,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XF86VidModeGetViewPort in -lXxf86vm""... $ac_c" 1>&6 -echo "configure:4676: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5 +echo "configure:4699: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5 ac_lib_var=`echo Xxf86vm'_'XF86VidModeGetViewPort | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4669,7 +4692,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXxf86vm -lXext -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4734,7 +4757,7 @@ fi fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < EOF @@ -4772,7 +4795,7 @@ fi if test "$with_proc_interrupts" = yes; then echo $ac_n "checking whether /proc/interrupts contains keyboard data""... $ac_c" 1>&6 -echo "configure:4787: checking whether /proc/interrupts contains keyboard data" >&5 +echo "configure:4810: checking whether /proc/interrupts contains keyboard data" >&5 if eval "test \"`echo '$''{'ac_cv_have_proc_interrupts'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4905,7 +4928,7 @@ fi /*) echo $ac_n "checking for PAM headers""... $ac_c" 1>&6 -echo "configure:4920: checking for PAM headers" >&5 +echo "configure:4943: checking for PAM headers" >&5 d=$with_pam/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -4915,7 +4938,7 @@ echo "configure:4920: checking for PAM headers" >&5 fi echo $ac_n "checking for PAM libs""... $ac_c" 1>&6 -echo "configure:4930: checking for PAM libs" >&5 +echo "configure:4953: checking for PAM libs" >&5 d=$with_pam/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -4941,7 +4964,7 @@ echo "configure:4930: checking for PAM libs" >&5 if test "$enable_locking" = yes -a "$with_pam" = yes; then echo $ac_n "checking for PAM""... $ac_c" 1>&6 -echo "configure:4956: checking for PAM" >&5 +echo "configure:4979: checking for PAM" >&5 if eval "test \"`echo '$''{'ac_cv_pam'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4952,14 +4975,14 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < int main() { ; return 0; } EOF -if { (eval echo configure:4974: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_pam=yes else @@ -4984,7 +5007,7 @@ EOF # libpam typically requires dlopen and dlsym. On FreeBSD, # those are in libc. On Linux and Solaris, they're in libdl. echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:4999: checking for dlopen in -ldl" >&5 +echo "configure:5022: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4992,7 +5015,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5025,12 +5048,12 @@ fi echo $ac_n "checking how to call pam_strerror""... $ac_c" 1>&6 -echo "configure:5040: checking how to call pam_strerror" >&5 +echo "configure:5063: checking how to call pam_strerror" >&5 if eval "test \"`echo '$''{'ac_cv_pam_strerror_args'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5040,7 +5063,7 @@ pam_handle_t *pamh = 0; char *s = pam_strerror(pamh, PAM_SUCCESS); ; return 0; } EOF -if { (eval echo configure:5055: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_pam_strerror_args=2 else @@ -5048,7 +5071,7 @@ else cat conftest.$ac_ext >&5 rm -rf conftest* cat > conftest.$ac_ext < #include @@ -5058,7 +5081,7 @@ char *s = pam_strerror(PAM_SUCCESS); ; return 0; } EOF -if { (eval echo configure:5073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5096: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_pam_strerror_args=1 else @@ -5096,6 +5119,7 @@ fi ############################################################################### have_kerberos=no +have_kerberos5=no with_kerberos_req=unspecified # Check whether --with-kerberos or --without-kerberos was given. @@ -5114,7 +5138,7 @@ fi /*) echo $ac_n "checking for Kerberos headers""... $ac_c" 1>&6 -echo "configure:5129: checking for Kerberos headers" >&5 +echo "configure:5153: checking for Kerberos headers" >&5 d=$with_kerberos/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -5124,7 +5148,7 @@ echo "configure:5129: checking for Kerberos headers" >&5 fi echo $ac_n "checking for Kerberos libs""... $ac_c" 1>&6 -echo "configure:5139: checking for Kerberos libs" >&5 +echo "configure:5163: checking for Kerberos libs" >&5 d=$with_kerberos/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -5149,8 +5173,8 @@ echo "configure:5139: checking for Kerberos libs" >&5 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then - echo $ac_n "checking for Kerberos""... $ac_c" 1>&6 -echo "configure:5165: checking for Kerberos" >&5 + echo $ac_n "checking for Kerberos 4""... $ac_c" 1>&6 +echo "configure:5189: checking for Kerberos 4" >&5 if eval "test \"`echo '$''{'ac_cv_kerberos'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5161,14 +5185,14 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < int main() { ; return 0; } EOF -if { (eval echo configure:5183: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5207: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_kerberos=yes else @@ -5182,22 +5206,78 @@ rm -f conftest* fi echo "$ac_t""$ac_cv_kerberos" 1>&6 + echo $ac_n "checking for Kerberos 5""... $ac_c" 1>&6 +echo "configure:5222: checking for Kerberos 5" >&5 +if eval "test \"`echo '$''{'ac_cv_kerberos5'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + ac_save_CPPFLAGS="$CPPFLAGS" + if test \! -z "$includedir" ; then + CPPFLAGS="$CPPFLAGS -I$includedir" + fi + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + cat > conftest.$ac_ext < +int main() { + +; return 0; } +EOF +if { (eval echo configure:5240: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_kerberos5=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_kerberos5=no +fi +rm -f conftest* + CPPFLAGS="$ac_save_CPPFLAGS" +fi + +echo "$ac_t""$ac_cv_kerberos5" 1>&6 + if test "$ac_cv_kerberos" = yes ; then have_kerberos=yes cat >> confdefs.h <<\EOF #define HAVE_KERBEROS 1 EOF + fi + if test "$ac_cv_kerberos5" = yes ; then + have_kerberos=yes + have_kerberos5=yes + cat >> confdefs.h <<\EOF +#define HAVE_KERBEROS 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_KERBEROS5 1 +EOF + + fi + + if test "$have_kerberos5" = yes ; then + # from Matt Knopp + # (who got it from amu@mit.edu) + PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err" + elif test "$have_kerberos" = yes ; then # from Tim Showalter PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes" + fi + + if test "$have_kerberos" = yes ; then echo $ac_n "checking for res_search""... $ac_c" 1>&6 -echo "configure:5207: checking for res_search" >&5 +echo "configure:5287: checking for res_search" >&5 if eval "test \"`echo '$''{'ac_cv_func_res_search'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_res_search=yes" else @@ -5238,7 +5318,7 @@ if eval "test \"`echo '$ac_cv_func_'res_search`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for res_search in -lresolv""... $ac_c" 1>&6 -echo "configure:5253: checking for res_search in -lresolv" >&5 +echo "configure:5333: checking for res_search in -lresolv" >&5 ac_lib_var=`echo resolv'_'res_search | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5246,7 +5326,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5281,7 +5361,6 @@ fi fi - fi fi @@ -5313,7 +5392,7 @@ fi /*) echo $ac_n "checking for shadow password headers""... $ac_c" 1>&6 -echo "configure:5328: checking for shadow password headers" >&5 +echo "configure:5407: checking for shadow password headers" >&5 d=$with_shadow/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -5323,7 +5402,7 @@ echo "configure:5328: checking for shadow password headers" >&5 fi echo $ac_n "checking for shadow password libs""... $ac_c" 1>&6 -echo "configure:5338: checking for shadow password libs" >&5 +echo "configure:5417: checking for shadow password libs" >&5 d=$with_shadow/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -5361,7 +5440,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for Sun-style shadow passwords""... $ac_c" 1>&6 -echo "configure:5376: checking for Sun-style shadow passwords" >&5 +echo "configure:5455: checking for Sun-style shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_sun_adjunct'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5372,7 +5451,7 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < #include @@ -5385,7 +5464,7 @@ struct passwd_adjunct *p = getpwanam("nobody"); const char *pw = p->pwa_passwd; ; return 0; } EOF -if { (eval echo configure:5400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5479: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sun_adjunct=yes else @@ -5415,7 +5494,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for DEC-style shadow passwords""... $ac_c" 1>&6 -echo "configure:5430: checking for DEC-style shadow passwords" >&5 +echo "configure:5509: checking for DEC-style shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_enhanced_passwd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5426,7 +5505,7 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < #include @@ -5443,7 +5522,7 @@ struct pr_passwd *p; pw = p->ufld.fd_encrypt; ; return 0; } EOF -if { (eval echo configure:5458: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_enhanced_passwd=yes else @@ -5467,7 +5546,7 @@ echo "$ac_t""$ac_cv_enhanced_passwd" 1>&6 # But on DEC, it's in -lsecurity. # echo $ac_n "checking for getprpwnam in -lprot""... $ac_c" 1>&6 -echo "configure:5482: checking for getprpwnam in -lprot" >&5 +echo "configure:5561: checking for getprpwnam in -lprot" >&5 ac_lib_var=`echo prot'_'getprpwnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5475,7 +5554,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lprot -lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5505,7 +5584,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6 -echo "configure:5520: checking for getprpwnam in -lsecurity" >&5 +echo "configure:5599: checking for getprpwnam in -lsecurity" >&5 ac_lib_var=`echo security'_'getprpwnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5513,7 +5592,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5557,7 +5636,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for HP-style shadow passwords""... $ac_c" 1>&6 -echo "configure:5572: checking for HP-style shadow passwords" >&5 +echo "configure:5651: checking for HP-style shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_hpux_passwd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5568,7 +5647,7 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < #include @@ -5581,7 +5660,7 @@ struct s_passwd *p = getspwnam("nobody"); const char *pw = p->pw_passwd; ; return 0; } EOF -if { (eval echo configure:5596: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_hpux_passwd=yes else @@ -5602,7 +5681,7 @@ echo "$ac_t""$ac_cv_hpux_passwd" 1>&6 # on HPUX, bigcrypt is in -lsec echo $ac_n "checking for bigcrypt in -lsec""... $ac_c" 1>&6 -echo "configure:5617: checking for bigcrypt in -lsec" >&5 +echo "configure:5696: checking for bigcrypt in -lsec" >&5 ac_lib_var=`echo sec'_'bigcrypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5610,7 +5689,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5659,7 +5738,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for FreeBSD-style shadow passwords""... $ac_c" 1>&6 -echo "configure:5674: checking for FreeBSD-style shadow passwords" >&5 +echo "configure:5753: checking for FreeBSD-style shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_master_passwd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5685,7 +5764,7 @@ fi if test "$with_shadow" = yes ; then echo $ac_n "checking for generic shadow passwords""... $ac_c" 1>&6 -echo "configure:5700: checking for generic shadow passwords" >&5 +echo "configure:5779: checking for generic shadow passwords" >&5 if eval "test \"`echo '$''{'ac_cv_shadow'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5696,7 +5775,7 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < #include @@ -5708,7 +5787,7 @@ struct spwd *p = getspnam("nobody"); const char *pw = p->sp_pwdp; ; return 0; } EOF -if { (eval echo configure:5723: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_shadow=yes else @@ -5729,7 +5808,7 @@ echo "$ac_t""$ac_cv_shadow" 1>&6 # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc. have_getspnam=no echo $ac_n "checking for getspnam in -lc""... $ac_c" 1>&6 -echo "configure:5744: checking for getspnam in -lc" >&5 +echo "configure:5823: checking for getspnam in -lc" >&5 ac_lib_var=`echo c'_'getspnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5737,7 +5816,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5770,7 +5849,7 @@ fi if test "$have_getspnam" = no ; then echo $ac_n "checking for getspnam in -lgen""... $ac_c" 1>&6 -echo "configure:5785: checking for getspnam in -lgen" >&5 +echo "configure:5864: checking for getspnam in -lgen" >&5 ac_lib_var=`echo gen'_'getspnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5778,7 +5857,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgen $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5825,7 +5904,7 @@ if test "$enable_locking" = yes ; then # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc. have_crypt=no echo $ac_n "checking for crypt in -lc""... $ac_c" 1>&6 -echo "configure:5840: checking for crypt in -lc" >&5 +echo "configure:5919: checking for crypt in -lc" >&5 ac_lib_var=`echo c'_'crypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5833,7 +5912,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5866,7 +5945,7 @@ fi if test "$have_crypt" = no ; then echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:5881: checking for crypt in -lcrypt" >&5 +echo "configure:5960: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5874,7 +5953,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5969,7 +6048,7 @@ fi /*) echo $ac_n "checking for Motif headers""... $ac_c" 1>&6 -echo "configure:5984: checking for Motif headers" >&5 +echo "configure:6063: checking for Motif headers" >&5 d=$with_motif/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -5979,7 +6058,7 @@ echo "configure:5984: checking for Motif headers" >&5 fi echo $ac_n "checking for Motif libs""... $ac_c" 1>&6 -echo "configure:5994: checking for Motif libs" >&5 +echo "configure:6073: checking for Motif libs" >&5 d=$with_motif/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -6018,17 +6097,17 @@ if test "$with_motif" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:6033: checking for Xm/Xm.h" >&5 +echo "configure:6112: checking for Xm/Xm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6043: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6122: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6067,17 +6146,17 @@ if test "$have_motif" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "Xm/ComboBox.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/ComboBox.h""... $ac_c" 1>&6 -echo "configure:6082: checking for Xm/ComboBox.h" >&5 +echo "configure:6161: checking for Xm/ComboBox.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6092: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6171: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6107,7 +6186,7 @@ fi ############################################################################### # -# Check for -lgtk. +# Check for -lgtk (and Gnome stuff) # ############################################################################### @@ -6140,7 +6219,7 @@ esac /*) echo $ac_n "checking for Gtk headers""... $ac_c" 1>&6 -echo "configure:6155: checking for Gtk headers" >&5 +echo "configure:6234: checking for Gtk headers" >&5 d=$with_gtk/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -6150,7 +6229,7 @@ echo "configure:6155: checking for Gtk headers" >&5 fi echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6 -echo "configure:6165: checking for Gtk libs" >&5 +echo "configure:6244: checking for Gtk libs" >&5 d=$with_gtk/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -6179,6 +6258,75 @@ if test "$with_gtk" != yes -a "$with_gtk" != no ; then exit 1 fi +have_gnome=no +with_gnome_req=unspecified +# Check whether --with-gnome or --without-gnome was given. +if test "${with_gnome+set}" = set; then + withval="$with_gnome" + with_gnome="$withval"; with_gnome_req="$withval" +else + with_gnome=yes +fi + + +# if --with-gnome=/directory/ was specified, remember that directory so that +# we can also look for the `gnome-config' program in that directory. +case "$with_gnome" in + /*) + gnome_dir="$with_gnome" + ;; + *) + gnome_dir="" + ;; +esac + + + case "$with_gnome" in + yes) ;; + no) ;; + + /*) + echo $ac_n "checking for Gnome headers""... $ac_c" 1>&6 +echo "configure:6302: checking for Gnome headers" >&5 + d=$with_gnome/include + if test -d $d; then + X_CFLAGS="-I$d $X_CFLAGS" + echo "$ac_t""$d" 1>&6 + else + echo "$ac_t""not found ($d: no such directory)" 1>&6 + fi + + echo $ac_n "checking for Gnome libs""... $ac_c" 1>&6 +echo "configure:6312: checking for Gnome libs" >&5 + d=$with_gnome/lib + if test -d $d; then + X_LIBS="-L$d $X_LIBS" + echo "$ac_t""$d" 1>&6 + else + echo "$ac_t""not found ($d: no such directory)" 1>&6 + fi + + # replace the directory string with "yes". + with_gnome_req="yes" + with_gnome=$with_gnome_req + ;; + + *) + echo "" + echo "error: argument to --with-gnome must be \"yes\", \"no\", or a directory." + echo " If it is a directory, then \`DIR/include' will be added to" + echo " the -I list, and \`DIR/lib' will be added to the -L list." + exit 1 + ;; + esac + + +if test "$with_gnome" != yes -a "$with_gnome" != no ; then + echo "error: must be yes or no: --with-gnome=$with_gnome" + exit 1 +fi + + jurassic_gtk=no if test "$with_gtk" = yes; then have_gtk=no @@ -6191,7 +6339,13 @@ if test "$with_gtk" = yes; then if test ! -z "$gtk_dir"; then # canonicalize slashes. gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'` - gtk_path="$gtk_dir:$gtk_dir:$gtk_path" + gtk_path="$gtk_dir:$gtk_path" + fi + + if test ! -z "gnome_dir"; then + # canonicalize slashes. + gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'` + gtk_path="$gnome_dir:$gtk_path" fi for ac_prog in glib-config @@ -6199,7 +6353,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6214: checking for $ac_word" >&5 +echo "configure:6368: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_glib_config'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6239,7 +6393,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6254: checking for $ac_word" >&5 +echo "configure:6408: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_gtk_config'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6275,12 +6429,59 @@ test -n "$gtk_config" && break done + if test "$with_gnome" = yes; then + for ac_prog in gnome-config +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6450: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_gnome_config'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$gnome_config" in + /*) + ac_cv_path_gnome_config="$gnome_config" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_gnome_config="$gnome_config" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$gtk_path" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_gnome_config="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +gnome_config="$ac_cv_path_gnome_config" +if test -n "$gnome_config"; then + echo "$ac_t""$gnome_config" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$gnome_config" && break +done + + fi + if test -n "$glib_config" -a -n "gtk_config" ; then have_gtk=yes + if test "$with_gnome" = yes -a -n "$gnome_config" ; then + have_gnome=yes + fi fi + if test "$have_gtk" = yes; then echo $ac_n "checking Gtk version number""... $ac_c" 1>&6 -echo "configure:6295: checking Gtk version number" >&5 +echo "configure:6496: checking Gtk version number" >&5 if eval "test \"`echo '$''{'ac_cv_gtk_version_string'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6302,12 +6503,14 @@ echo "$ac_t""$ac_cv_gtk_version_string" 1>&6 if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002 then have_gtk=no + have_gnome=no jurassic_gtk=yes fi fi + if test "$have_gtk" = yes; then echo $ac_n "checking for Gtk includes""... $ac_c" 1>&6 -echo "configure:6322: checking for Gtk includes" >&5 +echo "configure:6525: checking for Gtk includes" >&5 if eval "test \"`echo '$''{'ac_cv_gtk_config_cflags'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6316,7 +6519,7 @@ fi echo "$ac_t""$ac_cv_gtk_config_cflags" 1>&6 echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6 -echo "configure:6331: checking for Gtk libs" >&5 +echo "configure:6534: checking for Gtk libs" >&5 if eval "test \"`echo '$''{'ac_cv_gtk_config_libs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6324,13 +6527,87 @@ else fi echo "$ac_t""$ac_cv_gtk_config_libs" 1>&6 - INCLUDES="$INCLUDES $ac_cv_gtk_config_cflags" - GTK_LIBS="$GTK_LIBS $ac_cv_gtk_config_libs" + fi + ac_gtk_config_cflags=$ac_cv_gtk_config_cflags + ac_gtk_config_libs=$ac_cv_gtk_config_libs + + # Check for Gnome Capplet support. + # + if test "$have_gnome" = yes -a "$have_gtk" = yes; then + gnome_config_libs="capplet gnomeui" + echo $ac_n "checking for Gnome capplet includes""... $ac_c" 1>&6 +echo "configure:6551: checking for Gnome capplet includes" >&5 + if eval "test \"`echo '$''{'ac_cv_gnome_config_cflags'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \ + grep -q Unknown ) ; then + ac_cv_gnome_config_cflags='' + else + ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs` + fi +fi + + ac_gnome_config_cflags=$ac_cv_gnome_config_cflags + if test "$ac_gnome_config_cflags" = "" ; then + have_gnome=no + echo "$ac_t""no" 1>&6 + else + echo "$ac_t""$ac_gnome_config_cflags" 1>&6 + fi + fi + + if test "$have_gnome" = yes -a "$have_gtk" = yes; then + echo $ac_n "checking for Gnome capplet libs""... $ac_c" 1>&6 +echo "configure:6574: checking for Gnome capplet libs" >&5 + if eval "test \"`echo '$''{'ac_cv_gnome_config_libs'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if ( $gnome_config --libs $gnome_config_libs 2>&1 >/dev/null | + grep -q Unknown ) ; then + ac_cv_gnome_config_libs='' + else + ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs` + fi +fi + + ac_gnome_config_libs=$ac_cv_gnome_config_libs + if test "$ac_gnome_config_libs" = "" ; then + have_gnome=no + echo "$ac_t""no" 1>&6 + else + echo "$ac_t""$ac_gnome_config_libs" 1>&6 + fi + fi + + GNOME_DATADIR="" + if test "$have_gnome" = yes -a "$have_gtk" = yes; then + GNOME_DATADIR=`$gnome_config --datadir` + fi + + + # If we have Gnome, then override the gtk-config values with + # the gnome-config values. + # + if test "$have_gnome" = yes -a "$have_gtk" = yes; then + ac_gtk_config_cflags=$ac_gnome_config_cflags + ac_gtk_config_libs=$ac_gnome_config_libs + cat >> confdefs.h <<\EOF +#define HAVE_CRAPPLET 1 +EOF + + fi + + + if test "$have_gtk" = yes; then + INCLUDES="$INCLUDES $ac_gtk_config_cflags" + GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs" cat >> confdefs.h <<\EOF #define HAVE_GTK 1 EOF fi + fi @@ -6343,7 +6620,7 @@ fi have_lesstif=no if test "$have_motif" = yes ; then echo $ac_n "checking whether Motif is really LessTif""... $ac_c" 1>&6 -echo "configure:6358: checking whether Motif is really LessTif" >&5 +echo "configure:6635: checking whether Motif is really LessTif" >&5 if eval "test \"`echo '$''{'ac_cv_have_lesstif'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6354,14 +6631,14 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < int main() { long vers = LesstifVersion; ; return 0; } EOF -if { (eval echo configure:6376: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:6653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_have_lesstif=yes else @@ -6386,7 +6663,7 @@ if test "$have_lesstif" = yes ; then ltv=unknown echo unknown > conftest-lt echo $ac_n "checking LessTif version number""... $ac_c" 1>&6 -echo "configure:6401: checking LessTif version number" >&5 +echo "configure:6678: checking LessTif version number" >&5 if eval "test \"`echo '$''{'ac_cv_lesstif_version_string'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6401,7 +6678,7 @@ else ac_cv_lesstif_version_string=unknown else cat > conftest.$ac_ext < #include @@ -6414,7 +6691,7 @@ else exit(0); } EOF -if { (eval echo configure:6429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ltv=`cat conftest-lt` ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'` @@ -6444,7 +6721,7 @@ if test "$have_motif" = yes ; then mtv=unknown echo unknown > conftest-mt echo $ac_n "checking Motif version number""... $ac_c" 1>&6 -echo "configure:6459: checking Motif version number" >&5 +echo "configure:6736: checking Motif version number" >&5 if eval "test \"`echo '$''{'ac_cv_motif_version_string'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6459,7 +6736,7 @@ else ac_cv_motif_version_string=unknown else cat > conftest.$ac_ext < #include @@ -6472,7 +6749,7 @@ else exit(0); } EOF -if { (eval echo configure:6487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then mtv=`cat conftest-mt` ac_cv_motif_version=`echo $mtv | sed 's/ .*//'` @@ -6516,7 +6793,7 @@ fi motif_requires_xpm=no if test "$have_motif" = yes ; then echo $ac_n "checking whether Motif requires XPM""... $ac_c" 1>&6 -echo "configure:6531: checking whether Motif requires XPM" >&5 +echo "configure:6808: checking whether Motif requires XPM" >&5 if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000 then motif_requires_xpm=yes @@ -6558,7 +6835,7 @@ if test "$have_motif" = yes ; then LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XpQueryExtension in -lXp""... $ac_c" 1>&6 -echo "configure:6573: checking for XpQueryExtension in -lXp" >&5 +echo "configure:6850: checking for XpQueryExtension in -lXp" >&5 ac_lib_var=`echo Xp'_'XpQueryExtension | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6566,7 +6843,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXp -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6631,7 +6908,7 @@ if test "$have_motif" = yes ; then LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for _Xsetlocale in -lXintl""... $ac_c" 1>&6 -echo "configure:6646: checking for _Xsetlocale in -lXintl" >&5 +echo "configure:6923: checking for _Xsetlocale in -lXintl" >&5 ac_lib_var=`echo Xintl'_'_Xsetlocale | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6639,7 +6916,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXintl -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6707,7 +6984,7 @@ fi /*) echo $ac_n "checking for GL headers""... $ac_c" 1>&6 -echo "configure:6722: checking for GL headers" >&5 +echo "configure:6999: checking for GL headers" >&5 d=$with_gl/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -6717,7 +6994,7 @@ echo "configure:6722: checking for GL headers" >&5 fi echo $ac_n "checking for GL libs""... $ac_c" 1>&6 -echo "configure:6732: checking for GL libs" >&5 +echo "configure:7009: checking for GL libs" >&5 d=$with_gl/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -6753,17 +7030,17 @@ if test "$with_gl" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "GL/gl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for GL/gl.h""... $ac_c" 1>&6 -echo "configure:6768: checking for GL/gl.h" >&5 +echo "configure:7045: checking for GL/gl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6778: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7055: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6794,17 +7071,17 @@ fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "GL/glx.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for GL/glx.h""... $ac_c" 1>&6 -echo "configure:6809: checking for GL/glx.h" >&5 +echo "configure:7086: checking for GL/glx.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6819: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7096: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6836,7 +7113,7 @@ fi # to link against. # echo $ac_n "checking whether GL is really MesaGL""... $ac_c" 1>&6 -echo "configure:6851: checking whether GL is really MesaGL" >&5 +echo "configure:7128: checking whether GL is really MesaGL" >&5 if eval "test \"`echo '$''{'ac_cv_have_mesa_gl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6848,7 +7125,7 @@ else fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" cat > conftest.$ac_ext < EOF @@ -6877,7 +7154,7 @@ echo "$ac_t""$ac_cv_have_mesa_gl" 1>&6 # if test "$ac_have_mesa_gl" = yes; then echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 -echo "configure:6892: checking for pthread_create in -lpthread" >&5 +echo "configure:7169: checking for pthread_create in -lpthread" >&5 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6885,7 +7162,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6943,7 +7220,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for glXCreateContext in -lMesaGL""... $ac_c" 1>&6 -echo "configure:6958: checking for glXCreateContext in -lMesaGL" >&5 +echo "configure:7235: checking for glXCreateContext in -lMesaGL" >&5 ac_lib_var=`echo MesaGL'_'glXCreateContext | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6951,7 +7228,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lMesaGL -lMesaGLU $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7008,7 +7285,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for glXCreateContext in -lGL""... $ac_c" 1>&6 -echo "configure:7023: checking for glXCreateContext in -lGL" >&5 +echo "configure:7300: checking for glXCreateContext in -lGL" >&5 ac_lib_var=`echo GL'_'glXCreateContext | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7016,7 +7293,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lGL -lGLU $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7085,12 +7362,12 @@ EOF if test "$ac_have_mesa_gl" = yes; then echo $ac_n "checking MesaGL version number""... $ac_c" 1>&6 -echo "configure:7100: checking MesaGL version number" >&5 +echo "configure:7377: checking MesaGL version number" >&5 if eval "test \"`echo '$''{'ac_cv_mesagl_version_string'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION @@ -7156,7 +7433,7 @@ echo "$ac_t""$ac_cv_mesagl_version_string" 1>&6 LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for glBindTexture in -l$gl_lib_1""... $ac_c" 1>&6 -echo "configure:7171: checking for glBindTexture in -l$gl_lib_1" >&5 +echo "configure:7448: checking for glBindTexture in -l$gl_lib_1" >&5 ac_lib_var=`echo $gl_lib_1'_'glBindTexture | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7164,7 +7441,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$gl_lib_1 $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7209,7 +7486,7 @@ fi # See comments in utils/visual-gl.c for why this is sometimes necessary. # echo $ac_n "checking whether drastic GL measures must be taken""... $ac_c" 1>&6 -echo "configure:7224: checking whether drastic GL measures must be taken" >&5 +echo "configure:7501: checking whether drastic GL measures must be taken" >&5 case "$host" in *-sgi*) echo "$ac_t""yes -- hello, SGI." 1>&6 @@ -7262,7 +7539,7 @@ fi /*) echo $ac_n "checking for GLE headers""... $ac_c" 1>&6 -echo "configure:7277: checking for GLE headers" >&5 +echo "configure:7554: checking for GLE headers" >&5 d=$with_gle/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -7272,7 +7549,7 @@ echo "configure:7277: checking for GLE headers" >&5 fi echo $ac_n "checking for GLE libs""... $ac_c" 1>&6 -echo "configure:7287: checking for GLE libs" >&5 +echo "configure:7564: checking for GLE libs" >&5 d=$with_gle/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -7308,17 +7585,17 @@ if test "$with_gle" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "GL/gutil.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for GL/gutil.h""... $ac_c" 1>&6 -echo "configure:7323: checking for GL/gutil.h" >&5 +echo "configure:7600: checking for GL/gutil.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7610: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7349,17 +7626,17 @@ fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "GL/tube.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for GL/tube.h""... $ac_c" 1>&6 -echo "configure:7364: checking for GL/tube.h" >&5 +echo "configure:7641: checking for GL/tube.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7374: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7651: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7404,7 +7681,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for gleCreateGC in -lgle""... $ac_c" 1>&6 -echo "configure:7419: checking for gleCreateGC in -lgle" >&5 +echo "configure:7696: checking for gleCreateGC in -lgle" >&5 ac_lib_var=`echo gle'_'gleCreateGC | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7412,7 +7689,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7482,7 +7759,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for uview_direction_d in -lmatrix""... $ac_c" 1>&6 -echo "configure:7497: checking for uview_direction_d in -lmatrix" >&5 +echo "configure:7774: checking for uview_direction_d in -lmatrix" >&5 ac_lib_var=`echo matrix'_'uview_direction_d | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7490,7 +7767,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lmatrix $GL_LIBS -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7568,7 +7845,7 @@ fi /*) echo $ac_n "checking for XPM headers""... $ac_c" 1>&6 -echo "configure:7583: checking for XPM headers" >&5 +echo "configure:7860: checking for XPM headers" >&5 d=$with_xpm/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -7578,7 +7855,7 @@ echo "configure:7583: checking for XPM headers" >&5 fi echo $ac_n "checking for XPM libs""... $ac_c" 1>&6 -echo "configure:7593: checking for XPM libs" >&5 +echo "configure:7870: checking for XPM libs" >&5 d=$with_xpm/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -7611,17 +7888,17 @@ if test "$with_xpm" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/xpm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/xpm.h""... $ac_c" 1>&6 -echo "configure:7626: checking for X11/xpm.h" >&5 +echo "configure:7903: checking for X11/xpm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7636: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7913: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7687,7 +7964,7 @@ fi /*) echo $ac_n "checking for XSHM headers""... $ac_c" 1>&6 -echo "configure:7702: checking for XSHM headers" >&5 +echo "configure:7979: checking for XSHM headers" >&5 d=$with_xshm/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -7697,7 +7974,7 @@ echo "configure:7702: checking for XSHM headers" >&5 fi echo $ac_n "checking for XSHM libs""... $ac_c" 1>&6 -echo "configure:7712: checking for XSHM libs" >&5 +echo "configure:7989: checking for XSHM libs" >&5 d=$with_xshm/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -7732,17 +8009,17 @@ if test "$with_xshm" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/XShm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/XShm.h""... $ac_c" 1>&6 -echo "configure:7747: checking for X11/extensions/XShm.h" >&5 +echo "configure:8024: checking for X11/extensions/XShm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7757: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8034: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7776,17 +8053,17 @@ fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6 -echo "configure:7791: checking for sys/ipc.h" >&5 +echo "configure:8068: checking for sys/ipc.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7801: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7821,17 +8098,17 @@ fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "sys/shm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/shm.h""... $ac_c" 1>&6 -echo "configure:7836: checking for sys/shm.h" >&5 +echo "configure:8113: checking for sys/shm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7846: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7883,7 +8160,7 @@ fi LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS" echo $ac_n "checking for XShmQueryExtension in -lXextSam""... $ac_c" 1>&6 -echo "configure:7898: checking for XShmQueryExtension in -lXextSam" >&5 +echo "configure:8175: checking for XShmQueryExtension in -lXextSam" >&5 ac_lib_var=`echo XextSam'_'XShmQueryExtension | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7891,7 +8168,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXextSam -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7969,7 +8246,7 @@ fi /*) echo $ac_n "checking for DOUBLE-BUFFER headers""... $ac_c" 1>&6 -echo "configure:7984: checking for DOUBLE-BUFFER headers" >&5 +echo "configure:8261: checking for DOUBLE-BUFFER headers" >&5 d=$with_xdbe/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -7979,7 +8256,7 @@ echo "configure:7984: checking for DOUBLE-BUFFER headers" >&5 fi echo $ac_n "checking for DOUBLE-BUFFER libs""... $ac_c" 1>&6 -echo "configure:7994: checking for DOUBLE-BUFFER libs" >&5 +echo "configure:8271: checking for DOUBLE-BUFFER libs" >&5 d=$with_xdbe/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -8013,17 +8290,17 @@ if test "$with_xdbe" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/Xdbe.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/Xdbe.h""... $ac_c" 1>&6 -echo "configure:8028: checking for X11/extensions/Xdbe.h" >&5 +echo "configure:8305: checking for X11/extensions/Xdbe.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8038: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8086,7 +8363,7 @@ fi /*) echo $ac_n "checking for XReadDisplay headers""... $ac_c" 1>&6 -echo "configure:8101: checking for XReadDisplay headers" >&5 +echo "configure:8378: checking for XReadDisplay headers" >&5 d=$with_readdisplay/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -8096,7 +8373,7 @@ echo "configure:8101: checking for XReadDisplay headers" >&5 fi echo $ac_n "checking for XReadDisplay libs""... $ac_c" 1>&6 -echo "configure:8111: checking for XReadDisplay libs" >&5 +echo "configure:8388: checking for XReadDisplay libs" >&5 d=$with_readdisplay/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -8129,17 +8406,17 @@ if test "$with_readdisplay" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "X11/extensions/readdisplay.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/readdisplay.h""... $ac_c" 1>&6 -echo "configure:8144: checking for X11/extensions/readdisplay.h" >&5 +echo "configure:8421: checking for X11/extensions/readdisplay.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8154: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8431: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8194,7 +8471,7 @@ fi /*) echo $ac_n "checking for Iris Video headers""... $ac_c" 1>&6 -echo "configure:8209: checking for Iris Video headers" >&5 +echo "configure:8486: checking for Iris Video headers" >&5 d=$with_sgivideo/include if test -d $d; then X_CFLAGS="-I$d $X_CFLAGS" @@ -8204,7 +8481,7 @@ echo "configure:8209: checking for Iris Video headers" >&5 fi echo $ac_n "checking for Iris Video libs""... $ac_c" 1>&6 -echo "configure:8219: checking for Iris Video libs" >&5 +echo "configure:8496: checking for Iris Video libs" >&5 d=$with_sgivideo/lib if test -d $d; then X_LIBS="-L$d $X_LIBS" @@ -8237,17 +8514,17 @@ if test "$with_sgivideo" = yes; then CPPFLAGS="$CPPFLAGS $X_CFLAGS" ac_safe=`echo "dmedia/vl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dmedia/vl.h""... $ac_c" 1>&6 -echo "configure:8252: checking for dmedia/vl.h" >&5 +echo "configure:8529: checking for dmedia/vl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8262: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8272,7 +8549,7 @@ fi if test "$have_sgivideo" = yes; then have_sgivideo=no echo $ac_n "checking for vlOpenVideo in -lvl""... $ac_c" 1>&6 -echo "configure:8287: checking for vlOpenVideo in -lvl" >&5 +echo "configure:8564: checking for vlOpenVideo in -lvl" >&5 ac_lib_var=`echo vl'_'vlOpenVideo | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -8280,7 +8557,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lvl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8362,7 +8639,7 @@ if test -n "$with_zippy_req" ; then case "$with_zippy_req" in /*) echo $ac_n "checking for $with_zippy_req""... $ac_c" 1>&6 -echo "configure:8377: checking for $with_zippy_req" >&5 +echo "configure:8654: checking for $with_zippy_req" >&5 if test -x "$with_zippy_req" ; then echo "$ac_t""yes" 1>&6 else @@ -8376,7 +8653,7 @@ echo "configure:8377: checking for $with_zippy_req" >&5 # Extract the first word of "$with_zippy_req", so it can be a program name with args. set dummy $with_zippy_req; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8391: checking for $ac_word" >&5 +echo "configure:8668: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_zip2'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8426,7 +8703,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8441: checking for $ac_word" >&5 +echo "configure:8718: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_emacs_exe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8460,7 +8737,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8475: checking for $ac_word" >&5 +echo "configure:8752: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_xemacs_exe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8495,7 +8772,7 @@ done if test -n "$emacs_exe" ; then echo $ac_n "checking for emacs yow""... $ac_c" 1>&6 -echo "configure:8510: checking for emacs yow" >&5 +echo "configure:8787: checking for emacs yow" >&5 # # get emacs to tell us where the libexec directory is. # @@ -8517,7 +8794,7 @@ echo "configure:8510: checking for emacs yow" >&5 if test -z "$ac_cv_zippy_program" ; then echo $ac_n "checking for xemacs yow""... $ac_c" 1>&6 -echo "configure:8532: checking for xemacs yow" >&5 +echo "configure:8809: checking for xemacs yow" >&5 if test -n "$xemacs_exe" ; then # # get xemacs to tell us where the libexec directory is. @@ -8576,7 +8853,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8591: checking for $ac_word" >&5 +echo "configure:8868: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_fortune'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8612,7 +8889,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8627: checking for $ac_word" >&5 +echo "configure:8904: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_fortune'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8782,6 +9059,7 @@ fi + APPDEFAULTS=$ac_x_app_defaults @@ -8948,6 +9226,7 @@ s%@X_LIBS@%$X_LIBS%g s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g s%@glib_config@%$glib_config%g s%@gtk_config@%$gtk_config%g +s%@gnome_config@%$gnome_config%g s%@zip2@%$zip2%g s%@emacs_exe@%$emacs_exe%g s%@xemacs_exe@%$xemacs_exe%g @@ -8985,6 +9264,7 @@ s%@GLE_EXES@%$GLE_EXES%g s%@GLE_MEN@%$GLE_MEN%g s%@GLE_KLUDGE@%$GLE_KLUDGE%g s%@HACKDIR@%$HACKDIR%g +s%@GNOME_DATADIR@%$GNOME_DATADIR%g s%@APPDEFAULTS@%$APPDEFAULTS%g s%@DEPEND@%$DEPEND%g s%@DEPEND_FLAGS@%$DEPEND_FLAGS%g @@ -9334,6 +9614,12 @@ elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then fi +if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then + warn 'Use of the Gnome Control Panel was requested, but the necessary' + warn2 'headers and/or libraries were not found.' +fi + + if test "$have_motif" = yes -a "$have_lesstif" = yes ; then preferred_lesstif=0.86 @@ -9516,7 +9802,7 @@ do_dir_warning=no # M4 sucks!! rpmv=`(rpm -qv xscreensaver) 2>&- | \ - sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-[0-9][0-9]*$/\1/'` + sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/'` if test \! -z "$rpmv" ; then @@ -9547,15 +9833,15 @@ fi # Warn about egregious GNOME bogosity. # -if (rpm -qv control-center) >&- 2>&- ; then - warning=no - warnL "The Gnome Control Center seems to be installed." - echo "" - warn2 "Note that simply installing this version of xscreensaver" - warn2 "will not cause GNOME to know about the newly-added display" - warn2 "modes -- GNOME is just lame that way. Instead of using the" - warn2 "Control Center, try using the \`xscreensaver-demo' command." -fi +#if (rpm -qv control-center) >&- 2>&- ; then +# warning=no +# warnL "The Gnome Control Center seems to be installed." +# echo "" +# warn2 "Note that simply installing this version of xscreensaver" +# warn2 "will not cause GNOME to know about the newly-added display" +# warn2 "modes -- GNOME is just lame that way. Instead of using the" +# warn2 "Control Center, try using the \`xscreensaver-demo' command." +#fi if test "${bindir}" = "${HACKDIR}" ; then diff --git a/configure.in b/configure.in index 15c96359..57529eb7 100644 --- a/configure.in +++ b/configure.in @@ -193,6 +193,26 @@ AC_DEFUN(AC_PROG_PERL, ]) +############################################################################### +# +# Function to demand "bc". Losers. +# +############################################################################### + +AC_DEFUN(AC_DEMAND_BC, + [ac_bc_result=`echo 6+9 | bc 2>/dev/null` + AC_MSG_CHECKING([for bc]) + if test "$ac_bc_result" = "15" ; then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + echo '' + AC_MSG_ERROR([Your system doesn't have \"bc\", which has been a standard + part of Unix since the 1970s. Come back when your vendor + has grown a clue.]) + fi + ]) + ############################################################################### # # Functions to check how to do ICMP PING requests. @@ -657,6 +677,7 @@ AC_PROG_CC_ANSI AC_PROG_CPP AC_C_CONST AC_C_INLINE +AC_DEMAND_BC # stuff for Makefiles AC_PROG_INSTALL @@ -1222,6 +1243,7 @@ fi ############################################################################### have_kerberos=no +have_kerberos5=no with_kerberos_req=unspecified AC_ARG_WITH(kerberos, @@ -1231,21 +1253,41 @@ AC_ARG_WITH(kerberos, HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos) if test "$enable_locking" = yes -a "$with_kerberos" = yes; then - AC_CACHE_CHECK([for Kerberos], ac_cv_kerberos, + AC_CACHE_CHECK([for Kerberos 4], ac_cv_kerberos, [AC_TRY_X_COMPILE([#include ],, [ac_cv_kerberos=yes], [ac_cv_kerberos=no])]) + AC_CACHE_CHECK([for Kerberos 5], ac_cv_kerberos5, + [AC_TRY_X_COMPILE([#include ],, + [ac_cv_kerberos5=yes], + [ac_cv_kerberos5=no])]) + if test "$ac_cv_kerberos" = yes ; then have_kerberos=yes AC_DEFINE(HAVE_KERBEROS) + fi + + if test "$ac_cv_kerberos5" = yes ; then + have_kerberos=yes + have_kerberos5=yes + AC_DEFINE(HAVE_KERBEROS) + AC_DEFINE(HAVE_KERBEROS5) + fi + if test "$have_kerberos5" = yes ; then + # from Matt Knopp + # (who got it from amu@mit.edu) + PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err" + elif test "$have_kerberos" = yes ; then # from Tim Showalter PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes" + fi + + if test "$have_kerberos" = yes ; then AC_CHECK_FUNC(res_search,, AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv", AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos]) )) - fi fi @@ -1503,7 +1545,7 @@ fi ############################################################################### # -# Check for -lgtk. +# Check for -lgtk (and Gnome stuff) # ############################################################################### @@ -1531,6 +1573,31 @@ if test "$with_gtk" != yes -a "$with_gtk" != no ; then exit 1 fi +have_gnome=no +with_gnome_req=unspecified +AC_ARG_WITH(gnome, +[ --with-gnome Include support for the Gnome Control Center.], + [with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes]) + +# if --with-gnome=/directory/ was specified, remember that directory so that +# we can also look for the `gnome-config' program in that directory. +case "$with_gnome" in + /*) + gnome_dir="$with_gnome" + ;; + *) + gnome_dir="" + ;; +esac + +HANDLE_X_PATH_ARG(with_gnome, --with-gnome, Gnome) + +if test "$with_gnome" != yes -a "$with_gnome" != no ; then + echo "error: must be yes or no: --with-gnome=$with_gnome" + exit 1 +fi + + jurassic_gtk=no if test "$with_gtk" = yes; then have_gtk=no @@ -1543,15 +1610,29 @@ if test "$with_gtk" = yes; then if test ! -z "$gtk_dir"; then # canonicalize slashes. gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'` - gtk_path="$gtk_dir:$gtk_dir:$gtk_path" + gtk_path="$gtk_dir:$gtk_path" fi - AC_PATH_PROGS(glib_config, glib-config,, $gtk_path) - AC_PATH_PROGS(gtk_config, gtk-config,, $gtk_path) + if test ! -z "gnome_dir"; then + # canonicalize slashes. + gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'` + gtk_path="$gnome_dir:$gtk_path" + fi + + AC_PATH_PROGS(glib_config, glib-config,, $gtk_path) + AC_PATH_PROGS(gtk_config, gtk-config,, $gtk_path) + + if test "$with_gnome" = yes; then + AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path) + fi if test -n "$glib_config" -a -n "gtk_config" ; then have_gtk=yes + if test "$with_gnome" = yes -a -n "$gnome_config" ; then + have_gnome=yes + fi fi + if test "$have_gtk" = yes; then AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string, [ac_cv_gtk_version_string=`$glib_config --version`]) @@ -1569,18 +1650,81 @@ if test "$with_gtk" = yes; then if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002 then have_gtk=no + have_gnome=no jurassic_gtk=yes fi fi + if test "$have_gtk" = yes; then AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags, [ac_cv_gtk_config_cflags=`$gtk_config --cflags`]) AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs, [ac_cv_gtk_config_libs=`$gtk_config --libs`]) - INCLUDES="$INCLUDES $ac_cv_gtk_config_cflags" - GTK_LIBS="$GTK_LIBS $ac_cv_gtk_config_libs" + fi + ac_gtk_config_cflags=$ac_cv_gtk_config_cflags + ac_gtk_config_libs=$ac_cv_gtk_config_libs + + # Check for Gnome Capplet support. + # + if test "$have_gnome" = yes -a "$have_gtk" = yes; then + gnome_config_libs="capplet gnomeui" + AC_MSG_CHECKING(for Gnome capplet includes) + AC_CACHE_VAL(ac_cv_gnome_config_cflags, + [if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \ + grep -q Unknown ) ; then + ac_cv_gnome_config_cflags='' + else + ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs` + fi]) + ac_gnome_config_cflags=$ac_cv_gnome_config_cflags + if test "$ac_gnome_config_cflags" = "" ; then + have_gnome=no + AC_MSG_RESULT(no) + else + AC_MSG_RESULT($ac_gnome_config_cflags) + fi + fi + + if test "$have_gnome" = yes -a "$have_gtk" = yes; then + AC_MSG_CHECKING(for Gnome capplet libs) + AC_CACHE_VAL(ac_cv_gnome_config_libs, + [if ( $gnome_config --libs $gnome_config_libs 2>&1 >/dev/null | + grep -q Unknown ) ; then + ac_cv_gnome_config_libs='' + else + ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs` + fi]) + ac_gnome_config_libs=$ac_cv_gnome_config_libs + if test "$ac_gnome_config_libs" = "" ; then + have_gnome=no + AC_MSG_RESULT(no) + else + AC_MSG_RESULT($ac_gnome_config_libs) + fi + fi + + GNOME_DATADIR="" + if test "$have_gnome" = yes -a "$have_gtk" = yes; then + GNOME_DATADIR=`$gnome_config --datadir` + fi + + + # If we have Gnome, then override the gtk-config values with + # the gnome-config values. + # + if test "$have_gnome" = yes -a "$have_gtk" = yes; then + ac_gtk_config_cflags=$ac_gnome_config_cflags + ac_gtk_config_libs=$ac_gnome_config_libs + AC_DEFINE(HAVE_CRAPPLET) + fi + + + if test "$have_gtk" = yes; then + INCLUDES="$INCLUDES $ac_gtk_config_cflags" + GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs" AC_DEFINE(HAVE_GTK) fi + fi @@ -2429,6 +2573,7 @@ AC_SUBST(GLE_EXES) AC_SUBST(GLE_MEN) AC_SUBST(GLE_KLUDGE) AC_SUBST(HACKDIR) +AC_SUBST(GNOME_DATADIR) APPDEFAULTS=$ac_x_app_defaults AC_SUBST(APPDEFAULTS) @@ -2565,6 +2710,12 @@ elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then fi +if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then + warn 'Use of the Gnome Control Panel was requested, but the necessary' + warn2 'headers and/or libraries were not found.' +fi + + if test "$have_motif" = yes -a "$have_lesstif" = yes ; then preferred_lesstif=0.86 @@ -2747,7 +2898,7 @@ do_dir_warning=no # M4 sucks!! changequote(X,Y) rpmv=`(rpm -qv xscreensaver) 2>&- | \ - sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-[0-9][0-9]*$/\1/'` + sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/'` changequote([,]) if test \! -z "$rpmv" ; then @@ -2778,15 +2929,15 @@ fi # Warn about egregious GNOME bogosity. # -if (rpm -qv control-center) >&- 2>&- ; then - warning=no - warnL "The Gnome Control Center seems to be installed." - echo "" - warn2 "Note that simply installing this version of xscreensaver" - warn2 "will not cause GNOME to know about the newly-added display" - warn2 "modes -- GNOME is just lame that way. Instead of using the" - warn2 "Control Center, try using the \`xscreensaver-demo' command." -fi +#if (rpm -qv control-center) >&- 2>&- ; then +# warning=no +# warnL "The Gnome Control Center seems to be installed." +# echo "" +# warn2 "Note that simply installing this version of xscreensaver" +# warn2 "will not cause GNOME to know about the newly-added display" +# warn2 "modes -- GNOME is just lame that way. Instead of using the" +# warn2 "Control Center, try using the \`xscreensaver-demo' command." +#fi if test "${bindir}" = "${HACKDIR}" ; then diff --git a/driver/Makefile.in b/driver/Makefile.in index 11e3c322..393bc218 100644 --- a/driver/Makefile.in +++ b/driver/Makefile.in @@ -16,6 +16,10 @@ mandir = @mandir@ man1dir = $(mandir)/man1 mansuffix = 1 +GNOME_DATADIR = @GNOME_DATADIR@ +GNOME_CCDIR = $(GNOME_DATADIR)/control-center/Desktop +GNOME_PANELDIR = $(GNOME_DATADIR)/gnome/apps/Settings/Desktop + CC = @CC@ CFLAGS = @CFLAGS@ LDFLAGS = @LDFLAGS@ @@ -153,7 +157,8 @@ MEN = xscreensaver.man xscreensaver-demo.man \ ALL_MEN = xscreensaver.man \ xscreensaver-demo.man xscreensaver-command.man EXTRAS = README Makefile.in XScreenSaver.ad.in xscreensaver.pam \ - xscreensaver.kss xscreensaver-demo.glade .gdbinit + xscreensaver.kss xscreensaver-demo.glade \ + screensaver-properties.desktop.in .gdbinit VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \ vms-getpwnam.c vms-pwd.h vms-hpwd.c vms-validate.c \ vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt @@ -167,8 +172,10 @@ TARFILES = $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) \ default: $(EXES) all: $(EXES) $(EXES2) -install: install-program install-ad install-kde install-man @INSTALL_PAM@ -uninstall: uninstall-program uninstall-ad uninstall-kde uninstall-man +install: install-program install-ad install-gnome install-kde \ + install-man @INSTALL_PAM@ +uninstall: uninstall-program uninstall-ad uninstall-gnome uninstall-kde \ + uninstall-man install-strip: $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \ @@ -315,6 +322,26 @@ install-pam: fi ; \ fi +install-gnome: screensaver-properties.desktop + @if [ "$(GNOME_DATADIR)" != "" ]; then \ + echo $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \ + $(GNOME_CCDIR)/screensaver-properties.desktop ; \ + $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \ + $(GNOME_CCDIR)/screensaver-properties.desktop ; \ + echo $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \ + $(GNOME_PANELDIR)/screensaver-properties.desktop ; \ + $(INSTALL_DATA) $(srcdir)/screensaver-properties.desktop \ + $(GNOME_PANELDIR)/screensaver-properties.desktop ; \ + fi + +uninstall-gnome: + @if [ "$(GNOME_DATADIR)" != "" ]; then \ + echo rm -f $(GNOME_CCDIR)/screensaver-properties.desktop ; \ + rm -f $(GNOME_CCDIR)/screensaver-properties.desktop ; \ + echo rm -f $(GNOME_PANELDIR)/screensaver-properties.desktop ; \ + rm -f $(GNOME_PANELDIR)/screensaver-properties.desktop ; \ + fi + install-kde: @src="$(srcdir)/xscreensaver.kss" ; \ if [ "$$KDEDIR" != "" ]; then \ @@ -394,7 +421,7 @@ update_ad_version:: @S=XScreenSaver.ad.in ; \ U=$(UTILS_SRC)/version.h ; \ V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ; \ - D=`date '+%d-%b-%y'` ; \ + D=`date '+%d-%b-%Y'` ; \ echo -n "Updating version number in $$S to $$V $$D... " ; \ T=/tmp/xs.$$$$ ; \ sed -e "s/\(.*version \)[0-9][0-9]*\.[0-9]*\(.*\)/\1$$V\2/" \ @@ -412,7 +439,7 @@ update_man_version:: @for S in $(MEN); do \ U=$(UTILS_SRC)/version.h ; \ V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ; \ - V="`date '+%d-%b-%y'` ($$V)" ; \ + V="`date '+%d-%b-%Y'` ($$V)" ; \ echo -n "Updating footer in $$S to \"$$V\"... " ; \ T=/tmp/xs.$$$$ ; \ sed "s/^\(\.TH[^\"]*\)\"[^\"]*\"\(.*\)/\1\"$$V\"\2/" \ @@ -468,6 +495,12 @@ subprocs.o: subprocs.c XScreenSaver_ad.h: XScreenSaver.ad $(SHELL) $(UTILS_SRC)/ad2c XScreenSaver.ad > XScreenSaver_ad.h +screensaver-properties.desktop: screensaver-properties.desktop.in Makefile + @echo generating $@... ; \ + sed "s%[@]bindir[@]%${bindir}%g" \ + < ${srcdir}/screensaver-properties.desktop.in \ + > $@ + # The executables linked in this directory. # xscreensaver: $(SAVER_OBJS) diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in index cc1d0685..4dd691ff 100644 --- a/driver/XScreenSaver.ad.in +++ b/driver/XScreenSaver.ad.in @@ -4,8 +4,8 @@ ! a screen saver and locker for the X window system ! by Jamie Zawinski ! -! version 3.23 -! 30-Jan-00 +! version 3.24 +! 03-Apr-200000 ! ! See "man xscreensaver" for more info. The latest version is always ! available at http://www.jwz.org/xscreensaver/ @@ -17,6 +17,17 @@ ! your home directory, the settings in that file take precedence. +! Don't hand this file to "xrdb" -- that isn't how app-defaults files work. +! Though app-defaults files have (mostly) the same syntax as your ~/.Xdefaults +! file, they are used differently, and if you run this file through xrdb, +! you will probably mess things up. + +#error Do not run app-defaults files through xrdb! +#error That does not do what you might expect. +#error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead. + +! /* (xrdb prevention kludge: whole file) + *timeout: 10 *cycle: 10 *lockTimeout: 0 @@ -263,6 +274,7 @@ -texture_quality -light -fog \n\ @GLE_KLUDGE@GL: extrusion -root \n\ @GL_KLUDGE@ GL: sierpinski3d -root \n\ +@GL_KLUDGE@ GL: starwars -root \n\ \ - xdaliclock -root -builtin3 -cycle \n\ - default-n: xearth -nofork -nostars -ncolors 50 \ @@ -273,7 +285,7 @@ - "XMountains (top)" xmountains -b -M -Z 0 -r 1 -m \n\ - xaos -root -autopilot -incoloring -1 \ -nogui -outcoloring -1 \n\ -- xfishtank -d \n\ +- xfishtank -d -s \n\ - xsnow \n\ - goban -root \n\ - electricsheep \n @@ -519,11 +531,6 @@ XScreenSaver*doc.fontList: *-helvetica-medium-r-*-*-*-100-*-*-*-iso8859-1 ! sanity check -- hands off. *hacks.documentation.isInstalled: True -*hacks.grav.documentation: \ -This program draws a simple orbital simulation. If you turn on \ -trails, it looks kind of like a cloud-chamber photograph. Written by \ -Greg Bowering. - *hacks.qix.documentation: \ This is the swiss army chainsaw of qix programs. It bounces a series \ of line segments around the screen, and uses variations on this basic \ @@ -1262,3 +1269,5 @@ connection to the Internet. \ By Scott Draves. You can find it at . \ See that web site for configuration information. + +! (xrdb prevention kludge: whole file) */ diff --git a/driver/XScreenSaver_ad.h b/driver/XScreenSaver_ad.h index 8ed41bbf..667edf90 100644 --- a/driver/XScreenSaver_ad.h +++ b/driver/XScreenSaver_ad.h @@ -1,3 +1,6 @@ +"#error Do not run app-defaults files through xrdb!", +"#error That does not do what you might expect.", +"#error Put this file in /usr/lib/X11/app-defaults/XScreenSaver instead.", "*timeout: 10", "*cycle: 10", "*lockTimeout: 0", @@ -175,6 +178,7 @@ -texture_quality -light -fog \\n\ GL: extrusion -root \\n\ GL: sierpinski3d -root \\n\ + GL: starwars -root \\n\ \ - xdaliclock -root -builtin3 -cycle \\n\ - default-n: xearth -nofork -nostars -ncolors 50 \ @@ -185,7 +189,7 @@ - \"XMountains (top)\" xmountains -b -M -Z 0 -r 1 -m \\n\ - xaos -root -autopilot -incoloring -1 \ -nogui -outcoloring -1 \\n\ -- xfishtank -d \\n\ +- xfishtank -d -s \\n\ - xsnow \\n\ - goban -root \\n\ - electricsheep \\n", @@ -334,10 +338,6 @@ "*Cancel.rightOffset: 10", "*Cancel.bottomOffset: 10", "*hacks.documentation.isInstalled: True", -"*hacks.grav.documentation: \ -This program draws a simple orbital simulation. If you turn on \ -trails, it looks kind of like a cloud-chamber photograph. Written by \ -Greg Bowering.", "*hacks.qix.documentation: \ This is the swiss army chainsaw of qix programs. It bounces a series \ of line segments around the screen, and uses variations on this basic \ diff --git a/driver/demo-Gtk-stubs.h b/driver/demo-Gtk-stubs.h index 8211d199..7388d5a3 100644 --- a/driver/demo-Gtk-stubs.h +++ b/driver/demo-Gtk-stubs.h @@ -68,3 +68,15 @@ prefs_cancel_cb (GtkButton *button, void manual_cb (GtkButton *button, gpointer user_data); + +void +notebook_switch_page_cb (GtkNotebook *notebook, + GtkNotebookPage *page, + gint page_num, + gpointer user_data); + +void +pref_changed_cb (GtkNotebook *notebook, + GtkNotebookPage *page, + gint page_num, + gpointer user_data); diff --git a/driver/demo-Gtk-widgets.c b/driver/demo-Gtk-widgets.c index 510c9d63..fc03afac 100644 --- a/driver/demo-Gtk-widgets.c +++ b/driver/demo-Gtk-widgets.c @@ -6,6 +6,7 @@ # include #endif +#include #include #include #include @@ -16,9 +17,8 @@ #include "demo-Gtk-stubs.h" #include "demo-Gtk-widgets.h" - GtkWidget* -create_xscreensaver_demo () +create_xscreensaver_demo (void) { GtkWidget *xscreensaver_demo; GtkWidget *outer_vbox; @@ -91,9 +91,6 @@ create_xscreensaver_demo () GtkWidget *fade_button; GtkWidget *unfade_button; GtkWidget *lock_button; - GtkWidget *hbuttonbox3; - GtkWidget *prefs_ok; - GtkWidget *prefs_cancel; GtkWidget *prefs_tab; GtkAccelGroup *accel_group; GtkTooltips *tooltips; @@ -786,33 +783,6 @@ create_xscreensaver_demo () (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 10, 0); - hbuttonbox3 = gtk_hbutton_box_new (); - gtk_widget_set_name (hbuttonbox3, "hbuttonbox3"); - gtk_widget_ref (hbuttonbox3); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "hbuttonbox3", hbuttonbox3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbuttonbox3); - gtk_box_pack_start (GTK_BOX (prefs_hbox), hbuttonbox3, FALSE, FALSE, 0); - gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox3), 10); - - prefs_ok = gtk_button_new_with_label ("OK"); - gtk_widget_set_name (prefs_ok, "prefs_ok"); - gtk_widget_ref (prefs_ok); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_ok", prefs_ok, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (prefs_ok); - gtk_container_add (GTK_CONTAINER (hbuttonbox3), prefs_ok); - GTK_WIDGET_SET_FLAGS (prefs_ok, GTK_CAN_DEFAULT); - - prefs_cancel = gtk_button_new_with_label ("Cancel"); - gtk_widget_set_name (prefs_cancel, "prefs_cancel"); - gtk_widget_ref (prefs_cancel); - gtk_object_set_data_full (GTK_OBJECT (xscreensaver_demo), "prefs_cancel", prefs_cancel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (prefs_cancel); - gtk_container_add (GTK_CONTAINER (hbuttonbox3), prefs_cancel); - GTK_WIDGET_SET_FLAGS (prefs_cancel, GTK_CAN_DEFAULT); - prefs_tab = gtk_label_new ("Screensaver Options"); gtk_widget_set_name (prefs_tab, "prefs_tab"); gtk_widget_ref (prefs_tab); @@ -851,6 +821,9 @@ create_xscreensaver_demo () gtk_signal_connect (GTK_OBJECT (doc_menu), "activate", GTK_SIGNAL_FUNC (doc_menu_cb), NULL); + gtk_signal_connect (GTK_OBJECT (notebook), "switch_page", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); gtk_signal_connect (GTK_OBJECT (next), "clicked", GTK_SIGNAL_FUNC (run_next_cb), NULL); @@ -863,11 +836,56 @@ create_xscreensaver_demo () gtk_signal_connect (GTK_OBJECT (manual), "clicked", GTK_SIGNAL_FUNC (manual_cb), NULL); - gtk_signal_connect (GTK_OBJECT (prefs_ok), "clicked", - GTK_SIGNAL_FUNC (prefs_ok_cb), + gtk_signal_connect (GTK_OBJECT (timeout_text), "activate", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (timeout_text), "focus_out_event", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (cycle_text), "activate", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (cycle_text), "focus_out_event", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (fade_text), "activate", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (fade_text), "focus_out_event", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (ticks_text), "activate", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (ticks_text), "focus_out_event", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (lock_text), "activate", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (lock_text), "focus_out_event", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (pass_text), "activate", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (pass_text), "focus_out_event", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (verbose_button), "toggled", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (install_button), "toggled", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (fade_button), "toggled", + GTK_SIGNAL_FUNC (pref_changed_cb), + NULL); + gtk_signal_connect (GTK_OBJECT (unfade_button), "toggled", + GTK_SIGNAL_FUNC (pref_changed_cb), NULL); - gtk_signal_connect (GTK_OBJECT (prefs_cancel), "clicked", - GTK_SIGNAL_FUNC (prefs_cancel_cb), + gtk_signal_connect (GTK_OBJECT (lock_button), "toggled", + GTK_SIGNAL_FUNC (pref_changed_cb), NULL); gtk_widget_grab_default (next); diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c index e0276227..11c64d89 100644 --- a/driver/demo-Gtk.c +++ b/driver/demo-Gtk.c @@ -54,10 +54,13 @@ # include "xmu.h" #endif - - #include +#ifdef HAVE_CRAPPLET +# include +# include +#endif + extern Display *gdk_display; #include "version.h" @@ -81,6 +84,10 @@ char *progname = 0; char *progclass = "XScreenSaver"; XrmDatabase db; +static Bool crapplet_p = False; +static Bool initializing_p; +static GtkWidget *toplevel_widget; + typedef struct { saver_preferences *a, *b; } prefs_pair; @@ -110,21 +117,10 @@ static int maybe_reload_init_file (GtkWidget *widget, prefs_pair *pair); static GtkWidget * name_to_widget (GtkWidget *widget, const char *name) { - while (1) - { - GtkWidget *parent = (GTK_IS_MENU (widget) - ? gtk_menu_get_attach_widget (GTK_MENU (widget)) - : widget->parent); - if (parent) - widget = parent; - else - break; - } - return (GtkWidget *) gtk_object_get_data (GTK_OBJECT (widget), name); + return (GtkWidget *) gtk_object_get_data (GTK_OBJECT(toplevel_widget), name); } - /* Why this behavior isn't automatic in *either* toolkit, I'll never know. Takes a scroller, viewport, or list as an argument. */ @@ -217,9 +213,8 @@ ensure_selected_item_visible (GtkWidget *widget) } } - static void -warning_dialog_dismiss_cb (GtkButton *button, gpointer user_data) +warning_dialog_dismiss_cb (GtkWidget *widget, gpointer user_data) { GtkWidget *shell = GTK_WIDGET (user_data); while (shell->parent) @@ -228,8 +223,17 @@ warning_dialog_dismiss_cb (GtkButton *button, gpointer user_data) } +void restart_menu_cb (GtkWidget *widget, gpointer user_data); + +static void warning_dialog_restart_cb (GtkWidget *widget, gpointer user_data) +{ + restart_menu_cb (widget, user_data); + warning_dialog_dismiss_cb (widget, user_data); +} + static void -warning_dialog (GtkWidget *parent, const char *message, int center) +warning_dialog (GtkWidget *parent, const char *message, + Boolean restart_button_p, int center) { char *msg = strdup (message); char *head; @@ -237,6 +241,7 @@ warning_dialog (GtkWidget *parent, const char *message, int center) GtkWidget *dialog = gtk_dialog_new (); GtkWidget *label = 0; GtkWidget *ok = 0; + GtkWidget *cancel = 0; int i = 0; while (parent->parent) @@ -285,17 +290,37 @@ warning_dialog (GtkWidget *parent, const char *message, int center) ok = gtk_button_new_with_label ("OK"); gtk_container_add (GTK_CONTAINER (label), ok); + if (restart_button_p) + { + cancel = gtk_button_new_with_label ("Cancel"); + gtk_container_add (GTK_CONTAINER (label), cancel); + } + gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); gtk_container_set_border_width (GTK_CONTAINER (dialog), 10); gtk_window_set_title (GTK_WINDOW (dialog), progclass); gtk_widget_show (ok); + if (cancel) + gtk_widget_show (cancel); gtk_widget_show (label); gtk_widget_show (dialog); /* gtk_window_set_default (GTK_WINDOW (dialog), ok);*/ - gtk_signal_connect_object (GTK_OBJECT (ok), "clicked", - GTK_SIGNAL_FUNC (warning_dialog_dismiss_cb), - (gpointer) dialog); + if (restart_button_p) + { + gtk_signal_connect_object (GTK_OBJECT (ok), "clicked", + GTK_SIGNAL_FUNC (warning_dialog_restart_cb), + (gpointer) dialog); + gtk_signal_connect_object (GTK_OBJECT (cancel), "clicked", + GTK_SIGNAL_FUNC (warning_dialog_dismiss_cb), + (gpointer) dialog); + } + else + { + gtk_signal_connect_object (GTK_OBJECT (ok), "clicked", + GTK_SIGNAL_FUNC (warning_dialog_dismiss_cb), + (gpointer) dialog); + } gdk_window_set_transient_for (GTK_WIDGET (dialog)->window, GTK_WIDGET (parent)->window); @@ -321,7 +346,7 @@ run_cmd (GtkWidget *widget, Atom command, int arg) sprintf (buf, "Error:\n\n%s", err); else strcpy (buf, "Unknown error!"); - warning_dialog (widget, buf, 100); + warning_dialog (widget, buf, False, 100); } if (err) free (err); } @@ -368,7 +393,7 @@ cut_menu_cb (GtkMenuItem *menuitem, gpointer user_data) /* #### */ warning_dialog (GTK_WIDGET (menuitem), "Error:\n\n" - "cut unimplemented\n", 1); + "cut unimplemented\n", False, 1); } @@ -378,7 +403,7 @@ copy_menu_cb (GtkMenuItem *menuitem, gpointer user_data) /* #### */ warning_dialog (GTK_WIDGET (menuitem), "Error:\n\n" - "copy unimplemented\n", 1); + "copy unimplemented\n", False, 1); } @@ -388,7 +413,7 @@ paste_menu_cb (GtkMenuItem *menuitem, gpointer user_data) /* #### */ warning_dialog (GTK_WIDGET (menuitem), "Error:\n\n" - "paste unimplemented\n", 1); + "paste unimplemented\n", False, 1); } @@ -408,7 +433,7 @@ about_menu_cb (GtkMenuItem *menuitem, gpointer user_data) s, s2); free (s); - warning_dialog (GTK_WIDGET (menuitem), buf, 100); + warning_dialog (GTK_WIDGET (menuitem), buf, False, 100); } @@ -425,7 +450,7 @@ doc_menu_cb (GtkMenuItem *menuitem, gpointer user_data) { warning_dialog (GTK_WIDGET (menuitem), "Error:\n\n" - "No Help URL has been specified.\n", 100); + "No Help URL has been specified.\n", False, 100); return; } @@ -462,12 +487,12 @@ kill_menu_cb (GtkMenuItem *menuitem, gpointer user_data) void -restart_menu_cb (GtkMenuItem *menuitem, gpointer user_data) +restart_menu_cb (GtkWidget *widget, gpointer user_data) { #if 0 - run_cmd (GTK_WIDGET (menuitem), XA_RESTART, 0); + run_cmd (GTK_WIDGET (widget), XA_RESTART, 0); #else - apply_changes_and_save (GTK_WIDGET (menuitem)); + apply_changes_and_save (GTK_WIDGET (widget)); xscreensaver_command (gdk_display, XA_EXIT, 0, False, NULL); sleep (1); system ("xscreensaver -nosplash &"); @@ -506,12 +531,12 @@ demo_write_init_file (GtkWidget *widget, saver_preferences *p) if (!f || !*f) warning_dialog (widget, "Error:\n\nCouldn't determine init file name!\n", - 100); + False, 100); else { char *b = (char *) malloc (strlen(f) + 1024); sprintf (b, "Error:\n\nCouldn't write %s\n", f); - warning_dialog (widget, b, 100); + warning_dialog (widget, b, False, 100); free (b); } return -1; @@ -520,7 +545,7 @@ demo_write_init_file (GtkWidget *widget, saver_preferences *p) static int -apply_changes_and_save (GtkWidget *widget) +apply_changes_and_save_1 (GtkWidget *widget) { /* prefs_pair *pair = (prefs_pair *) client_data; */ prefs_pair *pair = global_prefs_pair; /* I hate C so much... */ @@ -603,6 +628,16 @@ apply_changes_and_save (GtkWidget *widget) return 0; } +void prefs_ok_cb (GtkButton *button, gpointer user_data); + +static int +apply_changes_and_save (GtkWidget *widget) +{ + prefs_ok_cb ((GtkButton *) widget, 0); + return apply_changes_and_save_1 (widget); +} + + void run_this_cb (GtkButton *button, gpointer user_data) { @@ -652,7 +687,7 @@ manual_cb (GtkButton *button, gpointer user_data) { warning_dialog (GTK_WIDGET (button), "Error:\n\nno `manualCommand' resource set.", - 100); + False, 100); } free (name); @@ -731,7 +766,7 @@ hack_time_text (GtkWidget *widget, const char *line, Time *store, Bool sec_p) "Error:\n\n" "Unparsable time format: \"%s\"\n", line); - warning_dialog (widget, b, 100); + warning_dialog (widget, b, False, 100); } else *store = value; @@ -772,7 +807,7 @@ prefs_ok_cb (GtkButton *button, gpointer user_data) { \ char b[255]; \ sprintf (b, "Error:\n\n" "Not an integer: \"%s\"\n", line); \ - warning_dialog (GTK_WIDGET (button), b, 100); \ + warning_dialog (GTK_WIDGET (button), b, False, 100); \ } \ else \ *(field) = value; \ @@ -834,6 +869,14 @@ prefs_cancel_cb (GtkButton *button, gpointer user_data) } +void +pref_changed_cb (GtkButton *button, gpointer user_data) +{ + if (! initializing_p) + apply_changes_and_save (GTK_WIDGET (button)); +} + + static gint list_doubleclick_cb (GtkWidget *button, GdkEventButton *event, gpointer client_data) @@ -1484,7 +1527,7 @@ maybe_reload_init_file (GtkWidget *widget, prefs_pair *pair) "Warning:\n\n" "file \"%s\" has changed, reloading.\n", f); - warning_dialog (widget, b, 100); + warning_dialog (widget, b, False, 100); free (b); load_init_file (p); @@ -1579,9 +1622,7 @@ the_network_is_not_the_computer (GtkWidget *parent) sprintf (msg, "Warning:\n\n" "The XScreenSaver daemon doesn't seem to be running\n" - "on display \"%s\". You can launch it by selecting\n" - "`Restart Daemon' from the File menu, or by typing\n" - "\"xscreensaver &\" in a shell.", + "on display \"%s\". Launch it now?", d); } else if (p && ruser && *ruser && !!strcmp (ruser, p->pw_name)) @@ -1598,9 +1639,10 @@ the_network_is_not_the_computer (GtkWidget *parent) "the same ~/.xscreensaver file, so %s isn't\n" "going to work right.\n" "\n" - "Either re-run %s as \"%s\", or re-run\n" - "xscreensaver as \"%s\" (which you can do by\n" - "selecting `Restart Daemon' from the File menu.)\n", + "You should either re-run %s as \"%s\", or re-run\n" + "xscreensaver as \"%s\".\n" + "\n" + "Restart the xscreensaver daemon now?\n", progname, luser, lhost, d, (ruser ? ruser : "???"), (rhost ? rhost : "???"), @@ -1622,8 +1664,7 @@ the_network_is_not_the_computer (GtkWidget *parent) "if they don't see the same ~%s/.xscreensaver file) then\n" "%s won't work right.\n" "\n" - "You can restart the daemon on \"%s\" as \"%s\" by\n" - "selecting `Restart Daemon' from the File menu.)", + "Restart the daemon on \"%s\" as \"%s\" now?\n", progname, luser, lhost, d, (ruser ? ruser : "???"), (rhost ? rhost : "???"), @@ -1639,7 +1680,9 @@ the_network_is_not_the_computer (GtkWidget *parent) "Warning:\n\n" "This is %s version %s.\n" "But the xscreensaver managing display \"%s\"\n" - "is version %s. This could cause problems.", + "is version %s. This could cause problems.\n" + "\n" + "Restart the xscreensaver daemon now?\n", progname, short_version, d, rversion); @@ -1647,7 +1690,7 @@ the_network_is_not_the_computer (GtkWidget *parent) if (*msg) - warning_dialog (parent, msg, 1); + warning_dialog (parent, msg, True, 1); free (msg); } @@ -1703,10 +1746,40 @@ static char *defaults[] = { 0 }; +#if 0 +#ifdef HAVE_CRAPPLET +static struct poptOption crapplet_options[] = { + {NULL, '\0', 0, NULL, 0} +}; +#endif /* HAVE_CRAPPLET */ +#endif /* 0 */ + +#define USAGE() \ + fprintf (stderr, "usage: %s [ -display dpy-string ] [ -prefs ]\n", \ + real_progname) + + +static void +map_window_cb (GtkWidget *w, gpointer user_data) +{ + Boolean oi = initializing_p; + initializing_p = True; + pixmapify_buttons (w); + eschew_gtk_lossage (w); + ensure_selected_item_visible (GTK_WIDGET(name_to_widget(w, "list"))); + initializing_p = oi; +} + + int main (int argc, char **argv) { XtAppContext app; +# ifdef HAVE_CRAPPLET + GnomeClient *client; + GnomeClientFlags flags; + int init_results; +# endif /* HAVE_CRAPPLET */ prefs_pair Pair, *pair; saver_preferences P, P2, *p, *p2; Bool prefs = False; @@ -1717,6 +1790,8 @@ main (int argc, char **argv) char *real_progname = argv[0]; char *s; + initializing_p = True; + s = strrchr (real_progname, '/'); if (s) real_progname = s+1; @@ -1755,9 +1830,68 @@ main (int argc, char **argv) !strncmp(argv[i], "-display", strlen(argv[i]))) argv[i] = "--display"; + + /* We need to parse this arg really early... Sigh. */ + for (i = 1; i < argc; i++) + if (argv[i] && + (!strcmp(argv[i], "--crapplet") || + !strcmp(argv[i], "--capplet"))) + { +# ifdef HAVE_CRAPPLET + int j; + crapplet_p = True; + for (j = i; j < argc; j++) /* remove it from the list */ + argv[j] = argv[j+1]; + argc--; + +# else /* !HAVE_CRAPPLET */ + fprintf (stderr, "%s: not compiled with --crapplet support\n", + real_progname[i]); + USAGE (); + exit (1); +# endif /* !HAVE_CRAPPLET */ + } + /* Let Gtk open the X connection, then initialize Xt to use that - same connection. Doctor Frankenstein would be proud. */ - gtk_init (&argc, &argv); + same connection. Doctor Frankenstein would be proud. + */ +# ifdef HAVE_CRAPPLET + if (crapplet_p) + { + init_results = gnome_capplet_init ("screensaver-properties", + short_version, + argc, argv, NULL, 0, NULL); + + if (init_results < 0) + { +# if 0 + g_error ("An initialization error occurred while " + "starting xscreensaver-capplet.\n"); +# else /* !0 */ + fprintf (stderr, "%s: gnome_capplet_init failed: %d\n", + real_progname, init_results); + exit (1); +# endif /* !0 */ + } + + client = gnome_master_client (); + + if (client) + flags = gnome_client_get_flags (client); + else + flags = 0; + + if (flags & GNOME_CLIENT_IS_CONNECTED) + { + gnome_client_set_restart_style (client, GNOME_RESTART_NEVER); + gnome_client_flush (client); + } + } + else +# endif /* HAVE_CRAPPLET */ + { + gtk_init (&argc, &argv); + } /* We must read exactly the same resources as xscreensaver. @@ -1796,12 +1930,15 @@ main (int argc, char **argv) s++; if (!strcmp (s, "-prefs")) prefs = True; + else if (crapplet_p) + /* There are lots of random args that we don't care about when we're + started as a crapplet, so just ignore unknown args in that case. */ + ; else { fprintf (stderr, "%s: unknown option: %s\n", real_progname, argv[i]); - fprintf (stderr, "usage: %s [ -display dpy-string ] [ -prefs ]\n", - real_progname); - exit (1); + USAGE (); + exit (1); } } @@ -1853,6 +1990,7 @@ main (int argc, char **argv) /* Create the window and all its widgets. */ gtk_window = create_xscreensaver_demo (); + toplevel_widget = gtk_window; /* Set the window's title. */ { @@ -1880,12 +2018,11 @@ main (int argc, char **argv) sensitize_demo_widgets (gtk_window, False); fix_text_entry_sizes (gtk_window); scroll_to_current_hack (gtk_window, pair); - gtk_widget_show (gtk_window); - /* The next three calls must come after gtk_widget_show(). */ - pixmapify_buttons (gtk_window); - eschew_gtk_lossage (gtk_window); - ensure_selected_item_visible (GTK_WIDGET(name_to_widget(gtk_window,"list"))); + gtk_signal_connect ( + GTK_OBJECT (name_to_widget (GTK_WIDGET (gtk_window), "list")), + "map", GTK_SIGNAL_FUNC(map_window_cb), 0); + /* Handle the -prefs command-line argument. */ if (prefs) @@ -1895,8 +2032,46 @@ main (int argc, char **argv) gtk_notebook_set_page (notebook, 1); } - /* Issue any warnings about the running xscreensaver daemon. */ - the_network_is_not_the_computer (gtk_window); +# ifdef HAVE_CRAPPLET + if (crapplet_p) + { + GtkWidget *capplet; + GtkWidget *top_vbox; + + capplet = capplet_widget_new (); + + top_vbox = GTK_BIN (gtk_window)->child; + + gtk_widget_ref (top_vbox); + gtk_container_remove (GTK_CONTAINER (gtk_window), top_vbox); + GTK_OBJECT_SET_FLAGS (top_vbox, GTK_FLOATING); + + /* This is a crock, but otherwise, the Control Center expands to + be as tall as the screen. */ + gtk_window_set_default_size (GTK_WINDOW (top_vbox), 600, 400); + + /* In crapplet-mode, take off the menubar. */ + gtk_widget_hide (name_to_widget (gtk_window, "menubar")); + + gtk_container_add (GTK_CONTAINER (capplet), top_vbox); + gtk_widget_show (capplet); + gtk_widget_hide (gtk_window); + + /* Hook up the Control Center's redundant Help button, too. */ + gtk_signal_connect (GTK_OBJECT (capplet), "help", + GTK_SIGNAL_FUNC (doc_menu_cb), 0); + + /* Issue any warnings about the running xscreensaver daemon. */ + the_network_is_not_the_computer (top_vbox); + } + else +# endif /* HAVE_CRAPPLET */ + { + gtk_widget_show (gtk_window); + + /* Issue any warnings about the running xscreensaver daemon. */ + the_network_is_not_the_computer (gtk_window); + } /* Run the Gtk event loop, and not the Xt event loop. This means that if there were Xt timers or fds registered, they would never get serviced, @@ -1905,7 +2080,15 @@ main (int argc, char **argv) Xt so that we could process the command line and use the X resource manager. */ - gtk_main (); + initializing_p = False; + +# ifdef HAVE_CRAPPLET + if (crapplet_p) + capplet_gtk_main (); + else +# endif /* HAVE_CRAPPLET */ + gtk_main (); + exit (0); } diff --git a/driver/passwd-kerberos.c b/driver/passwd-kerberos.c index 1e28d60a..ca3f13ea 100644 --- a/driver/passwd-kerberos.c +++ b/driver/passwd-kerberos.c @@ -1,6 +1,7 @@ /* kpasswd.c --- verify kerberos passwords. * written by Nat Lanza (magus@cs.cmu.edu) for - * xscreensaver, Copyright (c) 1993-1997, 1998 Jamie Zawinski + * xscreensaver, Copyright (c) 1993-1997, 1998, 2000 + * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -25,8 +26,14 @@ #include #include #include -#include -#include + +#ifdef HAVE_KERBEROS5 +# include +# include +#else /* !HAVE_KERBEROS5 (meaning Kerberos 4) */ +# include +# include +#endif /* !HAVE_KERBEROS5 */ #if !defined(VMS) && !defined(HAVE_ADJUNCT_PASSWD) # include diff --git a/driver/passwd-pam.c b/driver/passwd-pam.c index a02cf811..aedd47e2 100644 --- a/driver/passwd-pam.c +++ b/driver/passwd-pam.c @@ -1,7 +1,7 @@ /* passwd-pam.c --- verifying typed passwords with PAM * (Pluggable Authentication Modules.) * written by Bill Nottingham (and jwz) for - * xscreensaver, Copyright (c) 1993-1998 Jamie Zawinski + * xscreensaver, Copyright (c) 1993-1998, 2000 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -217,7 +217,17 @@ pam_passwd_valid_p (const char *typed_passwd, Bool verbose_p) fprintf (stderr, "%s: pam_authenticate (...) ==> %d (%s)\n", blurb(), status, PAM_STRERROR(pamh, status)); if (status == PAM_SUCCESS) /* Win! */ - goto DONE; + { + /* Each time we successfully authenticate, refresh credentials, + for Kerberos/AFS/DCE/etc. If this fails, just ignore that + failure and blunder along; it shouldn't matter. + */ + int status2 = pam_setcred (pamh, PAM_REFRESH_CRED); + if (verbose_p) + fprintf (stderr, "%s: pam_setcred (...) ==> %d (%s)\n", + blurb(), status2, PAM_STRERROR(pamh, status2)); + goto DONE; + } /* If that didn't work, set the user to root, and try to authenticate again. */ diff --git a/driver/screensaver-properties.desktop.in b/driver/screensaver-properties.desktop.in new file mode 100644 index 00000000..cdcd3e09 --- /dev/null +++ b/driver/screensaver-properties.desktop.in @@ -0,0 +1,42 @@ +[Desktop Entry] +Name=Screensaver +Name[da]=Pauseskærm +Name[ca]=Protector de pantalla +Name[de]=Bildschirmschoner +Name[es]=Propiedades Salvapantallas +Name[et]=Ekraanisäästja +Name[fi]=Ruudunsäästäjä +Name[fr]=Propriétés Économiseur d'écran +Name[hu]=Képernyõvédõ +Name[it]=Salvaschermo +Name[ja]=¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¡¼ +Name[ko]=È­¸é º¸È£±â +Name[no]=Skjermsparer +Name[pl]=Wygaszacz ekranu +Name[pt]=Propriedades da protecção de ecrã +Name[pt_BR]=Propriedades da proteção de tela +Name[ru]=èÒÁÎÉÔÅÌØ ÜËÒÁÎÁ +Name[sv]=Skärmsläckare +Name[wa]=Spårgneu di waitroûle +Comment=Configure the settings of the screensaver. +Comment[da]=Indstil din pauseskærm. +Comment[ca]=Configurar el protector de pantalla. +Comment[de]=Bildschirmschoner einrichten +Comment[es]=Configurar el salvapantalla +Comment[et]=Ekraanisäästja häälestus +Comment[fi]=Aseta ruudunsäästäjän asetukset. +Comment[fr]=Configurer l'économiseur d'écran +Comment[hu]=Képernyõvédõ beállítások +Comment[it]=Impostazioni del salvaschermo +Comment[ja]=¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¡¼¤ÎÀßÄê +Comment[ko]=È­¸é º¸È£±â ¼³Á¤ +Comment[no]=Endre innstillingene for skjermspareren +Comment[pl]=Konfiguracja wygaszacza ekranu +Comment[pt]=Configura as opções da protecção de ecrã. +Comment[ru]=îÁÓÔÒÏÊËÁ ÈÒÁÎÉÔÅÌÑ ÜËÒÁÎÁ. +Comment[sv]=Ändra inställningar för skärmsläckare +Comment[wa]=Apontiaedje do spårgneu di waitroûle +Exec=@bindir@/xscreensaver-demo --crapplet +Icon=gnome-ccscreensaver.png +Terminal=0 +Type=Application diff --git a/driver/xdpyinfo.c b/driver/xdpyinfo.c index 21e10164..7a0b0783 100644 --- a/driver/xdpyinfo.c +++ b/driver/xdpyinfo.c @@ -27,10 +27,11 @@ in this Software without prior written authorization from The Open Group. * GLX and Overlay support added by Jamie Zawinski , 11-Nov-99 * * To compile: - * cc -DHAVE_GLX xdpyinfo.c -o xdpyinfo -lGL -lX11 -lXext -lm + * cc -DHAVE_GLX xdpyinfo.c -o xdpyinfo -lGL -lX11 -lXext [-lXtst] -lm * * Other defines to consider: - * -DHAVE_XIE -DHAVE_XTEST -DHAVE_SYNC -DHAVE_XRECORD + * -DMITSHM -DHAVE_XDBE -DHAVE_XIE -DHAVE_XTEST -DHAVE_SYNC + * -DHAVE_XRECORD */ #include @@ -46,7 +47,9 @@ in this Software without prior written authorization from The Open Group. #ifdef HAVE_XSYNC #include #endif /* HAVE_XSYNC */ +#ifdef HAVE_XDBE #include +#endif /* HAVE_XDBE */ #ifdef HAVE_XRECORD #include #endif /* HAVE_XRECORD */ @@ -873,6 +876,7 @@ print_mitshm_info(dpy, extname) } #endif /* MITSHM */ +#ifdef HAVE_XDBE int print_dbe_info(dpy, extname) Display *dpy; @@ -902,6 +906,7 @@ print_dbe_info(dpy, extname) XdbeFreeVisualInfo(svi); return 1; } +#endif /* HAVE_XDBE */ #ifdef HAVE_XRECORD int @@ -949,7 +954,9 @@ ExtensionPrintInfo known_extensions[] = #ifdef HAVE_XTEST {XTestExtensionName, print_xtest_info, False}, #endif /* HAVE_XTEST */ +#ifdef HAVE_XDBE {"DOUBLE-BUFFER", print_dbe_info, False}, +#endif /* HAVE_XDBE */ #ifdef HAVE_XRECORD {"RECORD", print_record_info, False} #endif /* HAVE_XRECORD */ diff --git a/driver/xscreensaver-command.man b/driver/xscreensaver-command.man index e6d20a48..5e66859f 100644 --- a/driver/xscreensaver-command.man +++ b/driver/xscreensaver-command.man @@ -11,7 +11,7 @@ .if n .sp 1 .if t .sp .5 .. -.TH XScreenSaver 1 "30-Jan-00 (3.23)" "X Version 11" +.TH XScreenSaver 1 "03-Apr-2000 (3.24)" "X Version 11" .SH NAME xscreensaver-command - control a running xscreensaver process .SH SYNOPSIS diff --git a/driver/xscreensaver-demo.glade b/driver/xscreensaver-demo.glade index 659dc913..cf98335e 100644 --- a/driver/xscreensaver-demo.glade +++ b/driver/xscreensaver-demo.glade @@ -19,9 +19,6 @@ demo-Gtk-widgets.h demo-Gtk-stubs.c demo-Gtk-stubs.h - support.c - support.h - @@ -226,6 +223,11 @@ GtkNotebook notebook True + + switch_page + pref_changed_cb + Mon, 03 Apr 2000 02:36:24 GMT + True True GTK_POS_TOP @@ -615,6 +617,16 @@ Mono timeout_text How long until the screensaver activates. True + + activate + pref_changed_cb + Mon, 03 Apr 2000 02:28:10 GMT + + + focus_out_event + pref_changed_cb + Mon, 03 Apr 2000 02:34:26 GMT + True True 8 @@ -640,6 +652,16 @@ Mono cycle_text How long each demo will be run before moving on to another. True + + activate + pref_changed_cb + Mon, 03 Apr 2000 02:28:29 GMT + + + focus_out_event + pref_changed_cb + Mon, 03 Apr 2000 02:35:28 GMT + True True 8 @@ -665,6 +687,16 @@ Mono fade_text How long (in seconds) it should take for the screen to fade to black (8-bit displays only.) True + + activate + pref_changed_cb + Mon, 03 Apr 2000 02:28:29 GMT + + + focus_out_event + pref_changed_cb + Mon, 03 Apr 2000 02:35:28 GMT + True True 8 @@ -690,6 +722,16 @@ Mono ticks_text How many steps are in the fade animation (8-bit displays only.) True + + activate + pref_changed_cb + Mon, 03 Apr 2000 02:28:29 GMT + + + focus_out_event + pref_changed_cb + Mon, 03 Apr 2000 02:35:28 GMT + True True 8 @@ -715,6 +757,16 @@ Mono lock_text How long after the screensaver has activated until a password will be required (if `Require Password' is also set.) True + + activate + pref_changed_cb + Mon, 03 Apr 2000 02:28:29 GMT + + + focus_out_event + pref_changed_cb + Mon, 03 Apr 2000 02:35:28 GMT + True True 8 @@ -740,6 +792,16 @@ Mono pass_text How long the password dialog will wait. True + + activate + pref_changed_cb + Mon, 03 Apr 2000 02:29:08 GMT + + + focus_out_event + pref_changed_cb + Mon, 03 Apr 2000 02:35:58 GMT + True True 8 @@ -920,6 +982,11 @@ Mono GtkCheckButton verbose_button True + + toggled + pref_changed_cb + Mon, 03 Apr 2000 02:31:53 GMT + False True @@ -943,6 +1010,11 @@ Mono GtkCheckButton install_button True + + toggled + pref_changed_cb + Mon, 03 Apr 2000 02:32:25 GMT + False True @@ -966,6 +1038,11 @@ Mono GtkCheckButton fade_button True + + toggled + pref_changed_cb + Mon, 03 Apr 2000 02:32:39 GMT + False True @@ -989,6 +1066,11 @@ Mono GtkCheckButton unfade_button True + + toggled + pref_changed_cb + Mon, 03 Apr 2000 02:32:51 GMT + False True @@ -1012,6 +1094,11 @@ Mono GtkCheckButton lock_button True + + toggled + pref_changed_cb + Mon, 03 Apr 2000 02:33:01 GMT + False True @@ -1032,49 +1119,6 @@ Mono - - - GtkHButtonBox - hbuttonbox3 - 10 - GTK_BUTTONBOX_DEFAULT_STYLE - 30 - 85 - 27 - 7 - 0 - - 0 - False - False - - - - GtkButton - prefs_ok - True - True - - clicked - prefs_ok_cb - Mon, 08 Nov 1999 04:39:18 GMT - - - - - - GtkButton - prefs_cancel - True - True - - clicked - prefs_cancel_cb - Mon, 08 Nov 1999 04:39:33 GMT - - - - diff --git a/driver/xscreensaver-demo.man b/driver/xscreensaver-demo.man index 2d974f02..578ad9c0 100644 --- a/driver/xscreensaver-demo.man +++ b/driver/xscreensaver-demo.man @@ -11,7 +11,7 @@ .if n .sp 1 .if t .sp .5 .. -.TH XScreenSaver 1 "30-Jan-00 (3.23)" "X Version 11" +.TH XScreenSaver 1 "03-Apr-2000 (3.24)" "X Version 11" .SH NAME xscreensaver-demo - interactively control the background xscreensaver daemon .SH SYNOPSIS diff --git a/driver/xscreensaver.man b/driver/xscreensaver.man index 272f93e5..f15cd3bc 100644 --- a/driver/xscreensaver.man +++ b/driver/xscreensaver.man @@ -11,7 +11,7 @@ .if n .sp 1 .if t .sp .5 .. -.TH XScreenSaver 1 "30-Jan-00 (3.23)" "X Version 11" +.TH XScreenSaver 1 "03-Apr-2000 (3.24)" "X Version 11" .SH NAME xscreensaver - graphics hack and screen locker, launched when the user is idle .SH SYNOPSIS diff --git a/hacks/Makefile.in b/hacks/Makefile.in index 5da1b76a..24927d93 100644 --- a/hacks/Makefile.in +++ b/hacks/Makefile.in @@ -147,7 +147,7 @@ MEN = attraction.man blitspin.man bouboule.man braid.man \ xjack.man xlyap.man jigsaw.man epicycle.man bsod.man \ sonar.man t3d.man squiral.man spotlight.man critical.man \ vidwhacker.man webcollage.man xsublim.man distort.man \ - phosphor.man xmatrix.man xteevee.man + phosphor.man xmatrix.man xteevee.man xflame.man STAR = * EXTRAS = README Makefile.in xlock_23.h .gdbinit \ images/$(STAR).xbm \ @@ -499,8 +499,8 @@ interference: interference.o $(HACK_OBJS) $(COL) $(SHM) $(DBE) truchet: truchet.o $(HACK_OBJS) $(COL) $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) -bsod: bsod.o $(HACK_OBJS) $(COL) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) $(XPM_LIBS) +bsod: bsod.o $(HACK_OBJS) $(GRAB) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS) $(XPM_LIBS) $(GRAB_LIBS) distort: distort.o $(HACK_OBJS) $(GRAB) $(SHM) $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS) $(GRAB_LIBS) @@ -1648,6 +1648,7 @@ xflame.o: $(UTILS_SRC)/colors.h xflame.o: $(UTILS_SRC)/grabscreen.h xflame.o: $(UTILS_SRC)/visual.h xflame.o: $(UTILS_SRC)/xshm.h +xflame.o: $(srcdir)/images/bob.xbm wander.o: $(srcdir)/screenhack.h wander.o: ../config.h wander.o: $(UTILS_SRC)/yarandom.h diff --git a/hacks/bsod.c b/hacks/bsod.c index faffc0f4..5decc5c6 100644 --- a/hacks/bsod.c +++ b/hacks/bsod.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1998 Jamie Zawinski +/* xscreensaver, Copyright (c) 1998, 2000 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -1019,6 +1019,85 @@ macsbug (Display *dpy, Window window, int delay) return True; } + +/* blit damage + * + * by Martin Pool , Feb 2000. + * + * This is meant to look like the preferred failure mode of NCD + * Xterms. The parameters for choosing what to copy where might not + * be quite right, but it looks about ugly enough. + */ +static Bool +blitdamage (Display *dpy, Window window, int delay) +{ + XGCValues gcv; + XWindowAttributes xwa; + GC gc0; + int i; + int delta_x = 0, delta_y = 0; + int w, h; + int chunk_h, chunk_w; + int steps; + long gc_mask = 0; + int src_x, src_y; + int x, y; + + if (!get_boolean_resource("doBlitDamage", "DoBlitDamage")) + return False; + + XGetWindowAttributes(dpy, window, &xwa); + + grab_screen_image(xwa.screen, window); + + w = xwa.width; + h = xwa.height; + + gc_mask = GCForeground; + + gcv.plane_mask = random(); + gc_mask |= GCPlaneMask; + + gc0 = XCreateGC(dpy, window, gc_mask, &gcv); + + steps = 50; + chunk_w = w / (random() % 1 + 1); + chunk_h = h / (random() % 1 + 1); + if (random() & 0x1000) + delta_y = random() % 600; + if (!delta_y || (random() & 0x2000)) + delta_x = random() % 600; + src_x = 0; + src_y = 0; + x = 0; + y = 0; + + for (i = 0; i < steps; i++) { + if (x + chunk_w > w) + x -= w; + else + x += delta_x; + + if (y + chunk_h > h) + y -= h; + else + y += delta_y; + + XCopyArea(dpy, window, window, gc0, + src_x, src_y, + chunk_w, chunk_h, + x, y); + + bsod_sleep(dpy, 0); + } + + bsod_sleep(dpy, delay); + + XFreeGC(dpy, gc0); + + return True; +} + char *progclass = "BSOD"; @@ -1034,6 +1113,7 @@ char *defaults [] = { "*doMacsBug: True", "*doSCO: True", "*doSparcLinux: False", /* boring */ + "*doBlitDamage: True", ".Windows.font: -*-courier-bold-r-*-*-*-120-*-*-m-*-*-*", ".Windows.font2: -*-courier-bold-r-*-*-*-180-*-*-m-*-*-*", @@ -1098,7 +1178,7 @@ screenhack (Display *dpy, Window window) while (1) { Bool did; - do { i = (random() & 0xFF) % 8; } while (i == j); + do { i = (random() & 0xFF) % 9; } while (i == j); switch (i) { case 0: did = windows(dpy, window, delay, True); break; @@ -1109,6 +1189,7 @@ screenhack (Display *dpy, Window window) case 5: did = sco(dpy, window, delay); break; case 6: did = sparc_linux(dpy, window, delay); break; case 7: did = atari(dpy, window, delay); break; + case 8: did = blitdamage(dpy, window, delay); break; default: abort(); break; } loop++; diff --git a/hacks/bsod.man b/hacks/bsod.man index 63bcee68..925b7b21 100644 --- a/hacks/bsod.man +++ b/hacks/bsod.man @@ -72,6 +72,7 @@ hacks are displayed and which aren't. .BR doMacsBug , .BR doSCO , .BR doAtari , +.BR doBlitDamage , and .BR doSparcLinux . Each of these is a Boolean resource, they all default to true, except for diff --git a/hacks/critical.c b/hacks/critical.c index 3f8f2763..1e8f3a1a 100644 --- a/hacks/critical.c +++ b/hacks/critical.c @@ -1,5 +1,5 @@ /* critical -- Self-organizing-criticality display hack for XScreenSaver - * Copyright (C) 1998, 1999 Martin Pool + * Copyright (C) 1998, 1999, 2000 Martin Pool * * Permission to use, copy, modify, distribute, and sell this software * and its documentation for any purpose is hereby granted without @@ -13,13 +13,18 @@ * * Revision history: * 13 Nov 1998: Initial version, Martin Pool - */ + * 08 Feb 2000: Change to keeping and erasing a trail, + * + * It would be nice to draw curvy shapes rather than just straight + * lines, but X11 doesn't have spline primitives (?) so we'd have to + * do all the work ourselves */ #include "screenhack.h" #include "erase.h" #include #include +#include char *progclass = "Critical"; @@ -29,11 +34,14 @@ typedef struct { unsigned short *cells; } CriticalModel; +typedef struct { + int trail; /* length of trail */ + int cell_size; +} CriticalSettings; + CriticalModel * model_allocate (int w, int h); void model_initialize (CriticalModel *model); -static void model_step (CriticalModel *model, int *top_x, int *top_y); - /* Options this module understands. */ XrmOptionDescRec options[] = { @@ -43,6 +51,7 @@ XrmOptionDescRec options[] = { { "-restart", ".restart", XrmoptionSepArg, 0 }, { "-cellsize", ".cellsize", XrmoptionSepArg, 0 }, { "-batchcount", ".batchcount", XrmoptionSepArg, 0 }, + { "-trail", ".trail", XrmoptionSepArg, 0 }, { 0, 0, 0, 0 } /* end */ }; @@ -54,12 +63,24 @@ char *defaults[] = { "*delay: 10000", "*ncolors: 64", "*restart: 8", - "*cellsize: 9", "*batchcount: 1500", + "*trail: 50", 0 /* end */ }; +int +clip (int low, int val, int high) +{ + if (val < low) + return low; + else if (val > high) + return high; + else + return val; +} + + /* Allocate an return a new simulation model datastructure. */ @@ -122,11 +143,12 @@ model_initialize (CriticalModel *model) Neighbours that fall off the edge of the model are simply ignored. */ static void -model_step (CriticalModel *model, int *top_x, int *top_y) +model_step (CriticalModel *model, XPoint *ptop) { int x, y, i; int dx, dy; - unsigned short top_value; + unsigned short top_value = 0; + int top_x = 0, top_y = 0; /* Find the top cell */ top_value = 0; @@ -137,8 +159,8 @@ model_step (CriticalModel *model, int *top_x, int *top_y) if (model->cells[i] >= top_value) { top_value = model->cells[i]; - *top_x = x; - *top_y = y; + top_x = x; + top_y = y; } i++; } @@ -146,19 +168,22 @@ model_step (CriticalModel *model, int *top_x, int *top_y) /* Replace it and its neighbours with new random values */ for (dy = -1; dy <= 1; dy++) { - int y = *top_y + dy; + int y = top_y + dy; if (y < 0 || y >= model->height) continue; for (dx = -1; dx <= 1; dx++) { - int x = *top_x + dx; + int x = top_x + dx; if (x < 0 || x >= model->width) continue; model->cells[y * model->width + x] = (unsigned short) random(); } } + + ptop->x = top_x; + ptop->y = top_y; } @@ -212,25 +237,47 @@ setup_colormap (Display *dpy, XWindowAttributes *wattr, } +/* Draw one step of the hack. Positions are cell coordinates. */ +static void +draw_step (CriticalSettings *settings, + Display *dpy, Window window, GC gc, + int pos, XPoint *history) +{ + int cell_size = settings->cell_size; + int half = cell_size/2; + int old_pos = (pos + settings->trail - 1) % settings->trail; + + pos = pos % settings->trail; + + XDrawLine (dpy, window, gc, + history[pos].x * cell_size + half, + history[pos].y * cell_size + half, + history[old_pos].x * cell_size + half, + history[old_pos].y * cell_size + half); +} + + /* Display a self-organizing criticality screen hack. The program runs indefinately on the root window. */ void screenhack (Display *dpy, Window window) { - GC fgc, bgc; - XGCValues gcv; - XWindowAttributes wattr; int n_colors; XColor *colors; int model_w, model_h; CriticalModel *model; int lines_per_color = 10; int i_color = 0; - int x1, y1, x2, y2; long delay_usecs; - int cell_size; int batchcount; + XPoint *history; /* in cell coords */ + int pos = 0; + int wrapped = 0; + GC fgc, bgc; + XGCValues gcv; + XWindowAttributes wattr; + CriticalSettings settings; /* Number of screens that should be drawn before reinitializing the model, and count of the number of screens done so far. */ @@ -239,20 +286,30 @@ screenhack (Display *dpy, Window window) /* Find window attributes */ XGetWindowAttributes (dpy, window, &wattr); - /* Construct the initial model state. */ - cell_size = get_integer_resource ("cellsize", "Integer"); - if (cell_size < 1) - cell_size = 1; - if (cell_size >= 100) - cell_size = 99; - batchcount = get_integer_resource ("batchcount", "Integer"); if (batchcount < 5) batchcount = 5; + + /* For the moment the model size is just fixed -- making it vary + with the screen size just makes the hack boring on large + screens. */ + model_w = 80; + settings.cell_size = wattr.width / model_w; + model_h = wattr.height / settings.cell_size; + + /* Construct the initial model state. */ + + settings.trail = clip(2, get_integer_resource ("trail", "Integer"), 1000); - model_w = wattr.width / cell_size; - model_h = wattr.height / cell_size; - + history = malloc (sizeof history[0] * settings.trail); + if (!history) + { + fprintf (stderr, "critical: " + "couldn't allocate trail history of %d cells\n", + settings.trail); + return; + } + model = model_allocate (model_w, model_h); if (!model) { @@ -267,9 +324,6 @@ screenhack (Display *dpy, Window window) fgc = XCreateGC (dpy, window, 0, &gcv); - x2 = random() % model_w; - y2 = random() % model_h; - delay_usecs = get_integer_resource ("delay", "Integer"); n_restart = get_integer_resource ("restart", "Integer"); @@ -280,10 +334,15 @@ screenhack (Display *dpy, Window window) while (1) { int i_batch; - if (!i_restart) + if (i_restart == 0) { + /* Time to start a new simulation, this one has probably got + to be a bit boring. */ setup_colormap (dpy, &wattr, &colors, &n_colors); + erase_full_window (dpy, window); model_initialize (model); + pos = 1; + wrapped = 0; } for (i_batch = batchcount; i_batch; i_batch--) @@ -296,27 +355,33 @@ screenhack (Display *dpy, Window window) XChangeGC (dpy, fgc, GCForeground, &gcv); } - /* draw a line */ - x1 = x2; - y1 = y2; + assert(pos >= 0 && pos < settings.trail); + model_step (model, &history[pos]); - model_step (model, &x2, &y2); + draw_step (&settings, dpy, window, fgc, pos, history); - XDrawLine (dpy, window, fgc, - x1 * cell_size + cell_size/2, - y1 * cell_size + cell_size/2, - x2 * cell_size + cell_size/2, - y2 * cell_size + cell_size/2); + /* we use the history as a ring buffer, but don't start erasing until + we've wrapped around once. */ + if (++pos >= settings.trail) + { + pos -= settings.trail; + wrapped = 1; + } - XSync (dpy, False); - screenhack_handle_events (dpy); + if (wrapped) + { + draw_step (&settings, dpy, window, bgc, pos+1, history); + } - if (delay_usecs) - usleep (delay_usecs); - } + XSync (dpy, False); + screenhack_handle_events (dpy); + + if (delay_usecs) + usleep (delay_usecs); + } + i_restart = (i_restart + 1) % n_restart; - erase_full_window (dpy, window); } } diff --git a/hacks/critical.man b/hacks/critical.man index 21eec6a5..4b4c2218 100644 --- a/hacks/critical.man +++ b/hacks/critical.man @@ -1,4 +1,4 @@ -.TH XScreenSaver 1 "13-Nov-98" "X Version 11" +.TH XScreenSaver 1 "08 Feb 2000" "X Version 11" .SH NAME critical - Draw a system showing self-organizing criticality .SH SYNOPSIS @@ -58,6 +58,9 @@ The maximum random radius increment to use. .B \-ncolors \fIinteger\fP How many colors should be allocated in the color ramp (note that this value interacts with \fIoffset\fP.) +.TP 8 +.B \-trail \fIinteger\fP +Length of the trail: between 5 and 100 is nice. .SH ENVIRONMENT .PP .TP 8 @@ -83,5 +86,5 @@ supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. .SH AUTHOR -Martin Pool , 13-Nov-1998. Based in part on the +Martin Pool , 1998-2000. Based in part on the XScreenSaver code by Jamie Zawinski . diff --git a/hacks/flow.c b/hacks/flow.c index d3cc904f..0f8c2f4a 100644 --- a/hacks/flow.c +++ b/hacks/flow.c @@ -8,6 +8,7 @@ static const char sccsid[] = "@(#)flow.c 4.10 98/04/24 xlockmore"; /*- * Copyright (c) 1996 by Tim Auckland + * Portions added by Stephen Davies are Copyright (c) 2000 Stephen Davies * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, @@ -27,6 +28,12 @@ static const char sccsid[] = "@(#)flow.c 4.10 98/04/24 xlockmore"; * sections of the "Birkhoff Bagel" and Duffing's forced occilator. * * Revision History: + * 21-Feb-00: Major hackage by Chalky (Stephen Davies, chalky@null.net) + * Forced perspective mode, added 3d box around attractor which + * involved coding 3d-planar-clipping against the view-frustrum + * thingy. Also made view alternate between piggybacking on a 'bee' + * to zooming around outside the attractor. Most bees slow down and + * stop, to make the structure of the attractor more obvious. * 31-Nov-98: [TDA] Added Duffing (what a strange day that was :) DAB) * Duffing's forced oscillator has been added to the formula list and * the parameters section has been updated to display it in Poincare' @@ -48,9 +55,16 @@ static const char sccsid[] = "@(#)flow.c 4.10 98/04/24 xlockmore"; # define HACK_DRAW draw_flow # define flow_opts xlockmore_opts # define DEFAULTS "*delay: 1000 \n" \ - "*count: 1024 \n" \ + "*count: 500 \n" \ "*cycles: 3000 \n" \ - "*ncolors: 200 \n" + "*ncolors: 200 \n" \ + "*rotate: True \n" \ + "*ride: True \n" \ + "*zoom: True \n" \ + "*allow2d: True \n" \ + "*box: True \n" \ + "*slow: True \n" \ + "*freeze: True \n" # define SMOOTH_COLORS # include "xlockmore.h" /* in xscreensaver distribution */ # include "erase.h" @@ -59,7 +73,8 @@ static const char sccsid[] = "@(#)flow.c 4.10 98/04/24 xlockmore"; # include "xlock.h" /* in xlockmore distribution */ #endif /* STANDALONE */ -ModeSpecOpt flow_opts = { 0, NULL, 0, NULL, NULL }; +XrmOptionDescRec flow_options[]; +ModeSpecOpt flow_opts = { 7, flow_options, 0, NULL, NULL }; #ifdef USE_MODULES ModStruct flow_description = { @@ -87,7 +102,22 @@ typedef struct { #define Z(t,b) (sp->p[t][b].z) #define balance_rand(v) ((LRAND()/MAXRAND*(v))-((v)/2)) /* random around 0 */ #define SCALE_X(A) (sp->width/2+sp->width/sp->size*(A)) -#define SCALE_Y(A) (sp->height/2+sp->height/sp->size*(A)) +/*#define SCALE_Y(A) (sp->height/2+sp->height/sp->size*(A))*/ +#define SCALE_Y(A) (sp->height/2+sp->width/sp->size*(A)) + +/* Mode of operation. Rotate, ride and zoom are mutually exclusive */ +typedef enum { + FLOW_ROTATE = 1, /* Rotate around attractor */ + FLOW_RIDE = 2, /* Ride a trained bee */ + FLOW_ZOOM = 4, /* Zoom in and out */ + FLOW_2D = 8, /* Allow 2D attractors */ + FLOW_BOX = 16, /* Compute a box around the attractor */ + FLOW_SLOW = 32, /* Some bees are slower (and have antifreeze) */ + FLOW_FREEZE = 64, /* Freeze some of the bees in action */ +} FlowMode; + +#define FLOW_DEFAULT (FLOW_ROTATE|FLOW_RIDE|FLOW_ZOOM|FLOW_2D|\ + FLOW_BOX|FLOW_SLOW|FLOW_FREEZE) typedef struct { int width; @@ -101,11 +131,15 @@ typedef struct { XSegment *old_segs; /* old bee lines */ int nold_segs; double step; + double slow; + double slow_view; dvector centre; /* centre */ + dvector range; struct { double depth; double height; } view; + dvector circle[2]; /* POV that circles around the scene */ dvector *p[2]; /* bee positions x[time][bee#] */ struct { double theta; @@ -115,6 +149,7 @@ typedef struct { } tumble; dvector (*ODE) (Par par, double x, double y, double z); Par par; + FlowMode mode; /* Mode of operation */ } flowstruct; static flowstruct *flows = NULL; @@ -174,13 +209,14 @@ Duffing(Par par, double x, double y, double z) return d; } +void init_clip(flowstruct *sp); + void init_flow(ModeInfo * mi) { flowstruct *sp; int b; double beemult = 1; - dvector range; static int allocated = 0; if (flows == NULL) { @@ -191,6 +227,8 @@ init_flow(ModeInfo * mi) sp = &flows[MI_SCREEN(mi)]; sp->count = 0; + sp->slow = 0.999; + sp->slow_view = 0.90; sp->width = MI_WIDTH(mi); sp->height = MI_HEIGHT(mi); @@ -201,72 +239,94 @@ init_flow(ModeInfo * mi) sp->tumble.dphi = 0.001; sp->view.height = 0; sp->view.depth = 0; /* no perspective view */ + sp->mode = 0; + if (get_boolean_resource ("rotate", "Boolean")) sp->mode |= FLOW_ROTATE; + if (get_boolean_resource ("ride", "Boolean")) sp->mode |= FLOW_RIDE; + if (get_boolean_resource ("zoom", "Boolean")) sp->mode |= FLOW_ZOOM; + if (get_boolean_resource ("allow2d", "Boolean")) sp->mode |= FLOW_2D; + if (get_boolean_resource ("slow", "Boolean")) sp->mode |= FLOW_SLOW; + if (get_boolean_resource ("freeze", "Boolean")) sp->mode |= FLOW_FREEZE; + if (get_boolean_resource ("box", "Boolean")) sp->mode |= FLOW_BOX; + + b = (sp->mode & FLOW_2D) ? 5 : 3; + b = NRAND(b); + + /* If more than one of rotate, ride and zoom are set, choose one */ + if (b < 3) { + int num = 0, modes[3]; + + if (sp->mode & FLOW_ROTATE) modes[num++] = FLOW_ROTATE; + if (sp->mode & FLOW_RIDE) modes[num++] = FLOW_RIDE; + if (sp->mode & FLOW_ZOOM) modes[num++] = FLOW_ZOOM; + + sp->mode &= ~(FLOW_ROTATE | FLOW_RIDE | FLOW_ZOOM); - switch (NRAND(8)) { + if (num) sp->mode |= modes[ NRAND(num) ]; + else sp->mode |= FLOW_ZOOM; + } + + switch (b) { case 0: sp->view.depth = 10; sp->view.height = 0.2; beemult = 3; - case 1: sp->ODE = Lorentz; sp->step = 0.02; sp->size = 60; sp->centre.x = 0; sp->centre.y = 0; sp->centre.z = 24; - range.x = 5; - range.y = 5; - range.z = 1; + sp->range.x = 5; + sp->range.y = 5; + sp->range.z = 1; sp->par.a = 10 + balance_rand(5); sp->par.b = 28 + balance_rand(5); sp->par.c = 2 + balance_rand(1); break; - case 2: + case 1: sp->view.depth = 10; sp->view.height = 0.1; beemult = 4; - case 3: sp->ODE = Rossler; sp->step = 0.05; sp->size = 24; sp->centre.x = 0; sp->centre.y = 0; sp->centre.z = 3; - range.x = 4; - range.y = 4; - range.z = 7; + sp->range.x = 4; + sp->range.y = 4; + sp->range.z = 7; sp->par.a = 2 + balance_rand(1); sp->par.b = 0.2 + balance_rand(0.1); sp->par.c = 0.2 + balance_rand(0.1); break; - case 4: + case 2: sp->view.depth = 10; sp->view.height = 0.1; beemult = 3; - case 5: sp->ODE = RosslerCone; sp->step = 0.05; sp->size = 24; sp->centre.x = 0; sp->centre.y = 0; sp->centre.z = 3; - range.x = 4; - range.y = 4; - range.z = 4; + sp->range.x = 4; + sp->range.y = 4; + sp->range.z = 4; sp->par.a = 2; sp->par.b = 0.2; sp->par.c = 0.25 + balance_rand(0.09); break; - case 6: + case 3: sp->ODE = Birkhoff; sp->step = 0.04; sp->size = 2.6; sp->centre.x = 0; sp->centre.y = 0; sp->centre.z = 0; - range.x = 3; - range.y = 4; - range.z = 0; + sp->range.x = 3; + sp->range.y = 4; + sp->range.z = 0; sp->par.a = 10 + balance_rand(5); sp->par.b = 0.35 + balance_rand(0.25); sp->par.c = 1.57; @@ -275,7 +335,7 @@ init_flow(ModeInfo * mi) sp->tumble.dtheta = 0; sp->tumble.dphi = 0; break; - case 7: + case 4: default: sp->ODE = Duffing; sp->step = 0.02; @@ -283,9 +343,9 @@ init_flow(ModeInfo * mi) sp->centre.x = 0; sp->centre.y = 0; sp->centre.z = 0; - range.x = 20; - range.y = 20; - range.z = 0; + sp->range.x = 20; + sp->range.y = 20; + sp->range.z = 0; sp->par.a = 0.2 + balance_rand(0.1); sp->par.b = 27.0 + balance_rand(3.0); sp->par.c = 1.33; @@ -297,6 +357,8 @@ init_flow(ModeInfo * mi) break; } + sp->view.depth *= 4; + sp->beecount = beemult * MI_COUNT(mi); if (sp->beecount < 0) /* random variations */ sp->beecount = NRAND(-sp->beecount) + 1; /* Minimum 1 */ @@ -325,6 +387,7 @@ init_flow(ModeInfo * mi) (void) free((void *) sp->p[1]); sp->p[1] = NULL; } + allocated = sp->beecount; } /* Allocate memory. */ @@ -342,12 +405,204 @@ init_flow(ModeInfo * mi) /* Initialize point positions, velocities, etc. */ for (b = 0; b < sp->beecount; b++) { - X(1, b) = X(0, b) = balance_rand(range.x); - Y(1, b) = Y(0, b) = balance_rand(range.y); - Z(1, b) = Z(0, b) = balance_rand(range.z); + X(1, b) = X(0, b) = balance_rand(sp->range.x); + Y(1, b) = Y(0, b) = balance_rand(sp->range.y); + Z(1, b) = Z(0, b) = balance_rand(sp->range.z); + } + + init_clip(sp); + +} + +/* Clipping planes */ +#define PLANES 5 +static double plane_orig[][2][3] = { + /* X goes into screen, Y goes right, Z goes down(up?) */ + /* {Normal}, {Point} */ + { {1.0, 0, 0}, {0.01, 0, 0} }, + { {1.0, 1.0, 0.0}, {0, 0, 0} }, + { {1.0,-1.0, 0.0}, {0, 0, 0} }, + { {1.0, 0.0, 1.0}, {0, 0, 0} }, + { {1.0, 0.0,-1.0}, {0, 0, 0} } +}; +static double plane[PLANES][2][3]; +static double plane_d[PLANES]; + +#define BOX_P 32 +#define BOX_L 36 +#define MIN_BOX (3) +#define MAX_BOX (MIN_BOX + BOX_L) +/* Points that make up the box (normalized coordinates) */ +static double box_orig[][3] = { + {1,1,1}, /* 0 */ + {1,1,-1}, /* 1 */ + {1,-1,-1}, /* 2 */ + {1,-1,1}, /* 3 */ + {-1,1,1}, /* 4 */ + {-1,1,-1}, /* 5 */ + {-1,-1,-1},/* 6 */ + {-1,-1,1}, /* 7 */ + {1, .8, .8}, + {1, .8,-.8}, + {1,-.8,-.8}, + {1,-.8, .8}, + { .8,1, .8}, + { .8,1,-.8}, + {-.8,1,-.8}, + {-.8,1, .8}, + { .8, .8,1}, + { .8,-.8,1}, + {-.8,-.8,1}, + {-.8, .8,1}, + {-1, .8, .8}, + {-1, .8,-.8}, + {-1,-.8,-.8}, + {-1,-.8, .8}, + { .8,-1, .8}, + { .8,-1,-.8}, + {-.8,-1,-.8}, + {-.8,-1, .8}, + { .8, .8,-1}, + { .8,-.8,-1}, + {-.8,-.8,-1}, + {-.8, .8,-1} +}; + +/* Container for scaled box points */ +static double box[BOX_P][3]; + +/* Lines connecting the box dots */ +static double lines[0][2] = { + {0,1}, {1,2}, {2,3}, {3,0}, /* box */ + {4,5}, {5,6}, {6,7}, {7,4}, + {0,4}, {1,5}, {2,6}, {3,7}, + {4+4,5+4}, {5+4,6+4}, {6+4,7+4}, {7+4,4+4}, + {4+8,5+8}, {5+8,6+8}, {6+8,7+8}, {7+8,4+8}, + {4+12,5+12}, {5+12,6+12}, {6+12,7+12}, {7+12,4+12}, + {4+16,5+16}, {5+16,6+16}, {6+16,7+16}, {7+16,4+16}, + {4+20,5+20}, {5+20,6+20}, {6+20,7+20}, {7+20,4+20}, + {4+24,5+24}, {5+24,6+24}, {6+24,7+24}, {7+24,4+24}, +}; + +/* Boundaries of bees */ +double xmin, xmax; +double ymin, ymax; +double zmin, zmax; + +void init_clip(flowstruct *sp) +{ + int i; + + /* Scale the planes to the screen. I had to invert the projection + * algorithms so that when projected they would be right at the edge of the + * screen. */ + double width = sp->size/sp->view.depth/2; + double height = sp->size/sp->view.depth/2*sp->view.height/sp->view.height; + for (i = 0; i < PLANES; i++) { + /* Copy orig planes into planes, expanding <-> clippings */ + plane[i][0][0] = plane_orig[i][0][0]; + plane[i][0][1] = plane_orig[i][0][1] / width; + plane[i][0][2] = plane_orig[i][0][2] / height; + plane[i][1][0] = plane_orig[i][1][0]; + plane[i][1][1] = plane_orig[i][1][1]; + plane[i][1][2] = plane_orig[i][1][2]; + + /* Calculate the 'd' part of 'ax + by + cz = d' */ + plane_d[i] = - plane[i][0][0] * plane[i][1][0]; + plane_d[i] -= plane[i][0][1] * plane[i][1][1]; + plane_d[i] -= plane[i][0][2] * plane[i][1][2]; + } + xmin = X(0, i); xmax = X(0,i); + ymin = Y(0, i); ymax = Y(0,i); + zmin = Z(0, i); zmax = Z(0,i); +} + +/* Scale the box defined above to fit around all points */ +void create_box(flowstruct *sp) +{ + int i = MAX_BOX; + double xmid, ymid, zmid; + double xsize, ysize, zsize; + double size; + + /* Count every 5th point for speed.. */ + for (; i < sp->beecount; i += 5) { + if ( X(0,i) < xmin ) xmin = X(0, i); + else if ( X(0,i) > xmax ) xmax = X(0, i); + if ( Y(0,i) < ymin ) ymin = Y(0, i); + else if ( Y(0,i) > ymax ) ymax = Y(0, i); + if ( Z(0,i) < zmin ) zmin = Z(0, i); + else if ( Z(0,i) > zmax ) zmax = Z(0, i); } + xmid = (xmax+xmin)/2; + ymid = (ymax+ymin)/2; + zmid = (zmax+zmin)/2; + xsize = xmax - xmin; + ysize = ymax - ymin; + zsize = zmax - zmin; + size = xsize; + if (ysize> size) size = ysize; + if (zsize > size) size = zsize; + size /= 2; + + /* Scale box */ + for (i = 0; i < BOX_P; i++) { + box[i][0] = box_orig[i][0] * size + xmid; + box[i][1] = box_orig[i][1] * size + ymid; + box[i][2] = box_orig[i][2] * size + zmid; + } + } +/* Returns true if point is infront of the plane (rather than behind) */ +int infront_of(double x, double y, double z, int i) +{ + double sum = plane[i][0][0]*x + plane[i][0][1]*y + plane[i][0][2]*z + plane_d[i]; + return sum >= 0.0; +} + +/* Returns true if line was behind a clip plane, or clips the line */ +int clip(double *x1, double *y1, double *z1, double *x2, double *y2, double *z2) +{ + int i; + for (i = 0; i < PLANES; i++) { + double t; + double x, y, z; /* Intersection point */ + double dx, dy, dz; /* line delta */ + int front1, front2; + front1 = infront_of(*x1, *y1, *z1, i); + front2 = infront_of(*x2, *y2, *z2, i); + if (!front1 && !front2) return 1; + if (front1 && front2) continue; + + dx = *x2 - *x1; + dy = *y2 - *y1; + dz = *z2 - *z1; + + /* Find t in line equation */ + t = ( plane_d[i] - + plane[i][0][0]*(*x1) - plane[i][0][1]*(*y1) - plane[i][0][2]*(*z1) ) + / + ( plane[i][0][0]*dx + plane[i][0][1]*dy + plane[i][0][2]*dz ); + + x = *x1 + dx * t; + y = *y1 + dy * t; + z = *z1 + dz * t; + /* Make point that was behind to be the intersect */ + if (front2) { + *x1 = x; + *y1 = y; + *z1 = z; + } else { + *x2 = x; + *y2 = y; + *z2 = z; + } + } + return 0; +} + + void draw_flow(ModeInfo * mi) { @@ -357,7 +612,14 @@ draw_flow(ModeInfo * mi) flowstruct *sp = &flows[MI_SCREEN(mi)]; int b, c, i; int col, ix; + int new_view = 0; double M[3][3]; /* transformation matrix */ + double step_view = sp->step; + double step_bees = sp->step; + double step_slow = sp->step; + double pp, pc; + + create_box(sp); if(!sp->view.depth){ /* simple 3D tumble */ double sint, cost, sinp, cosp; @@ -382,30 +644,80 @@ draw_flow(ModeInfo * mi) MI_IS_DRAWN(mi) = True; + /* Calculate circling POV */ + sp->circle[1] = sp->circle[0]; + sp->circle[0].x = sp->size * 2 * sin(sp->count / 40.0) * (0.6 + 0.4 *cos(sp->count / 100.0)); + sp->circle[0].y = sp->size * 2 * cos(sp->count / 40.0) * (0.6 + 0.4 *cos(sp->count / 100.0)); + sp->circle[0].z = sp->size * 2 * sin(sp->count / 421.0); + + if (sp->mode & FLOW_ROTATE) + pp = 0; + else if (sp->mode & FLOW_RIDE) + pp = 1; + else /* ZOOM */ + /* Bistable oscillator to switch between the trained bee and the circler */ + pp = -sin(sin(sin(cos(sp->count / 150.0)*M_PI/2)*M_PI/2)*M_PI/2) *0.5 + 0.5; + pc = 1 - pp; + + + /* Slow down or speed up the bees / view: */ + + /* exponentially accelerate towards zero */ + sp->slow = sp->slow * 1.005 - 0.005; + if (sp->slow < 0) sp->slow = 0; + + sp->slow_view = sp->slow_view * 1.005 - 0.005; + if (sp->slow_view < 0) sp->slow_view = 0; + + /* View speeds up, slow bees slow to half speed, and other bees will + * actually stop */ + step_view = step_view * (1.01 - sp->slow_view * sp->slow_view) * 0.2; + step_slow = step_slow * (sp->slow + 0.5) / 2; + if (sp->mode & FLOW_SLOW) + step_bees = step_bees * sp->slow; + else + step_bees = step_slow; + /* <=- Bees -=> */ for (b = 0; b < sp->beecount; b++) { + /* Calc if this bee is slow. Note normal bees are exempt from + * calculations once they slow to half speed, so that they remain as + * frozen lines rather than barely-visible points */ + int slow = ((b & 0x7) == 0); + if ( !(sp->mode & FLOW_FREEZE) ) slow = 1; /* Age the arrays. */ - X(1, b) = X(0, b); - Y(1, b) = Y(0, b); - Z(1, b) = Z(0, b); - - /* 2nd order Kunge Kutta */ - { - dvector k1, k2; - - k1 = sp->ODE(sp->par, X(1, b), Y(1, b), Z(1, b)); - k1.x *= sp->step; - k1.y *= sp->step; - k1.z *= sp->step; - k2 = sp->ODE(sp->par, X(1, b) + k1.x, Y(1, b) + k1.y, Z(1, b) + k1.z); - k2.x *= sp->step; - k2.y *= sp->step; - k2.z *= sp->step; - X(0, b) = X(1, b) + (k1.x + k2.x) / 2.0; - Y(0, b) = Y(1, b) + (k1.y + k2.y) / 2.0; - Z(0, b) = Z(1, b) + (k1.z + k2.z) / 2.0; + if (b < 2 || sp->slow > 0.5 || slow) { + X(1, b) = X(0, b); + Y(1, b) = Y(0, b); + Z(1, b) = Z(0, b); + + /* 2nd order Kunge Kutta */ + { + dvector k1, k2; + double step; + + if (b == 0 || b == 1) { + step = step_view; + } else if (slow) { + step = step_slow; + } else { + step = step_bees; + } + k1 = sp->ODE(sp->par, X(1, b), Y(1, b), Z(1, b)); + k1.x *= step; + k1.y *= step; + k1.z *= step; + k2 = sp->ODE(sp->par, X(1, b) + k1.x, Y(1, b) + k1.y, Z(1, b) + k1.z); + k2.x *= step; + k2.y *= step; + k2.z *= step; + X(0, b) = X(1, b) + (k1.x + k2.x) / 2.0; + Y(0, b) = Y(1, b) + (k1.y + k2.y) / 2.0; + Z(0, b) = Z(1, b) + (k1.z + k2.z) / 2.0; + } } + /* Colour according to bee */ col = b % (MI_NPIXELS(mi) - 1); ix = col * sp->beecount + sp->cnsegs[col]; @@ -414,11 +726,12 @@ draw_flow(ModeInfo * mi) if(sp->view.depth) { /* perspective view has special points */ if(b==0){ /* point of view */ - sp->centre.x=X(0, b); - sp->centre.y=Y(0, b); - sp->centre.z=Z(0, b); + sp->centre.x = X(0, b) * pp + sp->circle[0].x * pc; + sp->centre.y = Y(0, b) * pp + sp->circle[0].y * pc; + sp->centre.z = Z(0, b) * pp + sp->circle[0].z * pc; + /*printf("center: (%3.3f,%3.3f,%3.3f)\n",sp->centre.x, sp->centre.y, sp->centre.z);*/ }else if(b==1){ /* neighbour: used to compute local axes */ - double x[3], p[3], x2=0, xp=0; + double x[3], p[3], x2=0, xp=0, C[3][3]; int j; /* forward */ @@ -456,6 +769,49 @@ draw_flow(ModeInfo * mi) Y(0, 1)=Y(0, 0)+M[1][1]; Z(0, 1)=Z(0, 0)+M[1][2]; + /* Look at trained bee into C matrix */ + /* forward */ + x[0] = 0 - sp->circle[0].x; + x[1] = 0 - sp->circle[0].y; + x[2] = 0 - sp->circle[0].z; + + /* neighbour */ + p[0] = sp->circle[0].x - sp->circle[1].x; + p[1] = sp->circle[0].y - sp->circle[1].y; + p[2] = sp->circle[0].z - sp->circle[1].z; + + for(i=0; i<3; i++){ + x2+= x[i]*x[i]; /* X . X */ + xp+= x[i]*p[i]; /* X . P */ + C[0][i] = x[i]; /* X */ + } + + for(i=0; i<3; i++) /* (X x P) x X */ + C[1][i] = x2*p[i] - xp*x[i]; /* == (X . X) P - (X . P) X */ + + C[2][0] = x[1]*p[2] - x[2]*p[1]; /* X x P */ + C[2][1] = -x[0]*p[2] + x[2]*p[0]; + C[2][2] = x[0]*p[1] - x[1]*p[0]; + + /* normalise axes */ + for(j=0; j<3; j++){ + double A=0; + for(i=0; i<3; i++) A+=C[j][i]*C[j][i]; /* sum squares */ + A=sqrt(A); + for(i=0; i<3; i++) C[j][i]/=A; + } + + /* Interpolate between Center and Trained Bee matrices */ + /* This isn't very accurate and leads to weird transformations + * (shearing, etc), but it works. Besides, sometimes they look + * cool :) */ + pp = pp * pp; /* Don't follow bee's direction until very close */ + pc = 1 - pp; + for (i = 0; i < 3; i++) + for (j = 0; j < 3; j++) + M[i][j] = M[i][j] * pp + C[i][j] * pc; + + #if 0 /* display local axes for testing */ X(1, b)=X(0, 0); Y(1, b)=Y(0, 0); @@ -475,9 +831,18 @@ draw_flow(ModeInfo * mi) Y(1, b)=Y(0, 0); Z(1, b)=Z(0, 0); #endif + /* Draw a box... */ } } + if (b >= MIN_BOX && b < MAX_BOX) { + int p1 = lines[b-MIN_BOX][0]; + int p2 = lines[b-MIN_BOX][1]; + X(0, b) = box[p1][0]; Y(0, b) = box[p1][1]; Z(0, b) = box[p1][2]; + X(1, b) = box[p2][0]; Y(1, b) = box[p2][1]; Z(1, b) = box[p2][2]; + } + +#if 0 /* Original code */ for(i=0; i<2; i++){ double x=X(i,b)-sp->centre.x; double y=Y(i,b)-sp->centre.y; @@ -507,7 +872,58 @@ draw_flow(ModeInfo * mi) } if(i == 2) /* both assigned */ sp->cnsegs[col]++; - } +#else + /* Chalky's code w/ clipping */ + if (b < ((sp->mode & FLOW_BOX) ? 2 : MAX_BOX)) + continue; + do { + double x1=X(0,b)-sp->centre.x; + double y1=Y(0,b)-sp->centre.y; + double z1=Z(0,b)-sp->centre.z; + double X1=M[0][0]*x1 + M[0][1]*y1 + M[0][2]*z1; + double Y1=M[1][0]*x1 + M[1][1]*y1 + M[1][2]*z1; + double Z1=M[2][0]*x1 + M[2][1]*y1 + M[2][2]*z1+sp->view.height; + double absx1, absy1; + double x2=X(1,b)-sp->centre.x; + double y2=Y(1,b)-sp->centre.y; + double z2=Z(1,b)-sp->centre.z; + double X2=M[0][0]*x2 + M[0][1]*y2 + M[0][2]*z2; + double Y2=M[1][0]*x2 + M[1][1]*y2 + M[1][2]*z2; + double Z2=M[2][0]*x2 + M[2][1]*y2 + M[2][2]*z2+sp->view.height; + double absx2, absy2; + if(sp->view.depth){ + /* Need clipping if: is part of box, or close to viewer */ + if ( (b >= MIN_BOX && b < MAX_BOX) || X1 <= 0.1 || X2 < 0.1) + if (clip(&X1, &Y1, &Z1, &X2, &Y2, &Z2)) + break; + if (X1 <= 0 || X2 <= 0) break; + absx1=SCALE_X(sp->view.depth*Y1/X1); + absy1=SCALE_Y(sp->view.depth*Z1/X1); + if(absx1 < -sp->width || absx1 > 2*sp->width || + absy1 < -sp->height || absy1 > 2*sp->height) + break; + absx2=SCALE_X(sp->view.depth*Y2/X2); + absy2=SCALE_Y(sp->view.depth*Z2/X2); + if(absx2 < -sp->width || absx2 > 2*sp->width || + absy2 < -sp->height || absy2 > 2*sp->height) + break; + }else{ + absx1=SCALE_X(X1); + absy1=SCALE_Y(Y1); + absx2=SCALE_X(X2); + absy2=SCALE_Y(Y2); + } + + sp->csegs[ix].x1 = (short) absx1; + sp->csegs[ix].y1 = (short) absy1; + sp->csegs[ix].x2 = (short) absx2; + sp->csegs[ix].y2 = (short) absy2; + + sp->cnsegs[col]++; + } while (0); +#endif + } + if (sp->count) { /* erase */ XSetForeground(display, gc, MI_BLACK_PIXEL(mi)); XDrawSegments(display, window, gc, sp->old_segs, sp->nold_segs); @@ -534,6 +950,23 @@ draw_flow(ModeInfo * mi) if (++sp->count > MI_CYCLES(mi)) /* pick a new flow */ init_flow(mi); + + if (sp->count % (MI_CYCLES(mi)/4) == 0) { /* pick a new view */ + new_view = 0; /* change to 1 .. */ + } + + if (X(0, 0) < xmin*2 || X(0, 0) > xmax*2) new_view = 1; + if (Y(0, 0) < ymin*2 || Y(0, 0) > ymax*2) new_view = 1; + if (Z(0, 0) < zmin*2 || Z(0, 0) > zmax*2) new_view = 1; + + if (new_view) { + for (b = 0; b < 2; b++) { + X(1, b) = X(0, b) = balance_rand(sp->range.x*4); + Y(1, b) = Y(0, b) = balance_rand(sp->range.y*4); + Z(1, b) = Z(0, b) = balance_rand(sp->range.z*4); + } + sp->slow_view = 0.90; + } } void @@ -566,3 +999,29 @@ refresh_flow(ModeInfo * mi) { MI_CLEARWINDOW(mi); } + +XrmOptionDescRec flow_options[] = +{ + {"-rotate", ".rotate", XrmoptionSepArg, 0}, + {"-ride", ".ride", XrmoptionSepArg, 0}, + {"-zoom", ".zoom", XrmoptionSepArg, 0}, + {"-box", ".box", XrmoptionSepArg, 0}, + {"-slow", ".slow", XrmoptionSepArg, 0}, + {"-freeze", ".freeze", XrmoptionSepArg, 0}, + {"-allow2d", ".allow2d", XrmoptionSepArg, 0}, + { 0, 0, 0, 0 } +}; + +/* +char* defaults[] = +{ + "*rotate: True", + "*ride: True", + "*zoom: True", + "*allow2d: True", + "*box: True", + "*slow: True", + "*freeze: True", + 0 +}; + */ diff --git a/hacks/maze.c b/hacks/maze.c index 40edf41b..9d22778f 100644 --- a/hacks/maze.c +++ b/hacks/maze.c @@ -1,6 +1,10 @@ /****************************************************************************** * [ maze ] ... * + * modified: [ 1-04-00 ] Johannes Keukelaar + * Added -ignorant option (not the default) to remove knowlege + * of the direction in which the exit lies. + * * modified: [ 6-28-98 ] Zack Weinberg * * Made the maze-solver somewhat more intelligent. There are @@ -159,7 +163,7 @@ static GC gc, cgc, tgc, sgc, ugc, logo_gc, erase_gc; static Pixmap logo_map; static int x = 0, y = 0, restart = 0, stop = 1, state = 1, max_length; -static int sync_p, bridge_p; +static int sync_p, bridge_p, ignorant_p; static int check_events (void) /* X event handler [ rhess ] */ @@ -1434,44 +1438,60 @@ solve_maze (void) /* solve it with graphical feedback */ if(!ways) goto backtrack; - - x = path[i].x - start_x; - y = path[i].y - start_y; - /* choice one */ - if(abs(y) <= abs(x)) - dir = (x > 0) ? WALL_LEFT : WALL_RIGHT; - else - dir = (y > 0) ? WALL_TOP : WALL_BOTTOM; - - if(dir & ways) - goto found; - - /* choice two */ - switch(dir) - { - case WALL_LEFT: - case WALL_RIGHT: - dir = (y > 0) ? WALL_TOP : WALL_BOTTOM; break; - case WALL_TOP: - case WALL_BOTTOM: - dir = (x > 0) ? WALL_LEFT : WALL_RIGHT; - } - - if(dir & ways) - goto found; - - /* choice three */ - - dir = (dir << 2 & WALL_ANY) | (dir >> 2 & WALL_ANY); - if(dir & ways) - goto found; - - /* choice four */ - dir = ways; - if(!dir) - goto backtrack; - found: + if (!ignorant_p) + { + x = path[i].x - start_x; + y = path[i].y - start_y; + /* choice one */ + if(abs(y) <= abs(x)) + dir = (x > 0) ? WALL_LEFT : WALL_RIGHT; + else + dir = (y > 0) ? WALL_TOP : WALL_BOTTOM; + + if(dir & ways) + goto found; + + /* choice two */ + switch(dir) + { + case WALL_LEFT: + case WALL_RIGHT: + dir = (y > 0) ? WALL_TOP : WALL_BOTTOM; break; + case WALL_TOP: + case WALL_BOTTOM: + dir = (x > 0) ? WALL_LEFT : WALL_RIGHT; + } + + if(dir & ways) + goto found; + + /* choice three */ + + dir = (dir << 2 & WALL_ANY) | (dir >> 2 & WALL_ANY); + if(dir & ways) + goto found; + + /* choice four */ + dir = ways; + if(!dir) + goto backtrack; + + found: + } + else + { + if(ways&WALL_TOP) + dir = WALL_TOP; + else if(ways&WALL_LEFT) + dir = WALL_LEFT; + else if(ways&WALL_BOTTOM) + dir = WALL_BOTTOM; + else if(ways&WALL_RIGHT) + dir = WALL_RIGHT; + else + goto backtrack; + } bt = 0; ways &= ~dir; /* tried this one */ @@ -1498,7 +1518,7 @@ solve_maze (void) /* solve it with graphical feedback */ return; } - if(!bt) + if(!bt && !ignorant_p) find_dead_regions(); bt = 1; from = path[i-1].dir; @@ -1565,6 +1585,8 @@ char *defaults[] = { }; XrmOptionDescRec options[] = { + { "-ignorant", ".ignorant", XrmoptionNoArg, "True" }, + { "-no-ignorant", ".ignorant", XrmoptionNoArg, "False" }, { "-grid-size", ".gridSize", XrmoptionSepArg, 0 }, { "-solve-delay", ".solveDelay", XrmoptionSepArg, 0 }, { "-pre-delay", ".preDelay", XrmoptionSepArg, 0 }, @@ -1600,6 +1622,7 @@ screenhack(Display *display, Window window) generator = get_integer_resource("generator", "Integer"); max_length = get_integer_resource("maxLength", "Integer"); bridge_p = get_boolean_resource("bridge", "Boolean"); + ignorant_p = get_boolean_resource("ignorant", "Boolean"); if (size < 2) size = 7 + (random () % 30); grid_width = grid_height = size; diff --git a/hacks/phosphor.man b/hacks/phosphor.man index e586f897..0b8f7900 100644 --- a/hacks/phosphor.man +++ b/hacks/phosphor.man @@ -1,3 +1,16 @@ +.de EX \"Begin example +.ne 5 +.if n .sp 1 +.if t .sp .5 +.nf +.in +.5i +.. +.de EE +.fi +.in -.5i +.if n .sp 1 +.if t .sp .5 +.. .TH XScreenSaver 1 "30-Oct-99" "X Version 11" .SH NAME phosphor - simulates an old terminal with long-sustain phosphor @@ -61,6 +74,12 @@ In other words, programs like will work, but programs like .BR top (1) won't. + +Here's a good trick, to get phosphor to display recent web search terms: +.EX +phosphor -program \\ + 'wget -qO- http://webcrawler.com/cgi-bin/SearchTicker' +.EE .SH ENVIRONMENT .PP .TP 8 @@ -71,6 +90,7 @@ to get the default host and display number. to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property. .SH SEE ALSO +.BR wget (1), .BR X (1), .BR xscreensaver (1) .SH COPYRIGHT diff --git a/hacks/vidwhacker b/hacks/vidwhacker index a82da03e..5d9fe9cd 100755 --- a/hacks/vidwhacker +++ b/hacks/vidwhacker @@ -176,6 +176,11 @@ grab() { # streamer -o $tmp_ppm1 # + # James Isaacs says this works for the ATI video capture card: + # + # atitv snap $tmp_ppm1 + # + else echo "$0: don't know how to grab video on this OS." >&2 clean2 diff --git a/hacks/webcollage b/hacks/webcollage index bf46fffd..880dfb93 100755 --- a/hacks/webcollage +++ b/hacks/webcollage @@ -27,7 +27,7 @@ require POSIX; use Fcntl ':flock'; # import LOCK_* constants -my $version = q{ $Revision: 1.43 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; +my $version = q{ $Revision: 1.44 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/; my $copyright = "WebCollage $version, Copyright (c) 1999" . " Jamie Zawinski \n" . " http://www.jwz.org/xscreensaver/\n"; @@ -40,9 +40,9 @@ my $image_randomizer_1 = "http://www.altavista.com/query" . "?mmdo=3" . "&nbq=12" . "&stype=simage" . - "&oart=1" . - "&obw=1" . - "&oshape=0" . + "&iclr=1" . + "&ibw=1" . + "&iexc=1" . "&what=web" . "&q="; my $image_randomizer_2 = "http://www.hotbot.com/?clickSrc=search" . @@ -565,6 +565,10 @@ sub random_word { $word = ; # toss partial line $word = ; # keep next line } + if (!$word) { + seek( IN, 0, 0 ); + $word = ; + } close (IN); } @@ -580,6 +584,10 @@ sub random_word { $word =~ s/izes$/ize/; $word =~ tr/A-Z/a-z/; + if ( $word =~ s/[ \t\n\r]/\+/g ) { # convert intra-word spaces to "+". + $word = "\%22$word\%22"; # And put quotes (%22) around it. + } + return $word; } diff --git a/hacks/xflame.c b/hacks/xflame.c index 9d0883c5..2e569e07 100644 --- a/hacks/xflame.c +++ b/hacks/xflame.c @@ -70,6 +70,8 @@ # endif /* VMS */ #endif /* HAVE_XMU */ +#include "images/bob.xbm" + #define MAX_VAL 255 static Display *display; @@ -603,9 +605,33 @@ loadBitmap(int *w, int *h) { char *bitmap_name = get_string_resource ("bitmap", "Bitmap"); - if (bitmap_name && - *bitmap_name && - !!strcmp(bitmap_name, "none")) + if (!bitmap_name || + !*bitmap_name || + !strcmp(bitmap_name, "none")) + ; + else if (!strcmp(bitmap_name, "(default)")) /* use the builtin */ + { + XImage *ximage; + unsigned char *result, *o; + char *bits = (char *) malloc (sizeof(bob_bits)); + int x, y; + int scale = ((width > bob_width * 11) ? 2 : 1); + + memcpy (bits, bob_bits, sizeof(bob_bits)); + ximage = XCreateImage (display, visual, 1, XYBitmap, 0, bits, + bob_width, bob_height, 8, 0); + ximage->byte_order = LSBFirst; + ximage->bitmap_bit_order = LSBFirst; + *w = ximage->width * scale; + *h = ximage->height * scale; + o = result = (unsigned char *) malloc ((*w * scale) * (*h * scale)); + for (y = 0; y < *h; y++) + for (x = 0; x < *w; x++) + *o++ = (XGetPixel(ximage, x/scale, y/scale) ? 255 : 0); + + return result; + } + else /* load a bitmap file */ { #ifdef HAVE_XPM XpmInfo xpm_info = { 0, }; @@ -731,7 +757,7 @@ char *progclass = "XFlame"; char *defaults [] = { ".background: black", ".foreground: #FFAF5F", - "*bitmap: none", + "*bitmap: (default)", "*bitmapBaseline: 20", "*delay: 10000", "*hspread: 30", diff --git a/hacks/xflame.man b/hacks/xflame.man new file mode 100644 index 00000000..15a553d5 --- /dev/null +++ b/hacks/xflame.man @@ -0,0 +1,63 @@ +.TH XScreenSaver 1 "27-Feb-00" "X Version 11" +.SH NAME +xflame - draws animated flames +.SH SYNOPSIS +.B xflame +[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install] +[\-visual \fIvisual\fP] [\-hspread \fIint\fP] [\-vspread \fIint\fP] +[\-residual \fIint\fP] [\-variance \fIint\fP] [\-vartrend \fIint\fP] +[\-bloom \| \-no\-bloom] +[\-bitmap \fIxbm\-file\fP] [\-baseline \fIint\fP] +.SH DESCRIPTION +The \fIxflame\fP program draws animated flames across the bottom of the +screen. The flames occasionally flare up. If a bitmap is specified, +that image will float above the flames, burning. +.SH OPTIONS +.I phosphor +accepts the following options: +.TP 8 +.B \-window +Draw on a newly-created window. This is the default. +.TP 8 +.B \-root +Draw on the root window. +.TP 8 +.B \-install +Install a private colormap for the window. +.TP 8 +.B \-visual \fIvisual\fP\fP +Specify which visual to use. Legal values are the name of a visual class, +or the id number (decimal or hex) of a specific visual. +.TP 8 +.B \-bitmap \fIfilename\fP\fP +Specifies the bitmap file to use (a monochrome XBM file.) +The name "none" means not to use a bitmap at all. +If unspecified, a built-in image will be used. +.PP +The other options are arcane. If someone would care to document them, +that would be great. +.SH ENVIRONMENT +.PP +.TP 8 +.B DISPLAY +to get the default host and display number. +.TP 8 +.B XENVIRONMENT +to get the name of a resource file that overrides the global resources +stored in the RESOURCE_MANAGER property. +.SH SEE ALSO +.BR X (1), +.BR xscreensaver (1) +.SH COPYRIGHT +Copyright \(co 1996-1999 by Carsten Haitzler. Permission to use, copy, +modify, distribute, and sell this software and its documentation for +any purpose is hereby granted without fee, provided that the above +copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation. +No representations are made about the suitability of this software for +any purpose. It is provided "as is" without express or implied +warranty. +.SH AUTHOR +Primarily written by Carsten Haitzler . +Modified over the years by Rahul Jain , +Daniel Zahn , and Jamie Zawinski . diff --git a/hacks/xteevee.c b/hacks/xteevee.c index fb515f6d..4d838bfd 100644 --- a/hacks/xteevee.c +++ b/hacks/xteevee.c @@ -241,6 +241,12 @@ void xteevee_Static(Display* x_Disp,Window x_Win,XWindowAttributes* x_WinAttr, x_Gc[color_Index]); XFreeGC(x_Disp,x_Gc[color_Index]); } + + for (tile_Index = 0;tile_Index < XTEEVEE_STATIC_TILE_COUNT; + tile_Index++) + { + XFreePixmap(x_Disp, tile_Tile[tile_Index]); + } } /* Vertical Roll =========================================================== */ diff --git a/utils/erase.c b/utils/erase.c index c2c8de7b..851b5b49 100644 --- a/utils/erase.c +++ b/utils/erase.c @@ -476,6 +476,54 @@ random_squares(Display * dpy, Window window, GC gc, free(squares); } +/* I first saw something like this, albeit in reverse, in an early Tetris + implementation for the Mac. + -- Torbjörn Andersson + */ + +static void +slide_lines (Display * dpy, Window window, GC gc, int width, int height, + int delay, int granularity) +{ + int slide_old_x, slide_new_x, clear_x; + int x, y, dx, dy; + + /* This might need some tuning. The idea is to get sensible values no + matter what the size of the window. + + Everything moves at constant speed. Should it accelerate instead? */ + + granularity *= 2; + + dy = MAX (1, height / granularity); + dx = MAX (1, width / 100); + + for (x = 0; x < width; x += dx) + { + for (y = 0; y < height; y += dy) + { + if ((y / dy) & 1) + { + slide_old_x = x; + slide_new_x = x + dx; + clear_x = x; + } + else + { + slide_old_x = dx; + slide_new_x = 0; + clear_x = width - x - dx; + } + + XCopyArea (dpy, window, window, gc, slide_old_x, y, width - x - dx, + dy, slide_new_x, y); + XClearArea (dpy, window, clear_x, y, dx, dy, False); + } + + XSync(dpy, False); + usleep(delay * 3); + } +} static Eraser erasers[] = { random_lines, @@ -488,6 +536,7 @@ static Eraser erasers[] = { fizzle, random_squares, spiral, + slide_lines, }; diff --git a/utils/version.h b/utils/version.h index 2281a99f..a3dc37e3 100644 --- a/utils/version.h +++ b/utils/version.h @@ -1,2 +1,2 @@ static const char screensaver_id[] = - "@(#)xscreensaver 3.23 (30-Jan-00), by Jamie Zawinski (jwz@jwz.org)"; + "@(#)xscreensaver 3.24 (03-Apr-2000), by Jamie Zawinski (jwz@jwz.org)"; diff --git a/xscreensaver.lsm b/xscreensaver.lsm index 53c87374..e04d2cb9 100644 --- a/xscreensaver.lsm +++ b/xscreensaver.lsm @@ -1,7 +1,7 @@ Begin3 Title: xscreensaver -Version: 3.23 -Entered-date: 30JAN00 +Version: 3.24 +Entered-date: 03APR00 Description: A modular screen saver and locker for the X Window System. Highly customizable: allows the use of any program that can draw on the root window as a display mode. @@ -10,15 +10,15 @@ Keywords: screen saver, screen lock, lock, xlock, X11 Author: jwz@jwz.org (Jamie Zawinski) Maintained-by: jwz@jwz.org (Jamie Zawinski) Primary-site: http://www.jwz.org/xscreensaver/ - 1272K xscreensaver-3.23.tar.gz + 1284K xscreensaver-3.24.tar.gz 40K xscreensaver.README 1K xscreensaver.lsm Alternate-site: sunsite.unc.edu /pub/Linux/X11/screensavers/ - 1272K xscreensaver-3.23.tar.gz + 1284K xscreensaver-3.24.tar.gz 40K xscreensaver.README 1K xscreensaver.lsm Alternate-site: ftp.x.org /contrib/applications/ - 1272K xscreensaver-3.23.tar.gz + 1284K xscreensaver-3.24.tar.gz 40K xscreensaver.README 1K xscreensaver.lsm Platforms: Linux, Irix, SunOS, Solaris, HPUX, AIX, FreeBSD, NetBSD, diff --git a/xscreensaver.spec b/xscreensaver.spec index b8e4dfb0..6dc90210 100644 --- a/xscreensaver.spec +++ b/xscreensaver.spec @@ -1,5 +1,5 @@ %define name xscreensaver -%define version 3.23 +%define version 3.24 %define release 1 %define serial 1 %define prefix /usr/X11R6 -- 2.30.2