http://packetstormsecurity.org/UNIX/admin/xscreensaver-3.31.tar.gz
authorZygo Blaxell <zblaxell@hungrycats.org>
Mon, 2 Mar 2009 05:42:46 +0000 (00:42 -0500)
committerZygo Blaxell <zblaxell@faye.furryterror.org>
Fri, 8 Feb 2013 17:53:42 +0000 (12:53 -0500)
-rw-r--r-- 1 zblaxell zblaxell 1585666 Apr  7  2001 xscreensaver-3.31.tar.gz
e9cb1bca76b6bd331c96e57b17f40828b7aaec11  xscreensaver-3.31.tar.gz

32 files changed:
Makefile.in
README
configure
configure.in
driver/Makefile.in
driver/XScreenSaver.ad.in
driver/XScreenSaver_ad.h
driver/dpms.c
driver/prefs.c
driver/xscreensaver-command.man
driver/xscreensaver-demo.man
driver/xscreensaver.man
hacks/Makefile.in
hacks/glx/Makefile.in
hacks/glx/dangerball.c
hacks/glx/fps.c [new file with mode: 0644]
hacks/glx/glplanet.c
hacks/glx/gltext.c
hacks/glx/molecule.c
hacks/glx/pipes.c
hacks/glx/sphere.c [new file with mode: 0644]
hacks/glx/sphere.h [new file with mode: 0644]
hacks/glx/tube.c [new file with mode: 0644]
hacks/glx/tube.h [new file with mode: 0644]
hacks/glx/xlock-gl.c
hacks/nerverot.c
hacks/nerverot.man
hacks/rotzoomer.c
hacks/webcollage
utils/version.h
xscreensaver.lsm
xscreensaver.spec

index 9b19c23d026824baa24acb5b5275d3da3539c615..d33dc24b35758fd3776f79e874e66754d418ac15 100644 (file)
@@ -169,13 +169,22 @@ update_spec_version::
 rpm::
        @                                                                  \
   VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][0-9]*\).*/\1/p' utils/version.h` ; \
-  DIR=/usr/src/redhat ;                                                           \
+  DIR=`pwd`/rpm_build ;                                                           \
+  ARCH=`rpm --showrc | sed -n 's/^build arch *: //p'` ;                           \
+  rm -rf $$DIR ;                                                          \
+  mkdir $$DIR ;                                                                   \
+  ( cd $$DIR; mkdir BUILD RPMS RPMS/$$ARCH SOURCES SPECS SRPMS ) ;        \
   cp -p xscreensaver-$$VERS.tar.gz $$DIR/SOURCES/ ;                       \
-  rpm --define "USE_GL yes" -ba xscreensaver.spec ;                       \
+  rpm -vba --define "_topdir $$DIR"                                       \
+           --define "USE_GL yes" xscreensaver.spec ;                      \
+  echo '' ;                                                               \
+  echo 'RPM build complete' ;                                             \
+  echo '' ;                                                               \
   rm -f $$DIR/xscreensaver-$$VERS.tar.gz ;                                \
   rm -rf $$DIR/BUILD/xscreensaver-$$VERS ;                                \
   mv $$DIR/SRPMS/xscreensaver*-$$VERS-*.rpm . ;                                   \
-  mv $$DIR/RPMS/i386/xscreensaver*-$$VERS-*.rpm . ;                       \
+  mv $$DIR/RPMS/$$ARCH/xscreensaver*-$$VERS-*.rpm . ;                     \
+  rm -rf $$DIR ;                                                          \
   echo '' ;                                                               \
   ls -lFG xscreensaver*-$$VERS-*.rpm
 
diff --git a/README b/README
index 00eb36eda716e7fee1a8c304e49c041e1552c4fe..9bcbcd6f27c837be6f0dabe28f44c381ebae7170 100644 (file)
--- a/README
+++ b/README
@@ -24,9 +24,8 @@ The most important hint is probably this:
 
 To build on VMS, see README.VMS.
 
-If you are upgrading, you might want to delete your ~/.xscreensaver file.
-If you don't, you might not see the new graphics modes.  If you are upgrading
-from version 2.* to version 3.*, definitely do delete your .xscreensaver file.
+If you are upgrading from version 2.* to version 3.*, be sure to delete
+your ~/.xscreensaver file first, if you have one.
 
 If you think you've found a bug, please let me know!  No bug report is too
 small.  But first, please read the enclosed `README.debugging' file to find
@@ -65,15 +64,20 @@ numerous graphics hacks for use as screensavers.  There is nothing magic
 about these: they are just programs that draw on the root window.
 
 More than 120 such programs are included.  For details, see the xscreensaver
-web page, or the enclosed manual pages.  There are also some helpful hints
-on customization in the xscreensaver app-defaults file (normally installed
-in /usr/lib/X11/app-defaults/XScreenSaver.)
+web page, or the enclosed manual pages.
 
 The latest version of xscreensaver is always available on the web at
 http://www.jwz.org/xscreensaver/.
 
                               ============
 
+Changes since 3.30:   * Put in more sensible defaults for DPMS, and updated
+                        the documentation to reflect the fact that all your
+                        DPMS settings are now belong to xscreensaver.
+                      * Fixed the `xscreensaver.spec' file so that `--force'
+                        is no longer needed.
+                      * New versions of `rotzoomer' and `nerverot'.
+                      * Fixed an OSF/1 compilation problem in `molecule'.
 Changes since 3.29:   * New hacks, `molecule' `dangerball', and `rotzoomer'.
                       * New version of `gflux'.
                       * Made `gltext' able to display the current time.
index efb116c36d0cbe2230fafaf8c9e1836cbde5b7cd..37b9ac87e41989639434138105a6a63bcc5a9e10 100755 (executable)
--- a/configure
+++ b/configure
@@ -100,7 +100,10 @@ ac_help="$ac_help
                           default (though it can be overridden with X
                           resources.)  If you don't specify this, the default
                           is to use \"yow\" from the Emacs distribution (if you
-                          have it) or else to use \"fortune\".
+                          have it) or else to use \"fortune\"."
+ac_help="$ac_help
+  --with-setuid-hacks     Allow some demos to be installed \`setuid root'
+                          (which is needed in order to ping other hosts.)
 "
 
 # Initialize some variables set by options.
@@ -813,7 +816,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:828: checking host system type" >&5
+echo "configure:831: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -836,7 +839,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:851: checking for $ac_word" >&5
+echo "configure:854: 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
@@ -866,7 +869,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:881: checking for $ac_word" >&5
+echo "configure:884: 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
@@ -917,7 +920,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:932: checking for $ac_word" >&5
+echo "configure:935: 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
@@ -949,7 +952,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:964: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:967: 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.
@@ -960,12 +963,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 975 "configure"
+#line 978 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:983: \"$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
@@ -991,12 +994,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:1006: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1009: 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:1011: checking whether we are using GNU C" >&5
+echo "configure:1014: 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
@@ -1005,7 +1008,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1020: \"$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:1023: \"$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
@@ -1024,7 +1027,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:1039: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1042: 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
@@ -1058,7 +1061,7 @@ fi
 
   if test -z "$GCC"; then
     echo $ac_n "checking how to request ANSI compilation""... $ac_c" 1>&6
-echo "configure:1073: checking how to request ANSI compilation" >&5
+echo "configure:1076: checking how to request ANSI compilation" >&5
     case "$host" in
       *-hpux* )
         echo "$ac_t""HPUX: adding -Ae" 1>&6
@@ -1081,16 +1084,16 @@ echo "configure:1073: 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:1096: checking whether the compiler works on ANSI C" >&5
+echo "configure:1099: 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 <<EOF
-#line 1101 "configure"
+#line 1104 "configure"
 #include "confdefs.h"
  main(int ac, char **av) { return 0; } 
 EOF
-if { (eval echo configure:1105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1108: \"$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
@@ -1125,7 +1128,7 @@ fi
 if test -n "$GCC"; then
    if test -n "$GCC"; then
    echo $ac_n "checking whether gcc accepts -std""... $ac_c" 1>&6
-echo "configure:1140: checking whether gcc accepts -std" >&5
+echo "configure:1143: checking whether gcc accepts -std" >&5
 if eval "test \"`echo '$''{'ac_cv_gcc_accepts_std'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1169,7 +1172,7 @@ echo "$ac_t""$ac_cv_gcc_accepts_std" 1>&6
   fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1184: checking how to run the C preprocessor" >&5
+echo "configure:1187: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1184,13 +1187,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1199 "configure"
+#line 1202 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1205: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1208: \"$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
   :
@@ -1201,13 +1204,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1216 "configure"
+#line 1219 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1222: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1225: \"$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
   :
@@ -1218,13 +1221,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1233 "configure"
+#line 1236 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1239: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1242: \"$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
   :
@@ -1249,12 +1252,12 @@ fi
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1264: checking for working const" >&5
+echo "configure:1267: 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 <<EOF
-#line 1269 "configure"
+#line 1272 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1303,7 +1306,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:1318: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1321: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -1324,21 +1327,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1339: checking for inline" >&5
+echo "configure:1342: 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 <<EOF
-#line 1346 "configure"
+#line 1349 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:1353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1356: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -1365,7 +1368,7 @@ esac
 
 ac_bc_result=`echo 6+9 | bc 2>/dev/null`
   echo $ac_n "checking for bc""... $ac_c" 1>&6
-echo "configure:1380: checking for bc" >&5
+echo "configure:1383: checking for bc" >&5
   if test "$ac_bc_result" = "15" ; then
     echo "$ac_t""yes" 1>&6
   else
@@ -1390,7 +1393,7 @@ echo "configure:1380: checking for bc" >&5
 # 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:1405: checking for a BSD compatible install" >&5
+echo "configure:1408: 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
@@ -1443,7 +1446,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:1458: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5
+echo "configure:1461: 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
@@ -1465,7 +1468,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:1480: checking whether \"mkdir -p\" creates intermediate directories" >&5
+echo "configure:1483: 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
@@ -1496,7 +1499,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:1511: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1514: 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
@@ -1525,12 +1528,12 @@ fi
 
 # random libc stuff
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1540: checking for ANSI C header files" >&5
+echo "configure:1543: 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 <<EOF
-#line 1545 "configure"
+#line 1548 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1538,7 +1541,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1553: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1556: \"$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*
@@ -1555,7 +1558,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
-#line 1570 "configure"
+#line 1573 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1573,7 +1576,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
-#line 1588 "configure"
+#line 1591 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1594,7 +1597,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1609 "configure"
+#line 1612 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1605,7 +1608,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:1620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1623: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -1632,17 +1635,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:1647: checking for $ac_hdr" >&5
+echo "configure:1650: 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
-#line 1652 "configure"
+#line 1655 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1657: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1660: \"$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*
@@ -1669,12 +1672,12 @@ fi
 done
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:1684: checking for mode_t" >&5
+echo "configure:1687: 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 <<EOF
-#line 1689 "configure"
+#line 1692 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1702,12 +1705,12 @@ EOF
 fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:1717: checking for pid_t" >&5
+echo "configure:1720: 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 <<EOF
-#line 1722 "configure"
+#line 1725 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1735,12 +1738,12 @@ EOF
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1750: checking for size_t" >&5
+echo "configure:1753: 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 <<EOF
-#line 1755 "configure"
+#line 1758 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1768,12 +1771,12 @@ EOF
 fi
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1783: checking return type of signal handlers" >&5
+echo "configure:1786: 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 <<EOF
-#line 1788 "configure"
+#line 1791 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -1790,7 +1793,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:1805: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1808: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -1809,12 +1812,12 @@ EOF
 
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1824: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:1827: 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 <<EOF
-#line 1829 "configure"
+#line 1832 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -1823,7 +1826,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:1838: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -1844,12 +1847,12 @@ EOF
 fi
 
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:1859: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:1862: 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 <<EOF
-#line 1864 "configure"
+#line 1867 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -1865,7 +1868,7 @@ wait (&s);
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
-if { (eval echo configure:1880: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
@@ -1890,12 +1893,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:1905: checking for $ac_hdr that defines DIR" >&5
+echo "configure:1908: 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 <<EOF
-#line 1910 "configure"
+#line 1913 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -1903,7 +1906,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:1918: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -1928,7 +1931,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:1943: checking for opendir in -ldir" >&5
+echo "configure:1946: 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
@@ -1936,7 +1939,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1951 "configure"
+#line 1954 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1947,7 +1950,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:1962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1965: \"$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
@@ -1969,7 +1972,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:1984: checking for opendir in -lx" >&5
+echo "configure:1987: 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
@@ -1977,7 +1980,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1992 "configure"
+#line 1995 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1988,7 +1991,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:2003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2006: \"$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
@@ -2011,12 +2014,12 @@ fi
 fi
 
 echo $ac_n "checking how to call gettimeofday""... $ac_c" 1>&6
-echo "configure:2026: checking how to call gettimeofday" >&5
+echo "configure:2029: 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 <<EOF
-#line 2031 "configure"
+#line 2034 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                     #include <sys/time.h>
@@ -2025,7 +2028,7 @@ struct timeval tv; struct timezone tzp;
                     gettimeofday(&tv, &tzp);
 ; return 0; }
 EOF
-if { (eval echo configure:2040: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2043: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_gettimeofday_args=2
 else
@@ -2033,7 +2036,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 2048 "configure"
+#line 2051 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <sys/time.h>
@@ -2041,7 +2044,7 @@ int main() {
 struct timeval tv; gettimeofday(&tv);
 ; return 0; }
 EOF
-if { (eval echo configure:2056: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2059: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_gettimeofday_args=1
 else
@@ -2080,12 +2083,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:2095: checking for $ac_func" >&5
+echo "configure:2098: 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 <<EOF
-#line 2100 "configure"
+#line 2103 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2108,7 +2111,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2126: \"$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
@@ -2136,12 +2139,12 @@ done
 for ac_func in sigaction syslog realpath
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2151: checking for $ac_func" >&5
+echo "configure:2154: 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 <<EOF
-#line 2156 "configure"
+#line 2159 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2164,7 +2167,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2182: \"$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
@@ -2189,12 +2192,12 @@ fi
 done
 
 echo $ac_n "checking for struct icmp""... $ac_c" 1>&6
-echo "configure:2204: checking for struct icmp" >&5
+echo "configure:2207: 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 <<EOF
-#line 2209 "configure"
+#line 2212 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                    #include <stdio.h>
@@ -2234,7 +2237,7 @@ struct icmp i;
                    
 ; return 0; }
 EOF
-if { (eval echo configure:2249: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2252: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_icmp=yes
 else
@@ -2254,12 +2257,12 @@ EOF
 
  fi
 echo $ac_n "checking for struct icmphdr""... $ac_c" 1>&6
-echo "configure:2269: checking for struct icmphdr" >&5
+echo "configure:2272: 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 <<EOF
-#line 2274 "configure"
+#line 2277 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                    #include <stdio.h>
@@ -2294,7 +2297,7 @@ struct icmphdr i;
                    ip.ip_hl = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:2309: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2312: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_icmphdr=yes
 else
@@ -2317,17 +2320,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:2332: checking for $ac_hdr" >&5
+echo "configure:2335: 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
-#line 2337 "configure"
+#line 2340 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2342: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2345: \"$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*
@@ -2358,7 +2361,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:2373: checking for $ac_word" >&5
+echo "configure:2376: 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
@@ -2397,7 +2400,7 @@ done
     PERL_VERSION=0
   else
     echo $ac_n "checking perl version""... $ac_c" 1>&6
-echo "configure:2412: checking perl version" >&5
+echo "configure:2415: checking perl version" >&5
 if eval "test \"`echo '$''{'ac_cv_perl_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2411,7 +2414,7 @@ echo "$ac_t""$ac_cv_perl_version" 1>&6
 
 if test -z "$PERL" ; then
   # don't let it be blank...
-  PERL=/usr/local/bin/perl5
+  PERL=/usr/bin/perl
 fi
 
 # If we find X, set shell vars x_includes and x_libraries to the
@@ -2419,7 +2422,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:2434: checking for X" >&5
+echo "configure:2437: checking for X" >&5
 
 # Check whether --with-x or --without-x was given.
 if test "${with_x+set}" = set; then
@@ -2481,12 +2484,12 @@ if test "$ac_x_includes" = NO; then
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 2496 "configure"
+#line 2499 "configure"
 #include "confdefs.h"
 #include <$x_direct_test_include>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2504: \"$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*
@@ -2555,14 +2558,14 @@ if test "$ac_x_libraries" = NO; then
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2570 "configure"
+#line 2573 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:2577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2580: \"$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.
@@ -2668,17 +2671,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:2683: checking whether -R must be followed by a space" >&5
+echo "configure:2686: checking whether -R must be followed by a space" >&5
       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
       cat > conftest.$ac_ext <<EOF
-#line 2686 "configure"
+#line 2689 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -2694,14 +2697,14 @@ rm -f conftest*
       else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
        cat > conftest.$ac_ext <<EOF
-#line 2709 "configure"
+#line 2712 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -2733,7 +2736,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:2748: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:2751: 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
@@ -2741,7 +2744,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2756 "configure"
+#line 2759 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2752,7 +2755,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:2767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2770: \"$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
@@ -2774,7 +2777,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:2789: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:2792: 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
@@ -2782,7 +2785,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2797 "configure"
+#line 2800 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2793,7 +2796,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:2808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2811: \"$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
@@ -2822,12 +2825,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:2837: checking for gethostbyname" >&5
+echo "configure:2840: 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 <<EOF
-#line 2842 "configure"
+#line 2845 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -2850,7 +2853,7 @@ gethostbyname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2868: \"$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
@@ -2871,7 +2874,7 @@ fi
 
     if test $ac_cv_func_gethostbyname = no; then
       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:2886: checking for gethostbyname in -lnsl" >&5
+echo "configure:2889: 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
@@ -2879,7 +2882,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2894 "configure"
+#line 2897 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2890,7 +2893,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:2905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2908: \"$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
@@ -2920,12 +2923,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:2935: checking for connect" >&5
+echo "configure:2938: 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 <<EOF
-#line 2940 "configure"
+#line 2943 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -2948,7 +2951,7 @@ connect();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2966: \"$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
@@ -2969,7 +2972,7 @@ fi
 
     if test $ac_cv_func_connect = no; then
       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:2984: checking for connect in -lsocket" >&5
+echo "configure:2987: 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
@@ -2977,7 +2980,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2992 "configure"
+#line 2995 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2988,7 +2991,7 @@ int main() {
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:3003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3006: \"$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
@@ -3012,12 +3015,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:3027: checking for remove" >&5
+echo "configure:3030: 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 <<EOF
-#line 3032 "configure"
+#line 3035 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -3040,7 +3043,7 @@ remove();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3058: \"$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
@@ -3061,7 +3064,7 @@ fi
 
     if test $ac_cv_func_remove = no; then
       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:3076: checking for remove in -lposix" >&5
+echo "configure:3079: 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
@@ -3069,7 +3072,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3084 "configure"
+#line 3087 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3080,7 +3083,7 @@ int main() {
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:3095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3098: \"$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
@@ -3104,12 +3107,12 @@ fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:3119: checking for shmat" >&5
+echo "configure:3122: 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 <<EOF
-#line 3124 "configure"
+#line 3127 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -3132,7 +3135,7 @@ shmat();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3150: \"$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
@@ -3153,7 +3156,7 @@ fi
 
     if test $ac_cv_func_shmat = no; then
       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:3168: checking for shmat in -lipc" >&5
+echo "configure:3171: 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
@@ -3161,7 +3164,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3176 "configure"
+#line 3179 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3172,7 +3175,7 @@ int main() {
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:3187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3190: \"$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
@@ -3205,7 +3208,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:3220: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:3223: 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
@@ -3213,7 +3216,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3228 "configure"
+#line 3231 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3224,7 +3227,7 @@ int main() {
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:3239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3242: \"$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
@@ -3255,7 +3258,7 @@ fi
 
 
     echo $ac_n "checking for X app-defaults directory""... $ac_c" 1>&6
-echo "configure:3270: checking for X app-defaults directory" >&5
+echo "configure:3273: 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
@@ -3454,7 +3457,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:3469: checking for regcmp in -lgen" >&5
+echo "configure:3472: 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
@@ -3462,7 +3465,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgen  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3477 "configure"
+#line 3480 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3473,7 +3476,7 @@ int main() {
 regcmp()
 ; return 0; }
 EOF
-if { (eval echo configure:3488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3491: \"$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
@@ -3497,7 +3500,7 @@ fi
     ;;
   esac
 echo $ac_n "checking for XPointer""... $ac_c" 1>&6
-echo "configure:3512: checking for XPointer" >&5
+echo "configure:3515: checking for XPointer" >&5
 if eval "test \"`echo '$''{'ac_cv_xpointer'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3508,14 +3511,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 3523 "configure"
+#line 3526 "configure"
 #include "confdefs.h"
 #include <X11/Xlib.h>
 int main() {
 XPointer foo = (XPointer) 0;
 ; return 0; }
 EOF
-if { (eval echo configure:3530: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3533: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_xpointer=yes
 else
@@ -3553,17 +3556,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:3568: checking for X11/Xmu/Error.h" >&5
+echo "configure:3571: 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
-#line 3573 "configure"
+#line 3576 "configure"
 #include "confdefs.h"
 #include <X11/Xmu/Error.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3578: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3581: \"$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*
@@ -3614,7 +3617,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:3629: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5
+echo "configure:3632: 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
@@ -3627,14 +3630,14 @@ else
                     # with X libraries because we know it's SunOS.
                     LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
                     cat > conftest.$ac_ext <<EOF
-#line 3642 "configure"
+#line 3645 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3652: \"$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
@@ -3650,21 +3653,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:3665: checking whether the compiler understands -static" >&5
+echo "configure:3668: 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 <<EOF
-#line 3672 "configure"
+#line 3675 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_ld_static=yes
 else
@@ -3747,7 +3750,7 @@ fi
 
     /*)
      echo $ac_n "checking for SGI SCREEN_SAVER headers""... $ac_c" 1>&6
-echo "configure:3762: checking for SGI SCREEN_SAVER headers" >&5
+echo "configure:3765: checking for SGI SCREEN_SAVER headers" >&5
      d=$with_sgi/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -3757,7 +3760,7 @@ echo "configure:3762: checking for SGI SCREEN_SAVER headers" >&5
      fi
 
      echo $ac_n "checking for SGI SCREEN_SAVER libs""... $ac_c" 1>&6
-echo "configure:3772: checking for SGI SCREEN_SAVER libs" >&5
+echo "configure:3775: checking for SGI SCREEN_SAVER libs" >&5
      d=$with_sgi/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -3790,17 +3793,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:3805: checking for X11/extensions/XScreenSaver.h" >&5
+echo "configure:3808: 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
-#line 3810 "configure"
+#line 3813 "configure"
 #include "confdefs.h"
 #include <X11/extensions/XScreenSaver.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3815: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3818: \"$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*
@@ -3857,7 +3860,7 @@ fi
 
     /*)
      echo $ac_n "checking for MIT-SCREEN-SAVER headers""... $ac_c" 1>&6
-echo "configure:3872: checking for MIT-SCREEN-SAVER headers" >&5
+echo "configure:3875: checking for MIT-SCREEN-SAVER headers" >&5
      d=$with_mit/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -3867,7 +3870,7 @@ echo "configure:3872: checking for MIT-SCREEN-SAVER headers" >&5
      fi
 
      echo $ac_n "checking for MIT-SCREEN-SAVER libs""... $ac_c" 1>&6
-echo "configure:3882: checking for MIT-SCREEN-SAVER libs" >&5
+echo "configure:3885: checking for MIT-SCREEN-SAVER libs" >&5
      d=$with_mit/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -3900,17 +3903,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:3915: checking for X11/extensions/scrnsaver.h" >&5
+echo "configure:3918: 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
-#line 3920 "configure"
+#line 3923 "configure"
 #include "confdefs.h"
 #include <X11/extensions/scrnsaver.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3925: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3928: \"$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*
@@ -3955,7 +3958,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XScreenSaverRegister in -lXext""... $ac_c" 1>&6
-echo "configure:3970: checking for XScreenSaverRegister in -lXext" >&5
+echo "configure:3973: 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
@@ -3963,7 +3966,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3978 "configure"
+#line 3981 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3974,7 +3977,7 @@ int main() {
 XScreenSaverRegister()
 ; return 0; }
 EOF
-if { (eval echo configure:3989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3992: \"$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
@@ -4021,7 +4024,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XScreenSaverRegister in -lXExExt""... $ac_c" 1>&6
-echo "configure:4036: checking for XScreenSaverRegister in -lXExExt" >&5
+echo "configure:4039: 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
@@ -4029,7 +4032,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXExExt -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4044 "configure"
+#line 4047 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4040,7 +4043,7 @@ int main() {
 XScreenSaverRegister()
 ; return 0; }
 EOF
-if { (eval echo configure:4055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4058: \"$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
@@ -4090,7 +4093,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XScreenSaverRegister in -lXss""... $ac_c" 1>&6
-echo "configure:4105: checking for XScreenSaverRegister in -lXss" >&5
+echo "configure:4108: 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
@@ -4098,7 +4101,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXss -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4113 "configure"
+#line 4116 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4109,7 +4112,7 @@ int main() {
 XScreenSaverRegister()
 ; return 0; }
 EOF
-if { (eval echo configure:4124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4127: \"$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
@@ -4175,7 +4178,7 @@ fi
 
     /*)
      echo $ac_n "checking for XIDLE headers""... $ac_c" 1>&6
-echo "configure:4190: checking for XIDLE headers" >&5
+echo "configure:4193: checking for XIDLE headers" >&5
      d=$with_xidle/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -4185,7 +4188,7 @@ echo "configure:4190: checking for XIDLE headers" >&5
      fi
 
      echo $ac_n "checking for XIDLE libs""... $ac_c" 1>&6
-echo "configure:4200: checking for XIDLE libs" >&5
+echo "configure:4203: checking for XIDLE libs" >&5
      d=$with_xidle/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -4218,17 +4221,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:4233: checking for X11/extensions/xidle.h" >&5
+echo "configure:4236: 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
-#line 4238 "configure"
+#line 4241 "configure"
 #include "confdefs.h"
 #include <X11/extensions/xidle.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4243: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4246: \"$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*
@@ -4284,7 +4287,7 @@ fi
 
     /*)
      echo $ac_n "checking for SGI-VIDEO-CONTROL headers""... $ac_c" 1>&6
-echo "configure:4299: checking for SGI-VIDEO-CONTROL headers" >&5
+echo "configure:4302: checking for SGI-VIDEO-CONTROL headers" >&5
      d=$with_sgivc/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -4294,7 +4297,7 @@ echo "configure:4299: checking for SGI-VIDEO-CONTROL headers" >&5
      fi
 
      echo $ac_n "checking for SGI-VIDEO-CONTROL libs""... $ac_c" 1>&6
-echo "configure:4309: checking for SGI-VIDEO-CONTROL libs" >&5
+echo "configure:4312: checking for SGI-VIDEO-CONTROL libs" >&5
      d=$with_sgivc/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -4329,17 +4332,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:4344: checking for X11/extensions/XSGIvc.h" >&5
+echo "configure:4347: 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
-#line 4349 "configure"
+#line 4352 "configure"
 #include "confdefs.h"
 #include <X11/extensions/XSGIvc.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4354: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4357: \"$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*
@@ -4383,7 +4386,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XSGIvcQueryGammaMap in -lXsgivc""... $ac_c" 1>&6
-echo "configure:4398: checking for XSGIvcQueryGammaMap in -lXsgivc" >&5
+echo "configure:4401: 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
@@ -4391,7 +4394,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXsgivc -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4406 "configure"
+#line 4409 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4402,7 +4405,7 @@ int main() {
 XSGIvcQueryGammaMap()
 ; return 0; }
 EOF
-if { (eval echo configure:4417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4420: \"$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
@@ -4467,7 +4470,7 @@ fi
 
     /*)
      echo $ac_n "checking for DPMS headers""... $ac_c" 1>&6
-echo "configure:4482: checking for DPMS headers" >&5
+echo "configure:4485: checking for DPMS headers" >&5
      d=$with_dpms/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -4477,7 +4480,7 @@ echo "configure:4482: checking for DPMS headers" >&5
      fi
 
      echo $ac_n "checking for DPMS libs""... $ac_c" 1>&6
-echo "configure:4492: checking for DPMS libs" >&5
+echo "configure:4495: checking for DPMS libs" >&5
      d=$with_dpms/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -4512,17 +4515,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:4527: checking for X11/extensions/dpms.h" >&5
+echo "configure:4530: 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
-#line 4532 "configure"
+#line 4535 "configure"
 #include "confdefs.h"
 #include <X11/extensions/dpms.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4537: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4540: \"$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*
@@ -4568,7 +4571,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for DPMSInfo in -lXext""... $ac_c" 1>&6
-echo "configure:4583: checking for DPMSInfo in -lXext" >&5
+echo "configure:4586: checking for DPMSInfo in -lXext" >&5
 ac_lib_var=`echo Xext'_'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
@@ -4576,7 +4579,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXext -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4591 "configure"
+#line 4594 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4587,7 +4590,7 @@ int main() {
 DPMSInfo()
 ; return 0; }
 EOF
-if { (eval echo configure:4602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4605: \"$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
@@ -4633,7 +4636,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for DPMSInfo in -lXdpms""... $ac_c" 1>&6
-echo "configure:4648: checking for DPMSInfo in -lXdpms" >&5
+echo "configure:4651: 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
@@ -4641,7 +4644,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXdpms -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4656 "configure"
+#line 4659 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4652,7 +4655,7 @@ int main() {
 DPMSInfo()
 ; return 0; }
 EOF
-if { (eval echo configure:4667: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4670: \"$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
@@ -4719,7 +4722,7 @@ fi
 
     /*)
      echo $ac_n "checking for xf86vmode headers""... $ac_c" 1>&6
-echo "configure:4734: checking for xf86vmode headers" >&5
+echo "configure:4737: checking for xf86vmode headers" >&5
      d=$with_xf86vmode/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -4729,7 +4732,7 @@ echo "configure:4734: checking for xf86vmode headers" >&5
      fi
 
      echo $ac_n "checking for xf86vmode libs""... $ac_c" 1>&6
-echo "configure:4744: checking for xf86vmode libs" >&5
+echo "configure:4747: checking for xf86vmode libs" >&5
      d=$with_xf86vmode/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -4764,17 +4767,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:4779: checking for X11/extensions/xf86vmode.h" >&5
+echo "configure:4782: 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
-#line 4784 "configure"
+#line 4787 "configure"
 #include "confdefs.h"
 #include <X11/extensions/xf86vmode.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4792: \"$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*
@@ -4818,7 +4821,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XF86VidModeGetViewPort in -lXxf86vm""... $ac_c" 1>&6
-echo "configure:4833: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5
+echo "configure:4836: 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
@@ -4826,7 +4829,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4841 "configure"
+#line 4844 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4837,7 +4840,7 @@ int main() {
 XF86VidModeGetViewPort()
 ; return 0; }
 EOF
-if { (eval echo configure:4852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4855: \"$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
@@ -4891,7 +4894,7 @@ fi
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 4906 "configure"
+#line 4909 "configure"
 #include "confdefs.h"
 #include <X11/XHPlib.h>
 EOF
@@ -4929,7 +4932,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:4944: checking whether /proc/interrupts contains keyboard data" >&5
+echo "configure:4947: 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
@@ -5062,7 +5065,7 @@ fi
 
     /*)
      echo $ac_n "checking for PAM headers""... $ac_c" 1>&6
-echo "configure:5077: checking for PAM headers" >&5
+echo "configure:5080: checking for PAM headers" >&5
      d=$with_pam/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -5072,7 +5075,7 @@ echo "configure:5077: checking for PAM headers" >&5
      fi
 
      echo $ac_n "checking for PAM libs""... $ac_c" 1>&6
-echo "configure:5087: checking for PAM libs" >&5
+echo "configure:5090: checking for PAM libs" >&5
      d=$with_pam/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -5098,7 +5101,7 @@ echo "configure:5087: 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:5113: checking for PAM" >&5
+echo "configure:5116: checking for PAM" >&5
 if eval "test \"`echo '$''{'ac_cv_pam'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5109,14 +5112,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5124 "configure"
+#line 5127 "configure"
 #include "confdefs.h"
 #include <security/pam_appl.h>
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:5131: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5134: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_pam=yes
 else
@@ -5141,7 +5144,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:5156: checking for dlopen in -ldl" >&5
+echo "configure:5159: 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
@@ -5149,7 +5152,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5164 "configure"
+#line 5167 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5160,7 +5163,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:5175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5178: \"$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
@@ -5182,12 +5185,12 @@ fi
 
 
     echo $ac_n "checking how to call pam_strerror""... $ac_c" 1>&6
-echo "configure:5197: checking how to call pam_strerror" >&5
+echo "configure:5200: 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 <<EOF
-#line 5202 "configure"
+#line 5205 "configure"
 #include "confdefs.h"
 #include <stdio.h>
                       #include <stdlib.h>
@@ -5197,7 +5200,7 @@ pam_handle_t *pamh = 0;
                       char *s = pam_strerror(pamh, PAM_SUCCESS);
 ; return 0; }
 EOF
-if { (eval echo configure:5212: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5215: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_pam_strerror_args=2
 else
@@ -5205,7 +5208,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 5220 "configure"
+#line 5223 "configure"
 #include "confdefs.h"
 #include <stdio.h>
                                       #include <stdlib.h>
@@ -5215,7 +5218,7 @@ char *s =
                                        pam_strerror(PAM_SUCCESS);
 ; return 0; }
 EOF
-if { (eval echo configure:5230: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5233: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_pam_strerror_args=1
 else
@@ -5272,7 +5275,7 @@ fi
 
     /*)
      echo $ac_n "checking for Kerberos headers""... $ac_c" 1>&6
-echo "configure:5287: checking for Kerberos headers" >&5
+echo "configure:5290: checking for Kerberos headers" >&5
      d=$with_kerberos/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -5282,7 +5285,7 @@ echo "configure:5287: checking for Kerberos headers" >&5
      fi
 
      echo $ac_n "checking for Kerberos libs""... $ac_c" 1>&6
-echo "configure:5297: checking for Kerberos libs" >&5
+echo "configure:5300: checking for Kerberos libs" >&5
      d=$with_kerberos/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -5308,7 +5311,7 @@ echo "configure:5297: checking for Kerberos libs" >&5
 
 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
   echo $ac_n "checking for Kerberos 4""... $ac_c" 1>&6
-echo "configure:5323: checking for Kerberos 4" >&5
+echo "configure:5326: checking for Kerberos 4" >&5
 if eval "test \"`echo '$''{'ac_cv_kerberos'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5319,14 +5322,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5334 "configure"
+#line 5337 "configure"
 #include "confdefs.h"
 #include <krb.h>
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:5341: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_kerberos=yes
 else
@@ -5341,7 +5344,7 @@ fi
 
 echo "$ac_t""$ac_cv_kerberos" 1>&6
   echo $ac_n "checking for Kerberos 5""... $ac_c" 1>&6
-echo "configure:5356: checking for Kerberos 5" >&5
+echo "configure:5359: checking for Kerberos 5" >&5
 if eval "test \"`echo '$''{'ac_cv_kerberos5'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5352,14 +5355,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5367 "configure"
+#line 5370 "configure"
 #include "confdefs.h"
 #include <kerberosIV/krb.h>
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:5374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5377: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_kerberos5=yes
 else
@@ -5406,12 +5409,12 @@ EOF
 
   if test "$have_kerberos" = yes ; then
     echo $ac_n "checking for res_search""... $ac_c" 1>&6
-echo "configure:5421: checking for res_search" >&5
+echo "configure:5424: 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 <<EOF
-#line 5426 "configure"
+#line 5429 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char res_search(); below.  */
@@ -5434,7 +5437,7 @@ res_search();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5452: \"$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
@@ -5452,7 +5455,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:5467: checking for res_search in -lresolv" >&5
+echo "configure:5470: 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
@@ -5460,7 +5463,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5475 "configure"
+#line 5478 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5471,7 +5474,7 @@ int main() {
 res_search()
 ; return 0; }
 EOF
-if { (eval echo configure:5486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5489: \"$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
@@ -5526,7 +5529,7 @@ fi
 
     /*)
      echo $ac_n "checking for shadow password headers""... $ac_c" 1>&6
-echo "configure:5541: checking for shadow password headers" >&5
+echo "configure:5544: checking for shadow password headers" >&5
      d=$with_shadow/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -5536,7 +5539,7 @@ echo "configure:5541: checking for shadow password headers" >&5
      fi
 
      echo $ac_n "checking for shadow password libs""... $ac_c" 1>&6
-echo "configure:5551: checking for shadow password libs" >&5
+echo "configure:5554: checking for shadow password libs" >&5
      d=$with_shadow/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -5574,7 +5577,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for Sun-style shadow passwords""... $ac_c" 1>&6
-echo "configure:5589: checking for Sun-style shadow passwords" >&5
+echo "configure:5592: 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
@@ -5585,7 +5588,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5600 "configure"
+#line 5603 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -5598,7 +5601,7 @@ struct passwd_adjunct *p = getpwanam("nobody");
                        const char *pw = p->pwa_passwd;
 ; return 0; }
 EOF
-if { (eval echo configure:5613: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5616: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_sun_adjunct=yes
 else
@@ -5628,7 +5631,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for DEC-style shadow passwords""... $ac_c" 1>&6
-echo "configure:5643: checking for DEC-style shadow passwords" >&5
+echo "configure:5646: 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
@@ -5639,7 +5642,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5654 "configure"
+#line 5657 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -5656,7 +5659,7 @@ struct pr_passwd *p;
                        pw = p->ufld.fd_encrypt;
 ; return 0; }
 EOF
-if { (eval echo configure:5671: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_enhanced_passwd=yes
 else
@@ -5680,7 +5683,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:5695: checking for getprpwnam in -lprot" >&5
+echo "configure:5698: 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
@@ -5688,7 +5691,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lprot -lx $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5703 "configure"
+#line 5706 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5699,7 +5702,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:5714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5717: \"$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
@@ -5718,7 +5721,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:5733: checking for getprpwnam in -lsecurity" >&5
+echo "configure:5736: 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
@@ -5726,7 +5729,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5741 "configure"
+#line 5744 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5737,7 +5740,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:5752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5755: \"$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 +5773,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for HP-style shadow passwords""... $ac_c" 1>&6
-echo "configure:5785: checking for HP-style shadow passwords" >&5
+echo "configure:5788: 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
@@ -5781,7 +5784,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5796 "configure"
+#line 5799 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -5794,7 +5797,7 @@ struct s_passwd *p = getspwnam("nobody");
                        const char *pw = p->pw_passwd;
 ; return 0; }
 EOF
-if { (eval echo configure:5809: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5812: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_hpux_passwd=yes
 else
@@ -5815,7 +5818,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:5830: checking for bigcrypt in -lsec" >&5
+echo "configure:5833: 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
@@ -5823,7 +5826,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5838 "configure"
+#line 5841 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5834,7 +5837,7 @@ int main() {
 bigcrypt()
 ; return 0; }
 EOF
-if { (eval echo configure:5849: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5852: \"$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
@@ -5872,7 +5875,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for FreeBSD-style shadow passwords""... $ac_c" 1>&6
-echo "configure:5887: checking for FreeBSD-style shadow passwords" >&5
+echo "configure:5890: 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
@@ -5898,7 +5901,7 @@ fi
 
 if test "$with_shadow" = yes ; then
   echo $ac_n "checking for generic shadow passwords""... $ac_c" 1>&6
-echo "configure:5913: checking for generic shadow passwords" >&5
+echo "configure:5916: 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
@@ -5909,7 +5912,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 5924 "configure"
+#line 5927 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -5921,7 +5924,7 @@ struct spwd *p = getspnam("nobody");
                        const char *pw = p->sp_pwdp;
 ; return 0; }
 EOF
-if { (eval echo configure:5936: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5939: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_shadow=yes
 else
@@ -5942,7 +5945,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:5957: checking for getspnam in -lc" >&5
+echo "configure:5960: 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
@@ -5950,7 +5953,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5965 "configure"
+#line 5968 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5961,7 +5964,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:5976: \"$ac_link\") 1>&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
@@ -5983,7 +5986,7 @@ fi
 
     if test "$have_getspnam" = no ; then
       echo $ac_n "checking for getspnam in -lgen""... $ac_c" 1>&6
-echo "configure:5998: checking for getspnam in -lgen" >&5
+echo "configure:6001: 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
@@ -5991,7 +5994,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgen  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6006 "configure"
+#line 6009 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6002,7 +6005,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:6017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6020: \"$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
@@ -6038,7 +6041,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:6053: checking for crypt in -lc" >&5
+echo "configure:6056: 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
@@ -6046,7 +6049,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6061 "configure"
+#line 6064 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6057,7 +6060,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:6072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6075: \"$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
@@ -6079,7 +6082,7 @@ fi
 
   if test "$have_crypt" = no ; then
     echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:6094: checking for crypt in -lcrypt" >&5
+echo "configure:6097: 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
@@ -6087,7 +6090,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6102 "configure"
+#line 6105 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6098,7 +6101,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:6113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6116: \"$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
@@ -6182,7 +6185,7 @@ fi
 
     /*)
      echo $ac_n "checking for Motif headers""... $ac_c" 1>&6
-echo "configure:6197: checking for Motif headers" >&5
+echo "configure:6200: checking for Motif headers" >&5
      d=$with_motif/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -6192,7 +6195,7 @@ echo "configure:6197: checking for Motif headers" >&5
      fi
 
      echo $ac_n "checking for Motif libs""... $ac_c" 1>&6
-echo "configure:6207: checking for Motif libs" >&5
+echo "configure:6210: checking for Motif libs" >&5
      d=$with_motif/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -6231,17 +6234,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:6246: checking for Xm/Xm.h" >&5
+echo "configure:6249: 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
-#line 6251 "configure"
+#line 6254 "configure"
 #include "confdefs.h"
 #include <Xm/Xm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6256: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6259: \"$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*
@@ -6280,17 +6283,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:6295: checking for Xm/ComboBox.h" >&5
+echo "configure:6298: 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
-#line 6300 "configure"
+#line 6303 "configure"
 #include "confdefs.h"
 #include <Xm/ComboBox.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6305: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6308: \"$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*
@@ -6353,7 +6356,7 @@ esac
 
     /*)
      echo $ac_n "checking for Gtk headers""... $ac_c" 1>&6
-echo "configure:6368: checking for Gtk headers" >&5
+echo "configure:6371: checking for Gtk headers" >&5
      d=$with_gtk/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -6363,7 +6366,7 @@ echo "configure:6368: checking for Gtk headers" >&5
      fi
 
      echo $ac_n "checking for Gtk libs""... $ac_c" 1>&6
-echo "configure:6378: checking for Gtk libs" >&5
+echo "configure:6381: checking for Gtk libs" >&5
      d=$with_gtk/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -6421,7 +6424,7 @@ esac
 
     /*)
      echo $ac_n "checking for Gnome headers""... $ac_c" 1>&6
-echo "configure:6436: checking for Gnome headers" >&5
+echo "configure:6439: checking for Gnome headers" >&5
      d=$with_gnome/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -6431,7 +6434,7 @@ echo "configure:6436: checking for Gnome headers" >&5
      fi
 
      echo $ac_n "checking for Gnome libs""... $ac_c" 1>&6
-echo "configure:6446: checking for Gnome libs" >&5
+echo "configure:6449: checking for Gnome libs" >&5
      d=$with_gnome/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -6487,7 +6490,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:6502: checking for $ac_word" >&5
+echo "configure:6505: 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
@@ -6527,7 +6530,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:6542: checking for $ac_word" >&5
+echo "configure:6545: 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
@@ -6569,7 +6572,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:6584: checking for $ac_word" >&5
+echo "configure:6587: 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
@@ -6615,7 +6618,7 @@ done
 
   if test "$have_gtk" = yes; then
     echo $ac_n "checking Gtk version number""... $ac_c" 1>&6
-echo "configure:6630: checking Gtk version number" >&5
+echo "configure:6633: 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
@@ -6644,7 +6647,7 @@ echo "$ac_t""$ac_cv_gtk_version_string" 1>&6
 
   if test "$have_gtk" = yes; then
     echo $ac_n "checking for Gtk includes""... $ac_c" 1>&6
-echo "configure:6659: checking for Gtk includes" >&5
+echo "configure:6662: 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
@@ -6653,7 +6656,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:6668: checking for Gtk libs" >&5
+echo "configure:6671: 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
@@ -6670,7 +6673,7 @@ echo "$ac_t""$ac_cv_gtk_config_libs" 1>&6
   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:6685: checking for Gnome capplet includes" >&5
+echo "configure:6688: 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
@@ -6693,7 +6696,7 @@ 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:6708: checking for Gnome capplet libs" >&5
+echo "configure:6711: 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
@@ -6754,7 +6757,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:6769: checking whether Motif is really LessTif" >&5
+echo "configure:6772: 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
@@ -6765,14 +6768,14 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 6780 "configure"
+#line 6783 "configure"
 #include "confdefs.h"
 #include <Xm/Xm.h>
 int main() {
 long vers = LesstifVersion;
 ; return 0; }
 EOF
-if { (eval echo configure:6787: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_lesstif=yes
 else
@@ -6797,7 +6800,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:6812: checking LessTif version number" >&5
+echo "configure:6815: 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
@@ -6812,7 +6815,7 @@ else
                      ac_cv_lesstif_version_string=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 6827 "configure"
+#line 6830 "configure"
 #include "confdefs.h"
 #include <stdio.h>
                      #include <Xm/Xm.h>
@@ -6825,7 +6828,7 @@ else
                        exit(0);
                      }
 EOF
-if { (eval echo configure:6840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6843: \"$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/ .*//'`
@@ -6855,7 +6858,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:6870: checking Motif version number" >&5
+echo "configure:6873: 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
@@ -6870,7 +6873,7 @@ else
                      ac_cv_motif_version_string=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 6885 "configure"
+#line 6888 "configure"
 #include "confdefs.h"
 #include <stdio.h>
                      #include <Xm/Xm.h>
@@ -6883,7 +6886,7 @@ else
                        exit(0);
                      }
 EOF
-if { (eval echo configure:6898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6901: \"$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/ .*//'`
@@ -6927,7 +6930,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:6942: checking whether Motif requires XPM" >&5
+echo "configure:6945: checking whether Motif requires XPM" >&5
    if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
    then
      motif_requires_xpm=yes
@@ -6969,7 +6972,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:6984: checking for XpQueryExtension in -lXp" >&5
+echo "configure:6987: 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
@@ -6977,7 +6980,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXp -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6992 "configure"
+#line 6995 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6988,7 +6991,7 @@ int main() {
 XpQueryExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:7003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7006: \"$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
@@ -7042,7 +7045,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:7057: checking for _Xsetlocale in -lXintl" >&5
+echo "configure:7060: 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
@@ -7050,7 +7053,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXintl -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7065 "configure"
+#line 7068 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7061,7 +7064,7 @@ int main() {
 _Xsetlocale()
 ; return 0; }
 EOF
-if { (eval echo configure:7076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7079: \"$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
@@ -7118,7 +7121,7 @@ fi
 
     /*)
      echo $ac_n "checking for GL headers""... $ac_c" 1>&6
-echo "configure:7133: checking for GL headers" >&5
+echo "configure:7136: checking for GL headers" >&5
      d=$with_gl/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -7128,7 +7131,7 @@ echo "configure:7133: checking for GL headers" >&5
      fi
 
      echo $ac_n "checking for GL libs""... $ac_c" 1>&6
-echo "configure:7143: checking for GL libs" >&5
+echo "configure:7146: checking for GL libs" >&5
      d=$with_gl/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -7164,17 +7167,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:7179: checking for GL/gl.h" >&5
+echo "configure:7182: 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
-#line 7184 "configure"
+#line 7187 "configure"
 #include "confdefs.h"
 #include <GL/gl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7192: \"$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*
@@ -7205,17 +7208,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:7220: checking for GL/glx.h" >&5
+echo "configure:7223: 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
-#line 7225 "configure"
+#line 7228 "configure"
 #include "confdefs.h"
 #include <GL/glx.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7230: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7233: \"$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*
@@ -7247,7 +7250,7 @@ fi
     # to link against.
     #
     echo $ac_n "checking whether GL is really MesaGL""... $ac_c" 1>&6
-echo "configure:7262: checking whether GL is really MesaGL" >&5
+echo "configure:7265: 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
@@ -7259,7 +7262,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   cat > conftest.$ac_ext <<EOF
-#line 7274 "configure"
+#line 7277 "configure"
 #include "confdefs.h"
 #include <GL/glx.h>
 EOF
@@ -7288,7 +7291,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:7303: checking for pthread_create in -lpthread" >&5
+echo "configure:7306: 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
@@ -7296,7 +7299,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpthread  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7311 "configure"
+#line 7314 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7307,7 +7310,7 @@ int main() {
 pthread_create()
 ; return 0; }
 EOF
-if { (eval echo configure:7322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7325: \"$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
@@ -7354,7 +7357,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for glXCreateContext in -lMesaGL""... $ac_c" 1>&6
-echo "configure:7369: checking for glXCreateContext in -lMesaGL" >&5
+echo "configure:7372: 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
@@ -7362,7 +7365,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lMesaGL -lMesaGLU $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7377 "configure"
+#line 7380 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7373,7 +7376,7 @@ int main() {
 glXCreateContext()
 ; return 0; }
 EOF
-if { (eval echo configure:7388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7391: \"$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
@@ -7419,7 +7422,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for glXCreateContext in -lGL""... $ac_c" 1>&6
-echo "configure:7434: checking for glXCreateContext in -lGL" >&5
+echo "configure:7437: 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
@@ -7427,7 +7430,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lGL -lGLU $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7442 "configure"
+#line 7445 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7438,7 +7441,7 @@ int main() {
 glXCreateContext()
 ; return 0; }
 EOF
-if { (eval echo configure:7453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7456: \"$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
@@ -7496,12 +7499,12 @@ EOF
     if test "$ac_have_mesa_gl" = yes; then
 
       echo $ac_n "checking MesaGL version number""... $ac_c" 1>&6
-echo "configure:7511: checking MesaGL version number" >&5
+echo "configure:7514: 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 <<EOF
-#line 7516 "configure"
+#line 7519 "configure"
 #include "confdefs.h"
 #include <GL/gl.h>
 #ifndef MESA_MAJOR_VERSION
@@ -7572,7 +7575,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:7587: checking for glBindTexture in -l$gl_lib_1" >&5
+echo "configure:7590: 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
@@ -7580,7 +7583,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$gl_lib_1 $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7595 "configure"
+#line 7598 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7591,7 +7594,7 @@ int main() {
 glBindTexture()
 ; return 0; }
 EOF
-if { (eval echo configure:7606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7609: \"$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
@@ -7652,7 +7655,7 @@ fi
 
     /*)
      echo $ac_n "checking for GLE headers""... $ac_c" 1>&6
-echo "configure:7667: checking for GLE headers" >&5
+echo "configure:7670: checking for GLE headers" >&5
      d=$with_gle/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -7662,7 +7665,7 @@ echo "configure:7667: checking for GLE headers" >&5
      fi
 
      echo $ac_n "checking for GLE libs""... $ac_c" 1>&6
-echo "configure:7677: checking for GLE libs" >&5
+echo "configure:7680: checking for GLE libs" >&5
      d=$with_gle/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -7698,17 +7701,17 @@ if test "$with_gle" = yes; then
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   ac_safe=`echo "GL/gle.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for GL/gle.h""... $ac_c" 1>&6
-echo "configure:7713: checking for GL/gle.h" >&5
+echo "configure:7716: checking for GL/gle.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
-#line 7718 "configure"
+#line 7721 "configure"
 #include "confdefs.h"
 #include <GL/gle.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7723: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7726: \"$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*
@@ -7741,17 +7744,17 @@ fi
   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:7756: checking for GL/gutil.h" >&5
+echo "configure:7759: 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
-#line 7761 "configure"
+#line 7764 "configure"
 #include "confdefs.h"
 #include <GL/gutil.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7769: \"$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*
@@ -7782,17 +7785,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:7797: checking for GL/tube.h" >&5
+echo "configure:7800: 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
-#line 7802 "configure"
+#line 7805 "configure"
 #include "confdefs.h"
 #include <GL/tube.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7807: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7810: \"$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*
@@ -7838,7 +7841,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for gleCreateGC in -lgle""... $ac_c" 1>&6
-echo "configure:7853: checking for gleCreateGC in -lgle" >&5
+echo "configure:7856: 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
@@ -7846,7 +7849,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7861 "configure"
+#line 7864 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7857,7 +7860,7 @@ int main() {
 gleCreateGC()
 ; return 0; }
 EOF
-if { (eval echo configure:7872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7875: \"$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
@@ -7917,7 +7920,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for uview_direction in -lgle""... $ac_c" 1>&6
-echo "configure:7932: checking for uview_direction in -lgle" >&5
+echo "configure:7935: checking for uview_direction in -lgle" >&5
 ac_lib_var=`echo gle'_'uview_direction | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7925,7 +7928,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7940 "configure"
+#line 7943 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7936,7 +7939,7 @@ int main() {
 uview_direction()
 ; return 0; }
 EOF
-if { (eval echo configure:7951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7954: \"$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
@@ -7981,7 +7984,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:7996: checking for uview_direction_d in -lmatrix" >&5
+echo "configure:7999: 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
@@ -7989,7 +7992,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmatrix $GL_LIBS -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8004 "configure"
+#line 8007 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8000,7 +8003,7 @@ int main() {
 uview_direction_d()
 ; return 0; }
 EOF
-if { (eval echo configure:8015: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8018: \"$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
@@ -8073,7 +8076,7 @@ fi
 
     /*)
      echo $ac_n "checking for XPM headers""... $ac_c" 1>&6
-echo "configure:8088: checking for XPM headers" >&5
+echo "configure:8091: checking for XPM headers" >&5
      d=$with_xpm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -8083,7 +8086,7 @@ echo "configure:8088: checking for XPM headers" >&5
      fi
 
      echo $ac_n "checking for XPM libs""... $ac_c" 1>&6
-echo "configure:8098: checking for XPM libs" >&5
+echo "configure:8101: checking for XPM libs" >&5
      d=$with_xpm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -8116,17 +8119,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:8131: checking for X11/xpm.h" >&5
+echo "configure:8134: 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
-#line 8136 "configure"
+#line 8139 "configure"
 #include "confdefs.h"
 #include <X11/xpm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8141: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8144: \"$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*
@@ -8192,7 +8195,7 @@ fi
 
     /*)
      echo $ac_n "checking for XSHM headers""... $ac_c" 1>&6
-echo "configure:8207: checking for XSHM headers" >&5
+echo "configure:8210: checking for XSHM headers" >&5
      d=$with_xshm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -8202,7 +8205,7 @@ echo "configure:8207: checking for XSHM headers" >&5
      fi
 
      echo $ac_n "checking for XSHM libs""... $ac_c" 1>&6
-echo "configure:8217: checking for XSHM libs" >&5
+echo "configure:8220: checking for XSHM libs" >&5
      d=$with_xshm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -8237,17 +8240,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:8252: checking for X11/extensions/XShm.h" >&5
+echo "configure:8255: 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
-#line 8257 "configure"
+#line 8260 "configure"
 #include "confdefs.h"
 #include <X11/extensions/XShm.h>
 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:8265: \"$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*
@@ -8281,17 +8284,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:8296: checking for sys/ipc.h" >&5
+echo "configure:8299: 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
-#line 8301 "configure"
+#line 8304 "configure"
 #include "confdefs.h"
 #include <sys/ipc.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8306: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8309: \"$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*
@@ -8326,17 +8329,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:8341: checking for sys/shm.h" >&5
+echo "configure:8344: 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
-#line 8346 "configure"
+#line 8349 "configure"
 #include "confdefs.h"
 #include <sys/shm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8351: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8354: \"$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*
@@ -8388,7 +8391,7 @@ fi
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
   echo $ac_n "checking for XShmQueryExtension in -lXextSam""... $ac_c" 1>&6
-echo "configure:8403: checking for XShmQueryExtension in -lXextSam" >&5
+echo "configure:8406: 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
@@ -8396,7 +8399,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXextSam -lX11 -lXext -lm $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8411 "configure"
+#line 8414 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8407,7 +8410,7 @@ int main() {
 XShmQueryExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:8422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8425: \"$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
@@ -8474,7 +8477,7 @@ fi
 
     /*)
      echo $ac_n "checking for DOUBLE-BUFFER headers""... $ac_c" 1>&6
-echo "configure:8489: checking for DOUBLE-BUFFER headers" >&5
+echo "configure:8492: checking for DOUBLE-BUFFER headers" >&5
      d=$with_xdbe/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -8484,7 +8487,7 @@ echo "configure:8489: checking for DOUBLE-BUFFER headers" >&5
      fi
 
      echo $ac_n "checking for DOUBLE-BUFFER libs""... $ac_c" 1>&6
-echo "configure:8499: checking for DOUBLE-BUFFER libs" >&5
+echo "configure:8502: checking for DOUBLE-BUFFER libs" >&5
      d=$with_xdbe/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -8518,17 +8521,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:8533: checking for X11/extensions/Xdbe.h" >&5
+echo "configure:8536: 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
-#line 8538 "configure"
+#line 8541 "configure"
 #include "confdefs.h"
 #include <X11/extensions/Xdbe.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8546: \"$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*
@@ -8591,7 +8594,7 @@ fi
 
     /*)
      echo $ac_n "checking for XReadDisplay headers""... $ac_c" 1>&6
-echo "configure:8606: checking for XReadDisplay headers" >&5
+echo "configure:8609: checking for XReadDisplay headers" >&5
      d=$with_readdisplay/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -8601,7 +8604,7 @@ echo "configure:8606: checking for XReadDisplay headers" >&5
      fi
 
      echo $ac_n "checking for XReadDisplay libs""... $ac_c" 1>&6
-echo "configure:8616: checking for XReadDisplay libs" >&5
+echo "configure:8619: checking for XReadDisplay libs" >&5
      d=$with_readdisplay/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -8634,17 +8637,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:8649: checking for X11/extensions/readdisplay.h" >&5
+echo "configure:8652: 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
-#line 8654 "configure"
+#line 8657 "configure"
 #include "confdefs.h"
 #include <X11/extensions/readdisplay.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8659: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8662: \"$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*
@@ -8699,7 +8702,7 @@ fi
 
     /*)
      echo $ac_n "checking for Iris Video headers""... $ac_c" 1>&6
-echo "configure:8714: checking for Iris Video headers" >&5
+echo "configure:8717: checking for Iris Video headers" >&5
      d=$with_sgivideo/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
@@ -8709,7 +8712,7 @@ echo "configure:8714: checking for Iris Video headers" >&5
      fi
 
      echo $ac_n "checking for Iris Video libs""... $ac_c" 1>&6
-echo "configure:8724: checking for Iris Video libs" >&5
+echo "configure:8727: checking for Iris Video libs" >&5
      d=$with_sgivideo/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
@@ -8742,17 +8745,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:8757: checking for dmedia/vl.h" >&5
+echo "configure:8760: 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
-#line 8762 "configure"
+#line 8765 "configure"
 #include "confdefs.h"
 #include <dmedia/vl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8767: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8770: \"$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*
@@ -8777,7 +8780,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:8792: checking for vlOpenVideo in -lvl" >&5
+echo "configure:8795: 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
@@ -8785,7 +8788,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lvl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8800 "configure"
+#line 8803 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8796,7 +8799,7 @@ int main() {
 vlOpenVideo()
 ; return 0; }
 EOF
-if { (eval echo configure:8811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8814: \"$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
@@ -8867,7 +8870,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:8882: checking for $with_zippy_req" >&5
+echo "configure:8885: checking for $with_zippy_req" >&5
       if test -x "$with_zippy_req" ; then
         echo "$ac_t""yes" 1>&6
       else
@@ -8881,7 +8884,7 @@ echo "configure:8882: 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:8896: checking for $ac_word" >&5
+echo "configure:8899: 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
@@ -8931,7 +8934,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:8946: checking for $ac_word" >&5
+echo "configure:8949: 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
@@ -8965,7 +8968,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:8980: checking for $ac_word" >&5
+echo "configure:8983: 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
@@ -9000,7 +9003,7 @@ done
 
   if test -n "$emacs_exe" ; then
     echo $ac_n "checking for emacs yow""... $ac_c" 1>&6
-echo "configure:9015: checking for emacs yow" >&5
+echo "configure:9018: checking for emacs yow" >&5
     #
     # get emacs to tell us where the libexec directory is.
     #
@@ -9022,7 +9025,7 @@ echo "configure:9015: 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:9037: checking for xemacs yow" >&5
+echo "configure:9040: checking for xemacs yow" >&5
     if test -n "$xemacs_exe" ; then
       #
       # get xemacs to tell us where the libexec directory is.
@@ -9081,7 +9084,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:9096: checking for $ac_word" >&5
+echo "configure:9099: 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
@@ -9117,7 +9120,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:9132: checking for $ac_word" >&5
+echo "configure:9135: 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
@@ -9167,6 +9170,73 @@ EOF
 
 
 
+###############################################################################
+#
+#       Check whether it's ok to install some hacks as setuid (e.g., "sonar")
+#       This should be safe, but let's give people the option.
+#
+###############################################################################
+
+setuid_hacks_default=no
+setuid_hacks="$setuid_hacks_default"
+# Check whether --with-setuid-hacks or --without-setuid-hacks was given.
+if test "${with_setuid_hacks+set}" = set; then
+  withval="$with_setuid_hacks"
+  setuid_hacks="$withval"
+else
+  setuid_hacks="$setuid_hacks_default"
+fi
+
+
+
+   case "$setuid_hacks" in
+    yes) ;;
+    no)  ;;
+
+    /*)
+     echo $ac_n "checking for setuid hacks headers""... $ac_c" 1>&6
+echo "configure:9210: checking for setuid hacks headers" >&5
+     d=$setuid_hacks/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 setuid hacks libs""... $ac_c" 1>&6
+echo "configure:9220: checking for setuid hacks libs" >&5
+     d=$setuid_hacks/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".
+     setuid_hacks_req="yes"
+     setuid_hacks=$setuid_hacks_req
+     ;;
+
+    *)
+     echo ""
+     echo "error: argument to --with-setuid-hacks 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 "$setuid_hacks" = yes; then
+  true
+elif test "$setuid_hacks" != no; then
+  echo "error: must be yes or no: --with-setuid-hacks=$setuid_hacks"
+  exit 1
+fi
+
+
 ###############################################################################
 #
 #       Done testing.  Now, set up the various -I and -L variables,
@@ -9221,12 +9291,18 @@ else
   LOCK_OBJS='$(NOLOCK_OBJS_1)'
 fi
 
+INSTALL_SETUID='$(INSTALL) $(SUID_FLAGS)'
+
 if test "$need_setuid" = yes; then
   NEED_SETUID=yes
-  INSTALL_SETUID='$(INSTALL) $(SUID_FLAGS)'
 else
   NEED_SETUID=no
-  INSTALL_SETUID='$(INSTALL_PROGRAM)'
+fi
+
+if test "$setuid_hacks" = yes; then
+  SETUID_HACKS=yes
+else
+  SETUID_HACKS=no
 fi
 
 tab='  '
@@ -9289,6 +9365,7 @@ fi
 
 
 
+
 
 
 APPDEFAULTS=$ac_x_app_defaults
@@ -9473,6 +9550,7 @@ s%@GLE_LIBS@%$GLE_LIBS%g
 s%@XDPMS_LIBS@%$XDPMS_LIBS%g
 s%@PASSWD_LIBS@%$PASSWD_LIBS%g
 s%@INSTALL_SETUID@%$INSTALL_SETUID%g
+s%@SETUID_HACKS@%$SETUID_HACKS%g
 s%@INSTALL_DIRS@%$INSTALL_DIRS%g
 s%@NEED_SETUID@%$NEED_SETUID%g
 s%@INSTALL_PAM@%$INSTALL_PAM%g
index c7a316c0df831a2556545d5a042285530f8842c1..342988f7f9cd447006979626f285af9922729cda 100644 (file)
@@ -766,7 +766,7 @@ AC_PROG_PERL
 
 if test -z "$PERL" ; then
   # don't let it be blank...
-  PERL=/usr/local/bin/perl5
+  PERL=/usr/bin/perl
 fi
 
 AC_PATH_XTRA
@@ -2383,8 +2383,7 @@ AC_ARG_WITH(zippy,[
                           default (though it can be overridden with X
                           resources.)  If you don't specify this, the default
                           is to use \"yow\" from the Emacs distribution (if you
-                          have it) or else to use \"fortune\".
-],
+                          have it) or else to use \"fortune\".],
   [with_zippy_req="$withval"; with_zippy="$withval"],[with_zippy=yes])
 
 if test "$with_zippy" = no || test "$with_zippy" = yes ; then
@@ -2519,6 +2518,31 @@ fi
 AC_DEFINE_UNQUOTED(ZIPPY_PROGRAM, "$ac_cv_zippy_program")
 
 
+###############################################################################
+#
+#       Check whether it's ok to install some hacks as setuid (e.g., "sonar")
+#       This should be safe, but let's give people the option.
+#
+###############################################################################
+
+setuid_hacks_default=no
+setuid_hacks="$setuid_hacks_default"
+AC_ARG_WITH(setuid-hacks,
+[  --with-setuid-hacks     Allow some demos to be installed \`setuid root'
+                          (which is needed in order to ping other hosts.)
+],
+  [setuid_hacks="$withval"], [setuid_hacks="$setuid_hacks_default"])
+
+HANDLE_X_PATH_ARG(setuid_hacks, --with-setuid-hacks, setuid hacks)
+
+if test "$setuid_hacks" = yes; then
+  true
+elif test "$setuid_hacks" != no; then
+  echo "error: must be yes or no: --with-setuid-hacks=$setuid_hacks"
+  exit 1
+fi
+
+
 ###############################################################################
 #
 #       Done testing.  Now, set up the various -I and -L variables,
@@ -2573,12 +2597,18 @@ else
   LOCK_OBJS='$(NOLOCK_OBJS_1)'
 fi
 
+INSTALL_SETUID='$(INSTALL) $(SUID_FLAGS)'
+
 if test "$need_setuid" = yes; then
   NEED_SETUID=yes
-  INSTALL_SETUID='$(INSTALL) $(SUID_FLAGS)'
 else
   NEED_SETUID=no
-  INSTALL_SETUID='$(INSTALL_PROGRAM)'
+fi
+
+if test "$setuid_hacks" = yes; then
+  SETUID_HACKS=yes
+else
+  SETUID_HACKS=no
 fi
 
 tab='  '
@@ -2619,6 +2649,7 @@ AC_SUBST(GLE_LIBS)
 AC_SUBST(XDPMS_LIBS)
 AC_SUBST(PASSWD_LIBS)
 AC_SUBST(INSTALL_SETUID)
+AC_SUBST(SETUID_HACKS)
 AC_SUBST(INSTALL_DIRS)
 AC_SUBST(NEED_SETUID)
 AC_SUBST(INSTALL_PAM)
index cfcb366c6dba755412d5ef6fc532608792bf4f9d..787a97211d6e0edbbbf66a53f933ce48b4c08ce8 100644 (file)
@@ -37,7 +37,7 @@ SHELL         = /bin/sh
 INSTALL                = @INSTALL@
 SUID_FLAGS      = -o root -m 4755
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT  = @INSTALL_PROGRAM@
+INSTALL_SCRIPT  = @INSTALL_SCRIPT@
 INSTALL_SETUID  = @INSTALL_SETUID@
 INSTALL_DATA   = @INSTALL_DATA@
 INSTALL_DIRS   = @INSTALL_DIRS@
index 639da2cf1d2e6d86c2f005529d042c3424e89df2..abb3dcab17a8bba6806d961a171a8c8073553cdf 100644 (file)
@@ -4,8 +4,8 @@
 !            a screen saver and locker for the X window system
 !                            by Jamie Zawinski
 !
-!                              version 3.30
-!                              19-Mar-2001
+!                              version 3.31
+!                              29-Mar-2001
 !
 ! See "man xscreensaver" for more info.  The latest version is always
 ! available at http://www.jwz.org/xscreensaver/
 
 ! /* (xrdb prevention kludge: whole file)
 
-*timeout:              10
-*cycle:                        10
-*lockTimeout:          0
-*passwdTimeout:                30
+*timeout:              0:10:00
+*cycle:                        0:10:00
+*lockTimeout:          0:00:00
+*passwdTimeout:                0:00:30
+*dpmsEnabled:          False
+*dpmsStandby:          2:00:00
+*dpmsSuspend:          2:00:00
+*dpmsOff:              4:00:00
 *nice:                 10
 *lock:                 False
 *lockVTs:              True
 *timestamp:            False
 *fade:                 True
 *unfade:               False
-*fadeSeconds:          3
+*fadeSeconds:          0:00:03
 *fadeTicks:            20
 *splash:               True
-*splashDuration:       5
+*splashDuration:       0:00:05
 *visualID:             default
 
 *captureStderr:        True
               "Zoom (Lenses)"  zoom -root -lenses                          \n\
                                rotzoomer -root                             \n\
 -         "RotZoomer (mobile)" rotzoomer -root -move                       \n\
+-         "RotZoomer (sweep)"  rotzoomer -root -sweep                      \n\
                                whirlwindwarp -root                         \n\
   color:                       bubbles -root                               \n\
   default-n:                   webcollage -root                            \n\
 !=============================================================================
 
 
-XScreenSaver.pointerPollTime:          5
-XScreenSaver.initialDelay:             0
-XScreenSaver.windowCreationTimeout:    30
+XScreenSaver.pointerPollTime:          0:00:05
+XScreenSaver.initialDelay:             0:00:00
+XScreenSaver.windowCreationTimeout:    0:00:30
 XScreenSaver.bourneShell:              /bin/sh
 
 
index e7f92322412ec470ce64d3710665536981e820d4..7669ee6331331bb47a0139b67c1e1e8b56097db4 100644 (file)
@@ -1,10 +1,14 @@
 "#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",
-"*passwdTimeout:               30",
+"*timeout:             0:10:00",
+"*cycle:                       0:10:00",
+"*lockTimeout:         0:00:00",
+"*passwdTimeout:               0:00:30",
+"*dpmsEnabled:         False",
+"*dpmsStandby:         2:00:00",
+"*dpmsSuspend:         2:00:00",
+"*dpmsOff:             4:00:00",
 "*nice:                        10",
 "*lock:                        False",
 "*lockVTs:             True",
 "*timestamp:           False",
 "*fade:                        True",
 "*unfade:              False",
-"*fadeSeconds:         3",
+"*fadeSeconds:         0:00:03",
 "*fadeTicks:           20",
 "*splash:              True",
-"*splashDuration:      5",
+"*splashDuration:      0:00:05",
 "*visualID:            default",
 "*captureStderr:       True",
 "*overlayTextForeground:       #FFFF00",
               \"Zoom (Lenses)\"        zoom -root -lenses                          \\n\
                                rotzoomer -root                             \\n\
 -         \"RotZoomer (mobile)\" rotzoomer -root -move                     \\n\
+-         \"RotZoomer (sweep)\"  rotzoomer -root -sweep                            \\n\
                                whirlwindwarp -root                         \\n\
   color:                       bubbles -root                               \\n\
   default-n:                   webcollage -root                            \\n\
 -                              goban -root                                 \\n\
 -                              electricsheep                               \\n\
 -                              cosmos -root                                \\n",
-"XScreenSaver.pointerPollTime:         5",
-"XScreenSaver.initialDelay:            0",
-"XScreenSaver.windowCreationTimeout:   30",
+"XScreenSaver.pointerPollTime:         0:00:05",
+"XScreenSaver.initialDelay:            0:00:00",
+"XScreenSaver.windowCreationTimeout:   0:00:30",
 "XScreenSaver.bourneShell:             /bin/sh",
 "*Dialog.headingFont:          *-times-bold-r-*-*-*-180-*-*-*-iso8859-1",
 "*Dialog.bodyFont:             *-helvetica-bold-r-*-*-*-140-*-*-*-iso8859-1",
index 570c2348083f1d11f02ac24413252ae03c55681a..5d678f8c1bfbca892629a808058a526ff857d122 100644 (file)
@@ -59,8 +59,17 @@ sync_server_dpms_settings (Display *dpy, Bool enabled_p,
   BOOL o_enabled = False;
   CARD16 o_power = 0;
   CARD16 o_standby = 0, o_suspend = 0, o_off = 0;
+  Bool bogus_p = False;
 
-  Bool bogus_p = (standby_secs == 0 || suspend_secs == 0 || off_secs == 0);
+  if (standby_secs == 0 && suspend_secs == 0 && off_secs == 0)
+    /* all zero implies "DPMS disabled" */
+    enabled_p = False;
+
+  else if ((standby_secs != 0 && standby_secs < 10) ||
+           (suspend_secs != 0 && suspend_secs < 10) ||
+           (off_secs     != 0 && off_secs     < 10))
+    /* any negative, or any positive-and-less-than-10-seconds, is crazy. */
+    bogus_p = True;
 
   if (bogus_p) enabled_p = False;
 
index 71ed252aa5741793d25d6a46126366f74429b6b2..bbc322d101dba4be40d01927126e17a6a9555d58 100644 (file)
@@ -964,12 +964,25 @@ load_init_file (saver_preferences *p)
     p->fade_p = False;
   if (! p->fade_p) p->unfade_p = False;
 
-  if (p->dpms_standby <= 0 || p->dpms_suspend <= 0 || p->dpms_off <= 0)
+  /* The DPMS settings may have the value 0.
+     But if they are negative, or are a range less than 10 seconds,
+     reset them to sensible defaults.  (Since that must be a mistake.)
+   */
+  if (p->dpms_standby != 0 &&
+      p->dpms_standby < 10 * 1000)
+    p->dpms_standby =  2 * 60 * 60 * 1000;                      /* 2 hours */
+  if (p->dpms_suspend != 0 &&
+      p->dpms_suspend < 10 * 1000)
+    p->dpms_suspend =  2 * 60 * 60 * 1000;                      /* 2 hours */
+  if (p->dpms_off != 0 &&
+      p->dpms_off < 10 * 1000)
+    p->dpms_off      = 4 * 60 * 60 * 1000;                      /* 4 hours */
+
+  if (p->dpms_standby == 0 &&     /* if *all* are 0, then DPMS is disabled */
+      p->dpms_suspend == 0 &&
+      p->dpms_off     == 0)
     p->dpms_enabled_p = False;
 
-  if (p->dpms_standby <= 10000) p->dpms_standby = 10000;        /* 10 secs */
-  if (p->dpms_suspend <= 10000) p->dpms_suspend = 10000;        /* 10 secs */
-  if (p->dpms_off     <= 10000) p->dpms_off     = 10000;        /* 10 secs */
 
   p->watchdog_timeout = p->cycle * 0.6;
   if (p->watchdog_timeout < 30000) p->watchdog_timeout = 30000;          /* 30 secs */
index 448f256aae918cd8185faa00ec6f11591d1125c0..eea2ff833e009d74db4ec9b3a4bfe2b6d4c150dc 100644 (file)
@@ -11,7 +11,7 @@
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "19-Mar-2001 (3.30)" "X Version 11"
+.TH XScreenSaver 1 "29-Mar-2001 (3.31)" "X Version 11"
 .SH NAME
 xscreensaver-command - control a running xscreensaver process
 .SH SYNOPSIS
index 4ec05db4fe35575d4195696e1df5e8b4a279e45d..bedb20812eb6e7b659584d06d9da05fac7edcc62 100644 (file)
@@ -11,7 +11,7 @@
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "19-Mar-2001 (3.30)" "X Version 11"
+.TH XScreenSaver 1 "29-Mar-2001 (3.31)" "X Version 11"
 .SH NAME
 xscreensaver-demo - interactively control the background xscreensaver daemon
 .SH SYNOPSIS
index 391f21849bc718563621a1f8d38998bf9312a7ae..3b8b059d423ec7cbf4a54ad58f5a654eab0df199 100644 (file)
@@ -11,7 +11,7 @@
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "19-Mar-2001 (3.30)" "X Version 11"
+.TH XScreenSaver 1 "29-Mar-2001 (3.31)" "X Version 11"
 .SH NAME
 xscreensaver - graphics hack and screen locker, launched when the user is idle
 .SH SYNOPSIS
@@ -167,6 +167,23 @@ should not be too large: the X server is grabbed for the duration that the
 password dialog box is up (for security purposes) and leaving the server 
 grabbed for too long can cause problems.
 .TP 8
+.B dpmsEnabled\fP (class \fBBoolean\fP)
+Whether power management is enabled.
+.TP 8
+.B dpmsStandby\fP (class \fBTime\fP)
+If power management is enabled, how long until the monitor goes solid black.
+.TP 8
+.B dpmsSuspend\fP (class \fBTime\fP)
+If power management is enabled, how long until the monitor goes into
+power-saving mode.
+.TP 8
+.B dpmsOff\fP (class \fBTime\fP)
+If power management is enabled, how long until the monitor powers down
+completely.  Note that these settings will have no effect unless both
+the X server and the display hardware support power management; not 
+all do.  See the \fIPower Management\fP section, below, for more 
+information.
+.TP 8
 .B visualID\fP (class \fBVisualID\fP)
 Specify which X visual to use by default.  (Note carefully that this resource
 is called \fBvisualID\fP, not merely \fBvisual\fP; if you set the \fBvisual\fP
@@ -599,18 +616,31 @@ notice this (after a few minutes), and will not waste CPU by drawing
 graphics demos on a black screen.  An attempt will also be made to
 explicitly power the monitor back up as soon as user activity is detected.
 
-If your X server supports power management, then
-.BR xset (1)
-will accept a \fBdpms\fP option.  So, if you wanted \fIxscreensaver\fP
-to activate after 5 minutes, but you wanted your monitor to power down
-after one hour (3600 seconds) you would do this:
-.EX
-xset dpms 3600
-.EE
-See the man page for the
+As of version 3.28, the \fI~/.xscreensaver\fP file controls the
+configuration of your display's power management settings: if you have
+used
 .BR xset (1)
-program for details.  (Note that power management requires both software
-support in the X server, and hardware support in the monitor itself.)
+to change your power management settings, then xscreensaver will
+override those changes with the values specified 
+in \fI~/.xscreensaver\fP (or with its built-in defaults, if there
+is no \fI~/.xscreensaver\fP file yet.)
+
+To change your power management settings, run
+.BR xscreensaver\-demo (1)
+and change the various timeouts through the user interface.
+Alternately, you can edit the \fI~/.xscreensaver\fP file directly.
+
+If the power management section is grayed out in the
+.BR xscreensaver\-demo (1)
+window,  then that means that your X server does not support
+the XDPMS extension, and so control over the monitor's power state
+is not available.
+
+If you're using a laptop, don't be surprised if changing the DPMS
+settings has no effect: many laptops have monitor power-saving behavior
+built in at a very low level that is invisible to Unix and X.  On such
+systems, you can typically only adjust the power-saving delays by
+changing settings in the BIOS in some hardware-specific way.
 .SH USING XDM(1)
 You can run \fIxscreensaver\fP from your 
 .BR xdm (1)
index 9e55906b2bbeb18ffb124c1c0644420c0eecc850..7dd7ad3f379364dd5754b19a490bbd040b0a9927 100644 (file)
@@ -29,8 +29,10 @@ DEPEND_DEFINES       = @DEPEND_DEFINES@
 
 SHELL          = /bin/sh
 INSTALL                = @INSTALL@
+SUID_FLAGS      = -o root -m 4755
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT  = @INSTALL_SCRIPT@
+INSTALL_SETUID  = @INSTALL_SETUID@
 INSTALL_DATA   = @INSTALL_DATA@
 INSTALL_DIRS   = @INSTALL_DIRS@
 HACKDIR                = @HACKDIR@
@@ -111,7 +113,7 @@ OBJS                = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
                  nerverot.o xrayswarm.o hyperball.o zoom.o whirlwindwarp.o \
                  rotzoomer.o
 
-EXES           = attraction blitspin bouboule braid bubbles decayscreen deco \
+NEXES          = attraction blitspin bouboule braid bubbles decayscreen deco \
                  drift flag flame forest vines galaxy grav greynetic halo \
                  helix hopalong hypercube ifs imsmap julia kaleidescope \
                  laser lightning lisa lmorph maze moire noseguy pedal \
@@ -120,11 +122,12 @@ EXES              = attraction blitspin bouboule braid bubbles decayscreen deco \
                  fadeplot rd-bomb coral mountain triangle lissie worm rotor \
                  ant xjack xlyap jigsaw cynosure moire2 flow epicycle \
                  interference truchet bsod crystal discrete distort kumppa \
-                 sonar demon loop t3d penetrate deluxe compass squiral \
-                 xflame wander spotlight critical phosphor xmatrix petri \
-                 shadebobs xsublim ccurve blaster bumps ripples xteevee \
-                 xspirograph nerverot xrayswarm hyperball zoom whirlwindwarp \
-                 rotzoomer
+                 demon loop t3d penetrate deluxe compass squiral xflame \
+                 wander spotlight critical phosphor xmatrix petri shadebobs \
+                 xsublim ccurve blaster bumps ripples xteevee xspirograph \
+                 nerverot xrayswarm hyperball zoom whirlwindwarp rotzoomer
+SEXES          = sonar
+EXES           = $(NEXES) $(SEXES)
 
 HACK_OBJS_1    = $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
                  $(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o @XMU_OBJS@
@@ -179,17 +182,28 @@ install:   install-program   install-scripts install-man
 uninstall: uninstall-program uninstall-man
 
 install-strip:
-       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
+               INSTALL_SETUID='$(INSTALL_SETUID) -s' \
+               install
 
 install-program: $(EXES)
        @if [ ! -d $(install_prefix)$(HACKDIR) ]; then                  \
          $(INSTALL_DIRS) $(install_prefix)$(HACKDIR) ;                 \
         fi ;                                                           \
-       for program in $(EXES); do                                      \
+       for program in $(NEXES); do                                     \
          echo $(INSTALL_PROGRAM) $$program                             \
            $(install_prefix)$(HACKDIR)/$$program ;                     \
          $(INSTALL_PROGRAM) $$program                                  \
            $(install_prefix)$(HACKDIR)/$$program ;                     \
+       done ;                                                          \
+       if [ @SETUID_HACKS@ = yes ]; then                               \
+         sinst="$(INSTALL_SETUID)" ;                                   \
+       else                                                            \
+         sinst="$(INSTALL_PROGRAM)" ;                                  \
+       fi ;                                                            \
+       for program in $(SEXES); do                                     \
+         echo $$sinst $$program $(install_prefix)$(HACKDIR)/$$program ;\
+              $$sinst $$program $(install_prefix)$(HACKDIR)/$$program ;\
        done
 
 install-scripts: $(SCRIPTS) munge-scripts
index 0fb600971a1070144ee93181775bb2b045b15afb..06b84f7884a33a714801900254ba738cff00440d 100644 (file)
@@ -70,13 +70,13 @@ SRCS                = xscreensaver-gl-helper.c \
                  morph3d.c pipeobjs.c pipes.c rubik.c s1_1.c s1_2.c s1_3.c \
                  s1_4.c s1_5.c s1_6.c s1_b.c shark.c sproingies.c \
                  sproingiewrap.c stairs.c superquadrics.c swim.c whale.c \
-                 xlock-gl.c xpm-ximage.c glplanet.c pulsar.c \
+                 xlock-gl.c fps.c xpm-ximage.c glplanet.c pulsar.c \
                  extrusion.c extrusion-helix2.c extrusion-helix3.c \
                  extrusion-helix4.c extrusion-joinoffset.c extrusion-screw.c \
                  extrusion-taper.c extrusion-twistoid.c sierpinski3d.c \
                  gflux.c stonerview.c stonerview-move.c stonerview-osc.c \
                  stonerview-view.c starwars.c glut_stroke.c glut_swidth.c \
-                 gltext.c molecule.c dangerball.c
+                 gltext.c molecule.c dangerball.c sphere.c tube.c
 
 OBJS           = xscreensaver-gl-helper.o \
                  atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
@@ -84,13 +84,13 @@ OBJS                = xscreensaver-gl-helper.o \
                  morph3d.o pipeobjs.o pipes.o rubik.o s1_1.o s1_2.o s1_3.o \
                  s1_4.o s1_5.o s1_6.o s1_b.o shark.o sproingies.o \
                  sproingiewrap.o stairs.o superquadrics.o swim.o whale.o \
-                 xlock-gl.o xpm-ximage.o glplanet.o pulsar.o \
+                 xlock-gl.o fps.o xpm-ximage.o glplanet.o pulsar.o \
                  extrusion.o extrusion-helix2.o extrusion-helix3.o \
                  extrusion-helix4.o extrusion-joinoffset.o extrusion-screw.o \
                  extrusion-taper.o extrusion-twistoid.o sierpinski3d.o \
                  gflux.o stonerview.o stonerview-move.o stonerview-osc.o \
                  stonerview-view.o starwars.o glut_stroke.o glut_swidth.o \
-                 gltext.o molecule.o dangerball.o
+                 gltext.o molecule.o dangerball.o sphere.o tube.o
 
 GL_EXES_1      = cage gears moebius pipes sproingies stairs superquadrics \
                  morph3d rubik atlantis lament bubble3d glplanet pulsar \
@@ -102,14 +102,15 @@ GLE_EXES  = extrusion
 HACK_EXES      = @GL_EXES@ @GLE_EXES@
 EXES           = $(HACK_EXES)
 
-HACK_OBJS      = screenhack-gl.o xlock-gl.o $(HACK_BIN)/xlockmore.o \
+HACK_OBJS      = screenhack-gl.o xlock-gl.o fps.o $(HACK_BIN)/xlockmore.o \
                  $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
                  $(UTILS_BIN)/visual-gl.o $(UTILS_BIN)/usleep.o \
                  $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/hsv.o \
                  $(UTILS_BIN)/colors.o
 
 HDRS           = atlantis.h bubble3d.h buildlwo.h e_textures.h xpm-ximage.h \
-                 stonerview-move.h stonerview-osc.h glutstroke.h glut_roman.h
+                 tube.h sphere.h stonerview-move.h stonerview-osc.h \
+                 glutstroke.h glut_roman.h
 GL_MEN         = gflux.man lament.man starwars.man gltext.man \
                  molecule.man xscreensaver-gl-helper.man
 MEN            = @GL_MEN@
@@ -322,8 +323,8 @@ B3D = b_sphere.o b_draw.o b_lockglue.o
 bubble3d:      bubble3d.o      $(HACK_OBJS) $(B3D)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(B3D) $(HACK_LIBS)
 
-glplanet:      glplanet.o      $(HACK_OBJS) xpm-ximage.o
-       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
+glplanet:      glplanet.o      sphere.o xpm-ximage.o $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   sphere.o xpm-ximage.o $(HACK_OBJS) $(XPM_LIBS)
 
 pulsar:                pulsar.o        $(HACK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
@@ -344,12 +345,12 @@ SW_OBJS=starwars.o glut_stroke.o glut_swidth.o
 starwars:      $(SW_OBJS) $(HACK_OBJS)
        $(CC_HACK) -o $@ $(SW_OBJS) $(HACK_OBJS) $(HACK_LIBS)
 
-GLT_OBJS=gltext.o glut_stroke.o glut_swidth.o
+GLT_OBJS=gltext.o glut_stroke.o glut_swidth.o tube.o
 gltext:        $(GLT_OBJS) $(HACK_OBJS)
        $(CC_HACK) -o $@ $(GLT_OBJS) $(HACK_OBJS) $(HACK_LIBS)
 
-dangerball:    dangerball.o    $(HACK_OBJS)
-       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+dangerball:    dangerball.o    sphere.o tube.o $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   sphere.o tube.o $(HACK_OBJS) $(HACK_LIBS)
 
 # This one works differently (it's not xlock-like.)
 #
@@ -363,14 +364,14 @@ molecules.h:
        rm -f $$tmp ;                                                   \
        echo "building molecules.h from $(HACK_SRC)/images/molecules/*.pdb" ; \
        for f in $(HACK_SRC)/images/molecules/*.pdb ; do                \
-         $(SHELL) $(UTILS_SRC)/ad2c < "$$f" |                          \
+         $(SHELL) $(UTILS_SRC)/ad2c "$$f" |                            \
            sed 's/",$$/\\n"/' >> $$tmp ;                               \
          echo ',' >> $$tmp ;                                           \
        done ;                                                          \
        mv $$tmp molecules.h
 
-molecule:      molecule.o      $(HACK_OBJS)
-       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+molecule:      molecule.o      sphere.o tube.o $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   sphere.o tube.o $(HACK_OBJS) $(HACK_LIBS)
 
 
 ##############################################################################
@@ -616,6 +617,17 @@ xlock-gl.o: $(UTILS_SRC)/grabscreen.h
 xlock-gl.o: $(UTILS_SRC)/visual.h
 xlock-gl.o: $(HACK_SRC)/xlockmoreI.h
 xlock-gl.o: $(UTILS_SRC)/xshm.h
+fps.o: ../../config.h
+fps.o: $(HACK_SRC)/screenhack.h
+fps.o: $(UTILS_SRC)/yarandom.h
+fps.o: $(UTILS_SRC)/usleep.h
+fps.o: $(UTILS_SRC)/resources.h
+fps.o: $(UTILS_SRC)/hsv.h
+fps.o: $(UTILS_SRC)/colors.h
+fps.o: $(UTILS_SRC)/grabscreen.h
+fps.o: $(UTILS_SRC)/visual.h
+fps.o: $(HACK_SRC)/xlockmoreI.h
+fps.o: $(UTILS_SRC)/xshm.h
 xpm-ximage.o: ../../config.h
 glplanet.o: $(HACK_SRC)/xlockmore.h
 glplanet.o: ../../config.h
@@ -629,6 +641,7 @@ glplanet.o: $(UTILS_SRC)/colors.h
 glplanet.o: $(UTILS_SRC)/grabscreen.h
 glplanet.o: $(UTILS_SRC)/visual.h
 glplanet.o: $(UTILS_SRC)/xshm.h
+glplanet.o: $(srcdir)/sphere.h
 glplanet.o: $(HACK_SRC)/images/earth.xbm
 glplanet.o: $(srcdir)/xpm-ximage.h
 pulsar.o: $(HACK_SRC)/xlockmore.h
@@ -732,6 +745,7 @@ gltext.o: $(UTILS_SRC)/colors.h
 gltext.o: $(UTILS_SRC)/grabscreen.h
 gltext.o: $(UTILS_SRC)/visual.h
 gltext.o: $(UTILS_SRC)/xshm.h
+gltext.o: $(srcdir)/tube.h
 gltext.o: $(srcdir)/glutstroke.h
 gltext.o: $(srcdir)/glut_roman.h
 molecule.o: $(HACK_SRC)/xlockmore.h
@@ -746,6 +760,8 @@ molecule.o: $(UTILS_SRC)/colors.h
 molecule.o: $(UTILS_SRC)/grabscreen.h
 molecule.o: $(UTILS_SRC)/visual.h
 molecule.o: $(UTILS_SRC)/xshm.h
+molecule.o: $(srcdir)/sphere.h
+molecule.o: $(srcdir)/tube.h
 molecule.o: molecules.h
 dangerball.o: $(HACK_SRC)/xlockmore.h
 dangerball.o: ../../config.h
@@ -759,6 +775,12 @@ dangerball.o: $(UTILS_SRC)/colors.h
 dangerball.o: $(UTILS_SRC)/grabscreen.h
 dangerball.o: $(UTILS_SRC)/visual.h
 dangerball.o: $(UTILS_SRC)/xshm.h
+dangerball.o: $(srcdir)/sphere.h
+dangerball.o: $(srcdir)/tube.h
 dangerball.o: $(srcdir)/glutstroke.h
 dangerball.o: $(srcdir)/glut_roman.h
+sphere.o: ../../config.h
+sphere.o: $(srcdir)/tube.h
+tube.o: ../../config.h
+tube.o: $(srcdir)/tube.h
 
index 2dca4e0303a371816b6175b941c16953a742b157..8aa2f9cf5c0416296f1dd3ee7ba87b7c2983689a 100644 (file)
@@ -32,18 +32,19 @@ extern XtAppContext app;
                        "*wander:     " DEF_WANDER "\n" \
 
 
+#define SPIKE_FACES   12  /* how densely to render spikes */
+#define SMOOTH_SPIKES True
 #define SPHERE_SLICES 32  /* how densely to render spheres */
 #define SPHERE_STACKS 16
 
 
-#define SPIKE_FACES  12   /* how densely to render spikes */
-
-
 #undef countof
 #define countof(x) (sizeof((x))/sizeof((*x)))
 
 #include "xlockmore.h"
 #include "colors.h"
+#include "sphere.h"
+#include "tube.h"
 #include <ctype.h>
 
 #ifdef USE_GL /* whole file */
@@ -103,112 +104,6 @@ static argtype vars[] = {
 ModeSpecOpt sws_opts = {countof(opts), opts, countof(vars), vars, NULL};
 
 
-
-static void
-unit_spike (Bool wire)
-{
-  int i;
-  int faces = SPIKE_FACES;
-  GLfloat step = M_PI * 2 / faces;
-  GLfloat th;
-
-  glFrontFace(GL_CW);
-  glBegin(wire ? GL_LINE_STRIP : GL_TRIANGLE_FAN);
-
-  glNormal3f(0, 1, 0);
-  glVertex3f(0, 1, 0);
-  for (i = 0, th = 0; i <= faces; i++)
-    {
-      GLfloat x = cos (th);
-      GLfloat y = sin (th);
-      glNormal3f(x, 0, y);
-      glVertex3f(x, 0, y);
-      if (wire) glVertex3f(0, 1, 0);
-      th += step;
-    }
-  glEnd();
-}
-
-
-/* lifted from glplanet */
-/* Function for determining points on the surface of the sphere */
-static void
-parametric_sphere (float theta, float rho, GLfloat *vector)
-{
-  vector[0] = -sin(theta) * sin(rho);
-  vector[1] = cos(theta) * sin(rho);
-  vector[2] = cos(rho);
-}
-
-/* lifted from glplanet */
-static void
-unit_sphere (Bool wire)
-{
-  int stacks = SPHERE_STACKS;
-  int slices = SPHERE_SLICES;
-
-  int i, j;
-  float drho, dtheta;
-  float rho, theta;
-  GLfloat vector[3];
-  GLfloat ds, dt, t, s;
-
-  if (!wire)
-    glShadeModel(GL_SMOOTH);
-
-  /* Generate a sphere with quadrilaterals.
-   * Quad vertices are determined using a parametric sphere function.
-   * For fun, you could generate practically any parameteric surface and
-   * map an image onto it. 
-   */
-  drho = M_PI / stacks;
-  dtheta = 2.0 * M_PI / slices;
-  ds = 1.0 / slices;
-  dt = 1.0 / stacks;
-
-  glFrontFace(GL_CCW);
-  glBegin( wire ? GL_LINE_LOOP : GL_QUADS );
-
-  t = 0.0;
-  for (i=0; i < stacks; i++) {
-    rho = i * drho;
-    s = 0.0;
-    for (j=0; j < slices; j++) {
-      theta = j * dtheta;
-
-      glTexCoord2f (s,t);
-      parametric_sphere (theta, rho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta, rho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
-
-      glTexCoord2f (s,t+dt);
-      parametric_sphere (theta, rho+drho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta, rho+drho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
-
-      glTexCoord2f (s+ds,t+dt);
-      parametric_sphere (theta + dtheta, rho+drho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta + dtheta, rho+drho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
-
-      glTexCoord2f (s+ds, t);
-      parametric_sphere (theta + dtheta, rho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta + dtheta, rho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
-
-      s = s + ds;
-    }
-    t = t + dt;
-  }
-  glEnd();
-}
-
-
-
 /* Window management, etc
  */
 void
@@ -442,11 +337,13 @@ init_ball (ModeInfo *mi)
   bp->spike_list = glGenLists (1);
 
   glNewList (bp->ball_list, GL_COMPILE);
-  unit_sphere (wire);
+  unit_sphere (SPHERE_STACKS, SPHERE_SLICES, wire);
   glEndList ();
 
   glNewList (bp->spike_list, GL_COMPILE);
-  unit_spike (wire);
+  cone (0, 0, 0,
+        0, 1, 0,
+        1, 0, SPIKE_FACES, SMOOTH_SPIKES, wire);
   glEndList ();
 
   randomize_spikes (mi);
diff --git a/hacks/glx/fps.c b/hacks/glx/fps.c
new file mode 100644 (file)
index 0000000..e7adec3
--- /dev/null
@@ -0,0 +1,196 @@
+/* tube, Copyright (c) 2001 Jamie Zawinski <jwz@jwz.org>
+ * Utility function to draw a frames-per-second display.
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "screenhack.h"
+#include "xlockmoreI.h"
+
+#include <GL/gl.h>
+#include <GL/glu.h>
+#include <GL/glx.h>
+
+extern void clear_gl_error (void);
+extern void check_gl_error (const char *type);
+
+static int fps_text_x = 10;
+static int fps_text_y = 10;
+static int fps_ascent, fps_descent;
+static int fps_sample_frames = 10;
+static GLuint font_dlist;
+static Bool fps_clear_p = False;
+
+static void
+fps_init (ModeInfo *mi)
+{
+  const char *font = get_string_resource ("fpsFont", "Font");
+  XFontStruct *f;
+  Font id;
+  int first, last;
+
+  fps_clear_p = get_boolean_resource ("fpsSolid", "FPSSolid");
+
+  if (!font) font = "-*-courier-bold-r-normal-*-180-*";
+  f = XLoadQueryFont(mi->dpy, font);
+  if (!f) f = XLoadQueryFont(mi->dpy, "fixed");
+
+  id = f->fid;
+  first = f->min_char_or_byte2;
+  last = f->max_char_or_byte2;
+  
+  clear_gl_error ();
+  font_dlist = glGenLists ((GLuint) last+1);
+  check_gl_error ("glGenLists");
+
+  fps_ascent = f->ascent;
+  fps_descent = f->descent;
+
+  if (get_boolean_resource ("fpsTop", "FPSTop"))
+    fps_text_y = - (f->ascent + 10);
+
+  glXUseXFont(id, first, last-first+1, font_dlist + first);
+  check_gl_error ("glXUseXFont");
+}
+
+
+static void
+fps_print_string (ModeInfo *mi, GLfloat x, GLfloat y, const char *string)
+{
+  int i;
+  /* save the current state */
+  /* note: could be expensive! */
+
+  if (y < 0)
+    y = mi->xgwa.height + y;
+
+  clear_gl_error ();
+  glPushAttrib(GL_ALL_ATTRIB_BITS);
+  {
+    check_gl_error ("glPushAttrib");
+
+    /* disable lighting and texturing when drawing bitmaps!
+       (glPopAttrib() restores these, I believe.)
+     */
+    glDisable(GL_TEXTURE_2D);
+    glDisable(GL_LIGHTING);
+    glDisable(GL_BLEND);
+    glDisable(GL_DEPTH_TEST);
+
+    /* glPopAttrib() does not restore matrix changes, so we must
+       push/pop the matrix stacks to be non-intrusive there.
+     */
+    glMatrixMode(GL_PROJECTION);
+    glPushMatrix();
+    {
+      check_gl_error ("glPushMatrix");
+      glLoadIdentity();
+
+      /* Each matrix mode has its own stack, so we need to push/pop
+         them separately. */
+      glMatrixMode(GL_MODELVIEW);
+      glPushMatrix();
+      {
+        check_gl_error ("glPushMatrix");
+        glLoadIdentity();
+
+        gluOrtho2D(0, mi->xgwa.width, 0, mi->xgwa.height);
+        check_gl_error ("gluOrtho2D");
+
+        /* clear the background */
+        if (fps_clear_p)
+          {
+            glColor3f (0, 0, 0);
+            glRecti (x, y - fps_descent,
+                     mi->xgwa.width - x,
+                     y + fps_ascent + fps_descent);
+          }
+
+        /* draw the text */
+        glColor3f (1, 1, 1);
+        glRasterPos2f (x, y);
+        for (i = 0; i < strlen(string); i++)
+          glCallList (font_dlist + (int)string[i]);
+
+        check_gl_error ("fps_print_string");
+      }
+      glPopMatrix();
+    }
+    glMatrixMode(GL_PROJECTION);
+    glPopMatrix();
+
+  }
+  /* clean up after our state changes */
+  glPopAttrib();
+  check_gl_error ("glPopAttrib");
+}
+
+
+void
+do_fps (ModeInfo *mi)
+{
+  /* every N frames, get the time and use it to get the frames per second */
+  static int frame_counter = -1;
+  static double oldtime = 0; /* time in usecs, as a double */
+  static double newtime = 0;
+
+  static char msg [1024] = { 0, };
+
+  if (frame_counter == -1)
+    {
+      fps_init (mi);
+      frame_counter = fps_sample_frames;
+    }
+
+  if (frame_counter++ == fps_sample_frames)
+    {
+      double fps;
+      struct timeval now;
+# ifdef GETTIMEOFDAY_TWO_ARGS
+      struct timezone tzp;
+      gettimeofday(&now, &tzp);
+# else
+      gettimeofday(&now);
+# endif
+
+      oldtime = newtime;
+      newtime = now.tv_sec + ((double) now.tv_usec * 0.000001);
+
+      fps = fps_sample_frames / (newtime - oldtime);
+
+      if (fps < 0.0001)
+        {
+          strcpy(msg, "FPS: (accumulating...)");
+        }
+      else
+        {
+          sprintf(msg, "FPS: %.02f", fps);
+
+          if (mi->pause != 0)
+            {
+              char buf[40];
+              sprintf(buf, "%f", mi->pause / 1000000.0); /* FTSO C */
+              while(*buf && buf[strlen(buf)-1] == '0')
+                buf[strlen(buf)-1] = 0;
+              if (buf[strlen(buf)-1] == '.')
+                buf[strlen(buf)-1] = 0;
+              sprintf(msg + strlen(msg), " (including %s sec/frame delay)",
+                      buf);
+            }
+        }
+
+      frame_counter = 0;
+    }
+
+  fps_print_string (mi, fps_text_x, fps_text_y, msg);
+}
index 58807895bf4c740b9cb2e36d707fda41d1c460e2..d5d3de48adc166254e19b81f5d933149f9c96e7a 100644 (file)
@@ -1,12 +1,6 @@
 /* -*- Mode: C; tab-width: 4 -*- */
-/* glplanet --- 3D rotating planet, e.g., Earth. */
-
-#if !defined( lint ) && !defined( SABER )
-static const char sccsid[] = "@(#)plate.c      4.07 97/11/24 xlockmore";
-
-#endif
-
-/*-
+/* glplanet --- 3D rotating planet, e.g., Earth.
+ *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation for any purpose and without fee is hereby granted,
  * provided that the above copyright notice appear in all copies and that
@@ -20,6 +14,8 @@ static const char sccsid[] = "@(#)plate.c     4.07 97/11/24 xlockmore";
  * other special, indirect and consequential damages.
  *
  * Revision History:
+ * 21-Mar-01: jwz@jwz.org   Broke sphere routine out into its own file.
+ *
  * 9-Oct-98:  dek@cgl.ucsf.edu  Added stars.
  *
  * 8-Oct-98:  jwz@jwz.org   Made the 512x512x1 xearth image be built in.
@@ -80,6 +76,8 @@ static const char sccsid[] = "@(#)plate.c     4.07 97/11/24 xlockmore";
 
 #ifdef USE_GL /* whole file */
 
+#include "sphere.h"
+
 #ifdef HAVE_XPM
 # include <X11/xpm.h>
 # ifndef PIXEL_ALREADY_TYPEDEFED
@@ -378,6 +376,7 @@ setup_face(void)
 }
 
 
+#if 0
 /* Function for determining points on the surface of the sphere */
 static void inline ParametricSphere(float theta, float rho, GLfloat *vector)
 {
@@ -393,6 +392,7 @@ static void inline ParametricSphere(float theta, float rho, GLfloat *vector)
 
        return;
 }
+#endif
 
 
 /* lame way to generate some random stars */
@@ -452,14 +452,6 @@ pinit(ModeInfo * mi)
 {
   Bool wire = MI_IS_WIREFRAME(mi);
   planetstruct *gp = &planets[MI_SCREEN(mi)];
-  int i, j;
-  int stacks=STACKS, slices=SLICES;
-  float radius=RADIUS;
-
-  float drho, dtheta;
-  float rho, theta;
-  GLfloat vector[3];
-  GLfloat ds, dt, t, s;;
 
   if (wire) {
        glEnable(GL_LINE_SMOOTH);
@@ -479,71 +471,13 @@ pinit(ModeInfo * mi)
        generate_stars(MI_WIDTH(mi), MI_HEIGHT(mi));
   }
 
-
-  /*-
-   * Generate a sphere with quadrilaterals.
-   * Quad vertices are determined using a parametric sphere function.
-   * For fun, you could generate practically any parameteric surface and
-   * map an image onto it. 
-   */
-
-  drho = M_PI / stacks;
-  dtheta = 2.0 * M_PI / slices;
-  ds = 1.0 / slices;
-  dt = 1.0 / stacks;
-  
-
   gp->platelist=glGenLists(1);
   glNewList(gp->platelist, GL_COMPILE);
-
-  glColor3f(1,1,1);
-  glBegin( wire ? GL_LINE_LOOP : GL_QUADS );
-
-  t = 0.0;
-  for(i=0; i<stacks; i++) {
-       rho = i * drho;
-       s = 0.0;
-       for(j=0; j<slices; j++) {
-         theta = j * dtheta;
-
-
-         glTexCoord2f(s,t);
-         ParametricSphere(theta, rho, vector);
-         normalize(vector);
-         glNormal3fv(vector);
-         ParametricSphere(theta, rho, vector);
-         glVertex3f( vector[0]*radius, vector[1]*radius, vector[2]*radius );
-
-         glTexCoord2f(s,t+dt);
-         ParametricSphere(theta, rho+drho, vector);
-         normalize(vector);
-         glNormal3fv(vector);
-         ParametricSphere(theta, rho+drho, vector);
-         glVertex3f( vector[0]*radius, vector[1]*radius, vector[2]*radius );
-
-         glTexCoord2f(s+ds,t+dt);
-         ParametricSphere(theta + dtheta, rho+drho, vector);
-         normalize(vector);
-         glNormal3fv(vector);
-         ParametricSphere(theta + dtheta, rho+drho, vector);
-         glVertex3f( vector[0]*radius, vector[1]*radius, vector[2]*radius );
-
-         glTexCoord2f(s+ds, t);
-         ParametricSphere(theta + dtheta, rho, vector);
-         normalize(vector);
-         glNormal3fv(vector);
-         ParametricSphere(theta + dtheta, rho, vector);
-         glVertex3f( vector[0]*radius, vector[1]*radius, vector[2]*radius );
-
-         s = s + ds;
-
-       }
-       t = t + dt;
-  }
-  glEnd();
+  glPushMatrix ();
+  glScalef (RADIUS, RADIUS, RADIUS);
+  unit_sphere (STACKS, SLICES, wire);
+  glPopMatrix ();
   glEndList();
-
-
  }
 
 static void
index 03110fe882d7f6c2952d3e126ccb68c05c453d37..9970c53d4d63aee918ba45a1290e2e296911ebed 100644 (file)
@@ -45,6 +45,7 @@ extern XtAppContext app;
 
 #include "xlockmore.h"
 #include "colors.h"
+#include "tube.h"
 #include <ctype.h>
 
 #ifdef USE_GL /* whole file */
@@ -347,106 +348,6 @@ init_text (ModeInfo *mi)
 }
 
 
-static void
-unit_tube (Bool wire)
-{
-  int i;
-  int faces = TUBE_FACES;
-  GLfloat step = M_PI * 2 / faces;
-  GLfloat th;
-  int z = 0;
-
-  /* side walls
-   */
-  glFrontFace(GL_CCW);
-
-# ifdef SMOOTH_TUBE
-  glBegin(wire ? GL_LINES : GL_QUAD_STRIP);
-# else
-  glBegin(wire ? GL_LINES : GL_QUADS);
-# endif
-
-  for (i = 0, th = 0; i <= faces; i++)
-    {
-      GLfloat x = cos (th);
-      GLfloat y = sin (th);
-      glNormal3f(x, 0, y);
-      glVertex3f(x, 0.0, y);
-      glVertex3f(x, 1.0, y);
-      th += step;
-
-# ifndef SMOOTH_TUBE
-      x = cos (th);
-      y = sin (th);
-      glVertex3f(x, 1.0, y);
-      glVertex3f(x, 0.0, y);
-# endif
-    }
-  glEnd();
-
-  /* End caps
-   */
-  for (z = 0; z <= 1; z++)
-    {
-      glFrontFace(z == 0 ? GL_CCW : GL_CW);
-      glNormal3f(0, (z == 0 ? -1 : 1), 0);
-      glBegin(wire ? GL_LINE_LOOP : GL_TRIANGLE_FAN);
-      if (! wire) glVertex3f(0, z, 0);
-      for (i = 0, th = 0; i <= faces; i++)
-        {
-          GLfloat x = cos (th);
-          GLfloat y = sin (th);
-          glVertex3f(x, z, y);
-          th += step;
-        }
-      glEnd();
-    }
-}
-
-
-static void
-tube (GLfloat x1, GLfloat y1, GLfloat z1,
-      GLfloat x2, GLfloat y2, GLfloat z2,
-      GLfloat diameter, GLfloat cap_size,
-      Bool wire)
-{
-  GLfloat length, angle, a, b, c;
-
-  if (diameter <= 0) abort();
-
-  a = (x2 - x1);
-  b = (y2 - y1);
-  c = (z2 - z1);
-
-  length = sqrt (a*a + b*b + c*c);
-  angle = acos (a / length);
-
-  glPushMatrix();
-  glTranslatef(x1, y1, z1);
-  glScalef (length, length, length);
-
-  if (c == 0 && b == 0)
-    glRotatef (angle / (M_PI / 180), 0, 1, 0);
-  else
-    glRotatef (angle / (M_PI / 180), 0, -c, b);
-
-  glRotatef (-90, 0, 0, 1);
-  glScalef (diameter/length, 1, diameter/length);
-
-  /* extend the endpoints of the tube by the cap size in both directions */
-  if (cap_size != 0)
-    {
-      GLfloat c = cap_size/length;
-      glTranslatef (0, -c, 0);
-      glScalef (1, 1+c+c, 1);
-    }
-
-  unit_tube (wire);
-  glPopMatrix();
-}
-
-
-
 static int
 fill_character (GLUTstrokeFont font, int c, Bool wire)
 {
@@ -471,12 +372,17 @@ fill_character (GLUTstrokeFont font, int c, Bool wire)
         for (j = stroke->num_coords, coord = stroke->coord;
              j > 0; j--, coord++)
           {
+# ifdef SMOOTH_TUBE
+            int smooth = True;
+# else
+            int smooth = False;
+# endif
             if (j != stroke->num_coords)
-              tube (lx, ly, 0,
+              tube (lx,       ly,       0,
                     coord->x, coord->y, 0,
                     tube_width,
                     tube_width * 0.15,
-                    wire);
+                    TUBE_FACES, smooth, wire);
             lx = coord->x;
             ly = coord->y;
           }
index a65e918ccc5171e6126611f5f081bfded2b93f10..447605c62dad08dd40289e9be9ba90bb5f393690 100644 (file)
 
 #include "xlockmore.h"
 #include "colors.h"
+#include "sphere.h"
+#include "tube.h"
 
 #ifdef USE_GL /* whole file */
 
 #include <ctype.h>
 #include <GL/glu.h>
 
-
 #define SPHERE_SLICES 16  /* how densely to render spheres */
 #define SPHERE_STACKS 10
 
-
 #define SMOOTH_TUBE       /* whether to have smooth or faceted tubes */
 
 #ifdef SMOOTH_TUBE
@@ -191,6 +191,8 @@ static XrmOptionDescRec opts[] = {
   { "+wander", ".wander", XrmoptionNoArg, "False" },
   { "-labels", ".labels", XrmoptionNoArg, "True" },
   { "+labels", ".labels", XrmoptionNoArg, "False" },
+  { "-titles", ".titles", XrmoptionNoArg, "True" },
+  { "+titles", ".titles", XrmoptionNoArg, "False" },
   { "-atoms",  ".atoms",  XrmoptionNoArg, "True" },
   { "+atoms",  ".atoms",  XrmoptionNoArg, "False" },
   { "-bonds",  ".bonds",  XrmoptionNoArg, "True" },
@@ -219,192 +221,15 @@ ModeSpecOpt molecule_opts = {countof(opts), opts, countof(vars), vars, NULL};
 /* shapes */
 
 static void
-unit_tube (Bool wire)
-{
-  int i;
-  int faces = (scale_down ? TUBE_FACES_2 : TUBE_FACES);
-  GLfloat step = M_PI * 2 / faces;
-  GLfloat th;
-  int z = 0;
-
-  /* side walls
-   */
-  glFrontFace(GL_CCW);
-
-# ifdef SMOOTH_TUBE
-  glBegin(wire ? GL_LINES : GL_QUAD_STRIP);
-# else
-  glBegin(wire ? GL_LINES : GL_QUADS);
-# endif
-
-  for (i = 0, th = 0; i <= faces; i++)
-    {
-      GLfloat x = cos (th);
-      GLfloat y = sin (th);
-      glNormal3f(x, 0, y);
-      glVertex3f(x, 0.0, y);
-      glVertex3f(x, 1.0, y);
-      th += step;
-
-# ifndef SMOOTH_TUBE
-      x = cos (th);
-      y = sin (th);
-      glVertex3f(x, 1.0, y);
-      glVertex3f(x, 0.0, y);
-# endif
-    }
-  glEnd();
-
-  /* End caps
-   */
-  for (z = 0; z <= 1; z++)
-    {
-      glFrontFace(z == 0 ? GL_CCW : GL_CW);
-      glNormal3f(0, (z == 0 ? -1 : 1), 0);
-      glBegin(wire ? GL_LINE_LOOP : GL_TRIANGLE_FAN);
-      if (! wire) glVertex3f(0, z, 0);
-      for (i = 0, th = 0; i <= faces; i++)
-        {
-          GLfloat x = cos (th);
-          GLfloat y = sin (th);
-          glVertex3f(x, z, y);
-          th += step;
-        }
-      glEnd();
-    }
-}
-
-
-static void
-tube (GLfloat x1, GLfloat y1, GLfloat z1,
-      GLfloat x2, GLfloat y2, GLfloat z2,
-      GLfloat diameter, GLfloat cap_size,
-      Bool wire)
-{
-  GLfloat length, angle, a, b, c;
-
-  if (diameter <= 0) abort();
-
-  a = (x2 - x1);
-  b = (y2 - y1);
-  c = (z2 - z1);
-
-  length = sqrt (a*a + b*b + c*c);
-  angle = acos (a / length);
-
-  glPushMatrix();
-  glTranslatef(x1, y1, z1);
-  glScalef (length, length, length);
-
-  if (c == 0 && b == 0)
-    glRotatef (angle / (M_PI / 180), 0, 1, 0);
-  else
-    glRotatef (angle / (M_PI / 180), 0, -c, b);
-
-  glRotatef (-90, 0, 0, 1);
-  glScalef (diameter/length, 1, diameter/length);
-
-  /* extend the endpoints of the tube by the cap size in both directions */
-  if (cap_size != 0)
-    {
-      GLfloat c = cap_size/length;
-      glTranslatef (0, -c, 0);
-      glScalef (1, 1+c+c, 1);
-    }
-
-  unit_tube (wire);
-  glPopMatrix();
-}
-
-
-/* lifted from glplanet */
-/* Function for determining points on the surface of the sphere */
-static void
-parametric_sphere (float theta, float rho, GLfloat *vector)
-{
-  vector[0] = -sin(theta) * sin(rho);
-  vector[1] = cos(theta) * sin(rho);
-  vector[2] = cos(rho);
-}
-
-/* lifted from glplanet */
-static void
-unit_sphere (Bool wire)
+sphere (GLfloat x, GLfloat y, GLfloat z, GLfloat diameter, Bool wire)
 {
   int stacks = (scale_down ? SPHERE_STACKS_2 : SPHERE_STACKS);
   int slices = (scale_down ? SPHERE_SLICES_2 : SPHERE_SLICES);
 
-  int i, j;
-  float drho, dtheta;
-  float rho, theta;
-  GLfloat vector[3];
-  GLfloat ds, dt, t, s;
-
-  if (!do_bonds && !scale_down)  /* if balls are bigger, be smoother... */
-    slices *= 2, stacks *= 2;
-
-  if (!wire)
-    glShadeModel(GL_SMOOTH);
-
-  /* Generate a sphere with quadrilaterals.
-   * Quad vertices are determined using a parametric sphere function.
-   * For fun, you could generate practically any parameteric surface and
-   * map an image onto it. 
-   */
-  drho = M_PI / stacks;
-  dtheta = 2.0 * M_PI / slices;
-  ds = 1.0 / slices;
-  dt = 1.0 / stacks;
-
-  glFrontFace(GL_CCW);
-  glBegin( wire ? GL_LINE_LOOP : GL_QUADS );
-
-  t = 0.0;
-  for (i=0; i < stacks; i++) {
-    rho = i * drho;
-    s = 0.0;
-    for (j=0; j < slices; j++) {
-      theta = j * dtheta;
-
-      glTexCoord2f (s,t);
-      parametric_sphere (theta, rho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta, rho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
-
-      glTexCoord2f (s,t+dt);
-      parametric_sphere (theta, rho+drho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta, rho+drho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
-
-      glTexCoord2f (s+ds,t+dt);
-      parametric_sphere (theta + dtheta, rho+drho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta + dtheta, rho+drho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
-
-      glTexCoord2f (s+ds, t);
-      parametric_sphere (theta + dtheta, rho, vector);
-      glNormal3fv (vector);
-      parametric_sphere (theta + dtheta, rho, vector);
-      glVertex3f (vector[0], vector[1], vector[2]);
-
-      s = s + ds;
-    }
-    t = t + dt;
-  }
-  glEnd();
-}
-
-
-static void
-sphere (GLfloat x, GLfloat y, GLfloat z, GLfloat diameter, Bool wire)
-{
   glPushMatrix ();
   glTranslatef (x, y, z);
   glScalef (diameter, diameter, diameter);
-  unit_sphere (wire);
+  unit_sphere (stacks, slices, wire);
   glPopMatrix ();
 }
 
@@ -816,13 +641,21 @@ build_molecule (ModeInfo *mi)
           }
         else
           {
+            int faces = (scale_down ? TUBE_FACES_2 : TUBE_FACES);
+# ifdef SMOOTH_TUBE
+            int smooth = True;
+# else
+            int smooth = False;
+# endif
             GLfloat thickness = 0.07 * b->strength;
             GLfloat cap_size = 0.03;
             if (thickness > 0.3)
               thickness = 0.3;
+
             tube (from->x, from->y, from->z,
                   to->x,   to->y,   to->z,
-                  thickness, cap_size, wire);
+                  thickness, cap_size,
+                  faces, smooth, wire);
           }
       }
 
index 9d81200967abf0a7daf049bf97a3b14f805d15da..31a0bdd305756fe6e496a8a5432f55a1b4a6acb4 100644 (file)
@@ -61,6 +61,7 @@ static const char sccsid[] = "@(#)pipes.c     4.07 97/11/24 xlockmore";
                                        "*cycles:               5       \n"                     \
                                        "*size:                 500     \n"                     \
                        "*showFPS:      False   \n"                 \
+                       "*fpsSolid:     True    \n"                 \
                                        "*fisheye:              True    \n"                     \
                                        "*tightturns:   False   \n"                     \
                                        "*rotatepipes:  True    \n"
diff --git a/hacks/glx/sphere.c b/hacks/glx/sphere.c
new file mode 100644 (file)
index 0000000..d11eb9f
--- /dev/null
@@ -0,0 +1,93 @@
+/* sphere, Copyright (c) 1998 David Konerding <dek@cgl.ucsf.edu>
+ * Utility function to create a unit sphere in GL.
+ *
+ * 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.
+ *
+ *  8-Oct-98: dek           Released initial version of "glplanet"
+ * 21-Mar-01: jwz@jwz.org   Broke sphere routine out into its own file.
+ */
+
+#include "config.h"
+#include <stdlib.h>
+#include <math.h>
+#include <GL/glx.h>
+#include "tube.h"
+
+/* Function for determining points on the surface of the sphere */
+static void
+parametric_sphere (float theta, float rho, GLfloat *vector)
+{
+  vector[0] = -sin(theta) * sin(rho);
+  vector[1] = cos(theta) * sin(rho);
+  vector[2] = cos(rho);
+}
+
+
+void
+unit_sphere (int stacks, int slices, Bool wire)
+{
+  int i, j;
+  float drho, dtheta;
+  float rho, theta;
+  GLfloat vector[3];
+  GLfloat ds, dt, t, s;
+
+  if (!wire)
+    glShadeModel(GL_SMOOTH);
+
+  /* Generate a sphere with quadrilaterals.
+   * Quad vertices are determined using a parametric sphere function.
+   * For fun, you could generate practically any parameteric surface and
+   * map an image onto it. 
+   */
+  drho = M_PI / stacks;
+  dtheta = 2.0 * M_PI / slices;
+  ds = 1.0 / slices;
+  dt = 1.0 / stacks;
+
+  glFrontFace(GL_CCW);
+  glBegin (wire ? GL_LINE_LOOP : GL_QUADS);
+
+  t = 0.0;
+  for (i=0; i < stacks; i++) {
+    rho = i * drho;
+    s = 0.0;
+    for (j=0; j < slices; j++) {
+      theta = j * dtheta;
+
+      glTexCoord2f (s,t);
+      parametric_sphere (theta, rho, vector);
+      glNormal3fv (vector);
+      parametric_sphere (theta, rho, vector);
+      glVertex3f (vector[0], vector[1], vector[2]);
+
+      glTexCoord2f (s,t+dt);
+      parametric_sphere (theta, rho+drho, vector);
+      glNormal3fv (vector);
+      parametric_sphere (theta, rho+drho, vector);
+      glVertex3f (vector[0], vector[1], vector[2]);
+
+      glTexCoord2f (s+ds,t+dt);
+      parametric_sphere (theta + dtheta, rho+drho, vector);
+      glNormal3fv (vector);
+      parametric_sphere (theta + dtheta, rho+drho, vector);
+      glVertex3f (vector[0], vector[1], vector[2]);
+
+      glTexCoord2f (s+ds, t);
+      parametric_sphere (theta + dtheta, rho, vector);
+      glNormal3fv (vector);
+      parametric_sphere (theta + dtheta, rho, vector);
+      glVertex3f (vector[0], vector[1], vector[2]);
+
+      s = s + ds;
+    }
+    t = t + dt;
+  }
+  glEnd();
+}
diff --git a/hacks/glx/sphere.h b/hacks/glx/sphere.h
new file mode 100644 (file)
index 0000000..0a46722
--- /dev/null
@@ -0,0 +1,22 @@
+/* tube, Copyright (c) 2001 Jamie Zawinski <jwz@jwz.org>
+ * Utility function to create a unit sphere in GL.
+ *
+ * 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.
+ */
+
+#ifndef __SPHERE_H__
+#define __SPHERE_H__
+
+/* Creates a diamteter 1 sphere at 0, 0, 0.
+   stacks = number of north/south divisions (latitude)
+   slices = number of clockwise/counterclockwise divisions (longitude)
+ */
+extern void unit_sphere (int stacks, int slices, Bool wire);
+
+#endif /* __SPHERE_H__ */
diff --git a/hacks/glx/tube.c b/hacks/glx/tube.c
new file mode 100644 (file)
index 0000000..6632c29
--- /dev/null
@@ -0,0 +1,212 @@
+/* tube, Copyright (c) 2001 Jamie Zawinski <jwz@jwz.org>
+ * Utility functions to create tubes and cones in GL.
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include <stdlib.h>
+#include <math.h>
+#include <GL/glx.h>
+#include "tube.h"
+
+static void
+unit_tube (int faces, Bool smooth, Bool wire)
+{
+  int i;
+  GLfloat step = M_PI * 2 / faces;
+  GLfloat s2 = step/2;
+  GLfloat th;
+  GLfloat x, y, x0, y0;
+  int z = 0;
+
+  /* side walls
+   */
+  glFrontFace(GL_CCW);
+  glBegin (wire ? GL_LINES : (smooth ? GL_QUAD_STRIP : GL_QUADS));
+
+  th = 0;
+  x = 1;
+  y = 0;
+
+  if (!smooth)
+    {
+      x0 = cos (s2);
+      y0 = sin (s2);
+    }
+
+  if (smooth) faces++;
+
+  for (i = 0; i < faces; i++)
+    {
+      if (smooth)
+        glNormal3f(x, 0, y);
+      else
+        glNormal3f(x0, 0, y0);
+
+      glVertex3f(x, 0, y);
+      glVertex3f(x, 1, y);
+
+      th += step;
+      x  = cos (th);
+      y  = sin (th);
+
+      if (!smooth)
+        {
+          x0 = cos (th + s2);
+          y0 = sin (th + s2);
+
+          glVertex3f(x, 1, y);
+          glVertex3f(x, 0, y);
+        }
+    }
+  glEnd();
+
+  /* End caps
+   */
+  for (z = 0; z <= 1; z++)
+    {
+      glFrontFace(z == 0 ? GL_CCW : GL_CW);
+      glNormal3f(0, (z == 0 ? -1 : 1), 0);
+      glBegin(wire ? GL_LINE_LOOP : GL_TRIANGLE_FAN);
+      if (! wire) glVertex3f(0, z, 0);
+      for (i = 0, th = 0; i <= faces; i++)
+        {
+          GLfloat x = cos (th);
+          GLfloat y = sin (th);
+          glVertex3f(x, z, y);
+          th += step;
+        }
+      glEnd();
+    }
+}
+
+
+static void
+unit_cone (int faces, Bool smooth, Bool wire)
+{
+  int i;
+  GLfloat step = M_PI * 2 / faces;
+  GLfloat s2 = step/2;
+  GLfloat th;
+  GLfloat x, y, x0, y0;
+
+  /* side walls
+   */
+  glFrontFace(GL_CW);
+  glBegin(wire ? GL_LINES : GL_TRIANGLES);
+
+  th = 0;
+  x = 1;
+  y = 0;
+  x0 = cos (s2);
+  y0 = sin (s2);
+
+  for (i = 0; i < faces; i++)
+    {
+      glNormal3f(x0, 0, y0);
+      glVertex3f(0,  1, 0);
+
+      if (smooth) glNormal3f(x, 0, y);
+      glVertex3f(x, 0, y);
+
+      th += step;
+      x0 = cos (th + s2);
+      y0 = sin (th + s2);
+      x  = cos (th);
+      y  = sin (th);
+
+      if (smooth) glNormal3f(x, 0, y);
+      glVertex3f(x, 0, y);
+    }
+  glEnd();
+
+  /* End cap
+   */
+  glFrontFace(GL_CCW);
+  glNormal3f(0, -1, 0);
+  glBegin(wire ? GL_LINE_LOOP : GL_TRIANGLE_FAN);
+  if (! wire) glVertex3f(0, 0, 0);
+  for (i = 0, th = 0; i <= faces; i++)
+    {
+      GLfloat x = cos (th);
+      GLfloat y = sin (th);
+      glVertex3f(x, 0, y);
+      th += step;
+    }
+  glEnd();
+}
+
+
+static void
+tube_1 (GLfloat x1, GLfloat y1, GLfloat z1,
+        GLfloat x2, GLfloat y2, GLfloat z2,
+        GLfloat diameter, GLfloat cap_size,
+        int faces, Bool smooth, Bool wire,
+        Bool cone_p)
+{
+  GLfloat length, angle, a, b, c;
+
+  if (diameter <= 0) abort();
+
+  a = (x2 - x1);
+  b = (y2 - y1);
+  c = (z2 - z1);
+
+  length = sqrt (a*a + b*b + c*c);
+  angle = acos (a / length);
+
+  glPushMatrix();
+  glTranslatef(x1, y1, z1);
+  glScalef (length, length, length);
+
+  if (c == 0 && b == 0)
+    glRotatef (angle / (M_PI / 180), 0, 1, 0);
+  else
+    glRotatef (angle / (M_PI / 180), 0, -c, b);
+
+  glRotatef (-90, 0, 0, 1);
+  glScalef (diameter/length, 1, diameter/length);
+
+  /* extend the endpoints of the tube by the cap size in both directions */
+  if (cap_size != 0)
+    {
+      GLfloat c = cap_size/length;
+      glTranslatef (0, -c, 0);
+      glScalef (1, 1+c+c, 1);
+    }
+
+  if (cone_p)
+    unit_cone (faces, smooth, wire);
+  else
+    unit_tube (faces, smooth, wire);
+  glPopMatrix();
+}
+
+
+void
+tube (GLfloat x1, GLfloat y1, GLfloat z1,
+      GLfloat x2, GLfloat y2, GLfloat z2,
+      GLfloat diameter, GLfloat cap_size,
+      int faces, Bool smooth, Bool wire)
+{
+  tube_1 (x1, y1, z1, x2, y2, z2, diameter, cap_size, faces, smooth, wire,
+          False);
+}
+
+
+void
+cone (GLfloat x1, GLfloat y1, GLfloat z1,
+      GLfloat x2, GLfloat y2, GLfloat z2,
+      GLfloat diameter, GLfloat cap_size,
+      int faces, Bool smooth, Bool wire)
+{
+  tube_1 (x1, y1, z1, x2, y2, z2, diameter, cap_size, faces, smooth, wire,
+          True);
+}
diff --git a/hacks/glx/tube.h b/hacks/glx/tube.h
new file mode 100644 (file)
index 0000000..1fd065d
--- /dev/null
@@ -0,0 +1,26 @@
+/* tube, Copyright (c) 2001 Jamie Zawinski <jwz@jwz.org>
+ * Utility functions to create tubes and cones in GL.
+ *
+ * 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.
+ */
+
+#ifndef __TUBE_H__
+#define __TUBE_H__
+
+extern void tube (GLfloat x1, GLfloat y1, GLfloat z1,
+                  GLfloat x2, GLfloat y2, GLfloat z2,
+                  GLfloat diameter, GLfloat cap_size,
+                  int faces, Bool smooth, Bool wire);
+
+extern void cone (GLfloat x1, GLfloat y1, GLfloat z1,
+                  GLfloat x2, GLfloat y2, GLfloat z2,
+                  GLfloat diameter, GLfloat cap_size,
+                  int faces, Bool smooth, Bool wire);
+
+#endif /* __TUBE_H__ */
index 553a2cdd30242214b7d6163ba715240185f3844a..67d9eddffa925237b30a3725d44e5a5564ffba18 100644 (file)
@@ -137,162 +137,3 @@ check_gl_error (const char *type)
   fprintf (stderr, "%s: %s error: %s\n", progname, type, e);
   exit (1);
 }
-
-
-\f
-
-/* Frames-per-second statistics */
-
-static int fps_text_x = 10;
-static int fps_text_y = 10;
-static int fps_sample_frames = 10;
-static GLuint font_dlist;
-
-static void
-fps_init (ModeInfo *mi)
-{
-  const char *font = get_string_resource ("fpsFont", "Font");
-  XFontStruct *f;
-  Font id;
-  int first, last;
-
-  if (!font) font = "-*-courier-bold-r-normal-*-180-*";
-  f = XLoadQueryFont(mi->dpy, font);
-  if (!f) f = XLoadQueryFont(mi->dpy, "fixed");
-
-  id = f->fid;
-  first = f->min_char_or_byte2;
-  last = f->max_char_or_byte2;
-  
-  clear_gl_error ();
-  font_dlist = glGenLists ((GLuint) last+1);
-  check_gl_error ("glGenLists");
-
-  if (get_boolean_resource ("fpsTop", "FPSTop"))
-    fps_text_y = - (f->ascent + 10);
-
-  glXUseXFont(id, first, last-first+1, font_dlist + first);
-  check_gl_error ("glXUseXFont");
-}
-
-
-static void
-fps_print_string (ModeInfo *mi, GLfloat x, GLfloat y, const char *string)
-{
-  int i;
-  /* save the current state */
-  /* note: could be expensive! */
-
-  if (y < 0)
-    y = mi->xgwa.height + y;
-
-  clear_gl_error ();
-  glPushAttrib(GL_ALL_ATTRIB_BITS);
-  {
-    check_gl_error ("glPushAttrib");
-
-    /* disable lighting and texturing when drawing bitmaps!
-       (glPopAttrib() restores these, I believe.)
-     */
-    glDisable(GL_TEXTURE_2D);
-    glDisable(GL_LIGHTING);
-    glDisable(GL_BLEND);
-
-    /* glPopAttrib() does not restore matrix changes, so we must
-       push/pop the matrix stacks to be non-intrusive there.
-     */
-    glMatrixMode(GL_PROJECTION);
-    glPushMatrix();
-    {
-      check_gl_error ("glPushMatrix");
-      glLoadIdentity();
-
-      /* Each matrix mode has its own stack, so we need to push/pop
-         them separately. */
-      glMatrixMode(GL_MODELVIEW);
-      glPushMatrix();
-      {
-        check_gl_error ("glPushMatrix");
-        glLoadIdentity();
-
-        gluOrtho2D(0, mi->xgwa.width, 0, mi->xgwa.height);
-        check_gl_error ("gluOrtho2D");
-
-        /* draw the text */
-        glColor3f (1, 1, 1);
-        glRasterPos2f (x, y);
-        for (i = 0; i < strlen(string); i++)
-          glCallList (font_dlist + (int)string[i]);
-
-        check_gl_error ("fps_print_string");
-      }
-      glPopMatrix();
-    }
-    glMatrixMode(GL_PROJECTION);
-    glPopMatrix();
-
-  }
-  /* clean up after our state changes */
-  glPopAttrib();
-  check_gl_error ("glPopAttrib");
-}
-
-
-void
-do_fps (ModeInfo *mi)
-{
-  /* every N frames, get the time and use it to get the frames per second */
-  static int frame_counter = -1;
-  static double oldtime = 0; /* time in usecs, as a double */
-  static double newtime = 0;
-
-  static char msg [1024] = { 0, };
-
-  if (frame_counter == -1)
-    {
-      fps_init (mi);
-      frame_counter = fps_sample_frames;
-    }
-
-  if (frame_counter++ == fps_sample_frames)
-    {
-      double fps;
-      struct timeval now;
-# ifdef GETTIMEOFDAY_TWO_ARGS
-      struct timezone tzp;
-      gettimeofday(&now, &tzp);
-# else
-      gettimeofday(&now);
-# endif
-
-      oldtime = newtime;
-      newtime = now.tv_sec + ((double) now.tv_usec * 0.000001);
-
-      fps = fps_sample_frames / (newtime - oldtime);
-
-      if (fps < 0.0001)
-        {
-          strcpy(msg, "FPS: (accumulating...)");
-        }
-      else
-        {
-          sprintf(msg, "FPS: %.02f", fps);
-
-          if (mi->pause != 0)
-            {
-              char buf[40];
-              sprintf(buf, "%f", mi->pause / 1000000.0); /* FTSO C */
-              while(*buf && buf[strlen(buf)-1] == '0')
-                buf[strlen(buf)-1] = 0;
-              if (buf[strlen(buf)-1] == '.')
-                buf[strlen(buf)-1] = 0;
-              sprintf(msg + strlen(msg), " (including %s sec/frame delay)",
-                      buf);
-            }
-        }
-
-      frame_counter = 0;
-    }
-
-  fps_print_string (mi, fps_text_x, fps_text_y, msg);
-}
index 39f33479185112a346c428127d283773cede1d8c..16bd267040e822e70fcb58088f1cedab6b3f7451 100644 (file)
@@ -1,6 +1,6 @@
-/* nerverot, nervous rotation of random thingies, v1.2
+/* nerverot, nervous rotation of random thingies, v1.3
  * by Dan Bornstein, danfuzz@milk.com
- * Copyright (c) 2000 Dan Bornstein.
+ * Copyright (c) 2000-2001 Dan Bornstein. All rights reserved.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -39,6 +39,9 @@ static int requestedBlotCount;
 /* delay (usec) between iterations */
 int delay;
 
+/* max iterations per model */
+int maxIters;
+
 /* variability of xoff/yoff per iteration (0..1) */
 static FLOAT nervousness;
 
@@ -366,11 +369,15 @@ static void setupBlotsCylinder (void)
 static void setupBlotsSquiggle (void)
 {
     FLOAT x, y, z, xv, yv, zv, len;
+    int minCoor, maxCoor;
     int n;
 
     blotCount = requestedBlotCount;
     blots = calloc (sizeof (Blot), blotCount);
 
+    maxCoor = (int) (RAND_FLOAT_01 * 5) + 1;
+    minCoor = -maxCoor;
+
     x = RAND_FLOAT_PM1;
     y = RAND_FLOAT_PM1;
     z = RAND_FLOAT_PM1;
@@ -402,9 +409,9 @@ static void setupBlotsSquiggle (void)
            newy = y + yv * 0.1;
            newz = z + zv * 0.1;
 
-           if (   (newx >= -1) && (newx <= 1)
-               && (newy >= -1) && (newy <= 1)
-               && (newz >= -1) && (newz <= 1))
+           if (   (newx >= minCoor) && (newx <= maxCoor)
+               && (newy >= minCoor) && (newy <= maxCoor)
+               && (newz >= minCoor) && (newz <= maxCoor))
            {
                break;
            }
@@ -448,6 +455,66 @@ static void setupBlotsCubeCorners (void)
 
 
 
+/* set up the initial array of blots to be randomly distributed
+ * on the surface of a tetrahedron */
+static void setupBlotsTetrahedron (void)
+{
+    /* table of corners of the tetrahedron */
+    static FLOAT cor[4][3] = { {  0.0,   1.0,  0.0 },
+                              { -0.75, -0.5, -0.433013 },
+                              {  0.0,  -0.5,  0.866025 },
+                              {  0.75, -0.5, -0.433013 } };
+
+    int n, c;
+
+    /* derive blotsPerSurface from blotCount, but then do the reverse
+     * since roundoff may have changed blotCount */
+    int blotsPerSurface = requestedBlotCount / 4;
+
+    blotCount = blotsPerSurface * 4;
+    blots = calloc (sizeof (Blot), blotCount);
+
+    for (n = 0; n < blotCount; n += 4)
+    {
+       /* pick a random point on a unit right triangle */
+       FLOAT rawx = RAND_FLOAT_01;
+       FLOAT rawy = RAND_FLOAT_01;
+
+       if ((rawx + rawy) > 1)
+       {
+           /* swap coords into place */
+           FLOAT t = 1.0 - rawx;
+           rawx = 1.0 - rawy;
+           rawy = t;
+       }
+
+       /* translate the point to be on each of the surfaces */
+       for (c = 0; c < 4; c++)
+       {
+           FLOAT x, y, z;
+           
+           int c1 = (c + 1) % 4;
+           int c2 = (c + 2) % 4;
+           
+           x = (cor[c1][0] - cor[c][0]) * rawx + 
+               (cor[c2][0] - cor[c][0]) * rawy + 
+               cor[c][0];
+
+           y = (cor[c1][1] - cor[c][1]) * rawx + 
+               (cor[c2][1] - cor[c][1]) * rawy + 
+               cor[c][1];
+
+           z = (cor[c1][2] - cor[c][2]) * rawx + 
+               (cor[c2][2] - cor[c][2]) * rawy + 
+               cor[c][2];
+
+           initBlot (&blots[n + c], x, y, z);
+       }
+    }
+}
+
+
+
 /* forward declaration for recursive use immediately below */
 static void setupBlots (void);
 
@@ -558,7 +625,7 @@ static void freeBlots (void)
 /* set up the initial arrays of blots */
 static void setupBlots (void)
 {
-    int which = RAND_FLOAT_01 * 7;
+    int which = RAND_FLOAT_01 * 8;
 
     freeBlots ();
 
@@ -580,7 +647,10 @@ static void setupBlots (void)
            setupBlotsCubeCorners ();
            break;
        case 5:
+           setupBlotsTetrahedron ();
+           break;
        case 6:
+       case 7:
            setupBlotsDuo ();
            break;
     }
@@ -699,7 +769,7 @@ static void setup (void)
     lightY = lightYTarget = RAND_FLOAT_PM1;
     lightZ = lightZTarget = RAND_FLOAT_PM1;
 
-    itersTillNext = RAND_FLOAT_01 * 1234;
+    itersTillNext = RAND_FLOAT_01 * maxIters;
 }
 
 
@@ -801,7 +871,7 @@ static void updateWithFeeling (void)
     itersTillNext--;
     if (itersTillNext < 0)
     {
-       itersTillNext = RAND_FLOAT_01 * 1234;
+       itersTillNext = RAND_FLOAT_01 * maxIters;
        setupBlots ();
        setupSegs ();
        renderSegs ();
@@ -983,6 +1053,7 @@ char *defaults [] = {
     "*count:           250",
     "*colors:          4",
     "*delay:           10000",
+    "*maxIters:                1200",
     "*doubleBuffer:    false",
     "*eventChance:      0.2",
     "*iterAmt:          0.01",
@@ -1000,6 +1071,7 @@ XrmOptionDescRec options [] = {
   { "-count",            ".count",          XrmoptionSepArg, 0 },
   { "-colors",           ".colors",         XrmoptionSepArg, 0 },
   { "-delay",            ".delay",          XrmoptionSepArg, 0 },
+  { "-max-iters",        ".maxIters",       XrmoptionSepArg, 0 },
   { "-db",               ".doubleBuffer",   XrmoptionNoArg,  "true" },
   { "-no-db",            ".doubleBuffer",   XrmoptionNoArg,  "false" },
   { "-event-chance",     ".eventChance",    XrmoptionSepArg, 0 },
@@ -1026,6 +1098,13 @@ static void initParams (void)
        problems = 1;
     }
     
+    maxIters = get_integer_resource ("maxIters", "Integer");
+    if (maxIters < 0)
+    {
+       fprintf (stderr, "error: maxIters must be at least 0\n");
+       problems = 1;
+    }
+    
     doubleBuffer = get_boolean_resource ("doubleBuffer", "Boolean");
 
     requestedBlotCount = get_integer_resource ("count", "Count");
index de723fbf4c1114a978b741828a4618c04d5aed3e..e3930d440ce409ffa03345957bb4cdc321e467b5 100644 (file)
@@ -1,4 +1,4 @@
-.TH XScreenSaver 1 "11-Aug-2000" "X Version 11"
+.TH XScreenSaver 1 "20-Mar-2001" "X Version 11"
 .SH NAME
 nerverot - induces edginess in the viewer
 .SH SYNOPSIS
@@ -7,7 +7,7 @@ nerverot - induces edginess in the viewer
 .SH DESCRIPTION
 The goal of \fInerverot\fP is to be interesting and compelling to
 watch, yet induce a state of nervous edginess in the viewer. This manpage
-describes v1.2 of the program.
+describes v1.3 of the program.
 .SH OPTIONS
 .I nerverot
 accepts the following options:
@@ -46,6 +46,12 @@ resource \fIcolors\fP.
 The interframe delay, in microseconds. Defaults to 10000, resource
 \fIdelay\fP.
 .TP 8
+.B \-max-iters \fIinteger\fP
+The maximum number of iterations (frames) before a new model is
+generated. The actual number of iterations per model is a random number
+between 1 and this value. Defaults to 1200, resource
+\fImaxIters\fP.
+.TP 8
 .B \-count \fIinteger\fP
 How many "blots" to draw at a time. This number may be rounded down to
 fit the particularly chosen model, and has a fixed minimum per-model.
@@ -104,17 +110,19 @@ There are resource equivalents for each option, noted above.
 .SH BUGS
 .I nerverot
 should have more models.
+.TP 8
+XDBE should be detected and used, if available.
 .SH SEE ALSO
 .BR xscreensaver (1)
 .SH COPYRIGHT
-Copyright \(co 2000 by Dan Bornstein.
+Copyright \(co 2000-2001 by Dan Bornstein. All rights reserved.
 
 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 
+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
-Dan Bornstein <danfuzz@milk.com>, 05-Jul-2000.
+Dan Bornstein <danfuzz@milk.com>.
index 33973221d377adbbd89bdf192d4cf18d6b1c8de3..efc906a5a3d9eecb7d7d7d6db20f29ccf36463fb 100644 (file)
  * implied warranty.
  */
 
+/*
+ * Options:
+ *
+ * -shm                enable MIT shared memory extension
+ * -no-shm     disable MIT shared memory extension
+ * -n <num>    number of zoomboxes
+ * -move       enable mobile zoomboxes
+ * -sweep      enable sweep mode
+ * -anim       enable snapshot mode
+ * -no-anim    enable snapshot mode
+ * -delay      delay in milliseconds
+ */
+
 #include <math.h>
 #include "screenhack.h"
 #include <X11/Xutil.h>
@@ -30,6 +43,7 @@ struct zoom_area {
        int x, y;               /* left-upper corner position */
        int ww, hh;             /* valid area to place left-upper corner */
        int n;                  /* number of iteractions */
+       int count;              /* current iteraction */
 };
 
 static Window window;
@@ -42,8 +56,10 @@ static Colormap colormap;
 static int width, height;
 static struct zoom_area **zoom_box;
 static int num_zoom = 2;
-static int move = 1;
-static int delay = 0;
+static int move = 0;
+static int sweep = 0;
+static int delay = 10;
+static int anim = 1;
 
 
 static void rotzoom (struct zoom_area *za)
@@ -83,35 +99,98 @@ static void rotzoom (struct zoom_area *za)
 
        za->ox = ox;                    /* Save state for next iteration */
        za->oy = oy;
+
+       za->count++;
 }
 
 
 static void reset_zoom (struct zoom_area *za)
 {
-       za->w = 50 + random() % 300;
-       za->h = 50 + random() % 300;
+       if (sweep) {
+               int speed = random () % 100 + 100;
+               switch (random () % 4) {
+               case 0:
+                       za->w = width;
+                       za->h = 10;
+                       za->x = 0;
+                       za->y = 0;
+                       za->dx = 0;
+                       za->dy = speed;
+                       za->n = (height - 10) * 256 / speed;
+                       break;
+               case 1:
+                       za->w = 10;
+                       za->h = height;
+                       za->x = width - 10;
+                       za->y = 0;
+                       za->dx = -speed;
+                       za->dy = 0;
+                       za->n = (width - 10) * 256 / speed;
+                       break;
+               case 2:
+                       za->w = width;
+                       za->h = 10;
+                       za->x = 0;
+                       za->y = height - 10;
+                       za->dx = 0;
+                       za->dy = -speed;
+                       za->n = (height - 10) * 256 / speed;
+                       break;
+               case 3:
+                       za->w = 10;
+                       za->h = height;
+                       za->x = 0;
+                       za->y = 0;
+                       za->dx = speed;
+                       za->dy = 0;
+                       za->n = (width - 10) * 256 / speed;
+                       break;
+               }
+               za->ww = width - za->w;
+               za->hh = height - za->h;
+
+               /* We want smaller angle increments in sweep mode (looks better) */
+
+               za->a1 = 0;
+               za->a2 = 0;
+               za->inc1 = ((2 * (random() & 1)) - 1) * (1 + random () % 7);
+               za->inc2 = ((2 * (random() & 1)) - 1) * (1 + random () % 7);
+       } else {
+               za->w = 50 + random() % 300;
+               za->h = 50 + random() % 300;
+
+               if (za->w > width / 3)
+                       za->w = width / 3;
+               if (za->h > height / 3)
+                       za->h = height / 3;
 
-       if (za->w > width / 3)
-               za->w = width / 3;
+               za->ww = width - za->w;
+               za->hh = height - za->h;
 
-       if (za->h > height / 3)
-               za->h = height / 3;
+               za->x = (random() % za->ww);
+               za->y = (random() % za->hh);
 
-       za->ww = width - za->w;
-       za->hh = height - za->h;
+               za->dx = ((2 * (random() & 1)) - 1) * (100 + random() % 300);
+               za->dy = ((2 * (random() & 1)) - 1) * (100 + random() % 300);
+
+               if (anim) {
+                       za->n = 50 + random() % 1000;
+                       za->a1 = 0;
+                       za->a2 = 0;
+               } else {
+                       za->n = 5 + random() % 10;
+                       za->a1 = random ();
+                       za->a2 = random ();
+               }
+
+               za->inc1 = ((2 * (random() & 1)) - 1) * (random () % 30);
+               za->inc2 = ((2 * (random() & 1)) - 1) * (random () % 30);
+       }
 
-       za->x = (random() % za->ww);
-       za->y = (random() % za->hh);
        za->xx = za->x * 256;
        za->yy = za->y * 256;
 
-       za->a1 = 0;
-       za->a2 = 0;
-       za->dx = ((2 * (random() & 1)) - 1) * (100 + random() % 300);
-       za->dy = ((2 * (random() & 1)) - 1) * (100 + random() % 300);
-       za->inc1 = ((2 * (random() & 1)) - 1) * (random () % 30);
-       za->inc2 = ((2 * (random() & 1)) - 1) * (random () % 30);
-       za->n = 50 + random() % 1000;
+       za->count = 0;
 }
 
 
@@ -173,11 +252,15 @@ static void hack_main (void)
        int i;
 
        for (i = 0; i < num_zoom; i++) {
-               if (move)
+               if (move || sweep)
                        update_position (zoom_box[i]);
 
-               if (zoom_box[i]->n) {
-                       rotzoom (zoom_box[i]);
+               if (zoom_box[i]->n > 0) {
+                       if (anim || zoom_box[i]->count == 0) {
+                               rotzoom (zoom_box[i]);
+                       } else {
+                               sleep (1);
+                       }
                        zoom_box[i]->n--;
                } else {
                        reset_zoom (zoom_box[i]);
@@ -269,29 +352,32 @@ static void setup_X (Display * disp, Window win)
 }
 
 
-
 char *progclass = "Rotzoomer";
 
 char *defaults[] = {
 #ifdef HAVE_XSHM_EXTENSION
        "*useSHM: True",
 #endif
-       "*delay: 10000",
        "*move: False",
+       "*sweep: False",
+       "*anim: True",
        "*numboxes: 2",
+       "*delay: 10",
        0
 };
 
 
 XrmOptionDescRec options[] = {
 #ifdef HAVE_XSHM_EXTENSION
-       { "-shm",       ".useSHM",      XrmoptionNoArg, "True" },
+       { "-shm",       ".useSHM",      XrmoptionNoArg, "True"  },
        { "-no-shm",    ".useSHM",      XrmoptionNoArg, "False" },
 #endif
-       { "-move",      ".move",        XrmoptionNoArg, "True"},
-       { "-no-move",   ".move",        XrmoptionNoArg, "False"},
-       { "-delay",     ".delay",       XrmoptionSepArg, 0},
-       { "-n",         ".numboxes",    XrmoptionSepArg, 0},
+       { "-move",      ".move",        XrmoptionNoArg, "True"  },
+       { "-sweep",     ".sweep",       XrmoptionNoArg, "True"  },
+       { "-anim",      ".anim",        XrmoptionNoArg, "True"  },
+       { "-no-anim",   ".anim",        XrmoptionNoArg, "False" },
+       { "-delay",     ".delay",       XrmoptionSepArg, 0      },
+       { "-n",         ".numboxes",    XrmoptionSepArg, 0      },
        { 0, 0, 0, 0 }
 };
 
@@ -301,9 +387,19 @@ void screenhack(Display *disp, Window win)
 #ifdef HAVE_XSHM_EXTENSION
        use_shm = get_boolean_resource ("useSHM", "Boolean");
 #endif
-       num_zoom = get_integer_resource("numboxes", "Integer");
-       move = get_boolean_resource("move", "Boolean");
-       delay = get_integer_resource("delay", "Integer");
+       num_zoom = get_integer_resource ("numboxes", "Integer");
+       move = get_boolean_resource ("move", "Boolean");
+       delay = get_integer_resource ("delay", "Integer");
+       sweep = get_boolean_resource ("sweep", "Boolean");
+       anim = get_boolean_resource ("anim", "Boolean");
+
+       /* In sweep or static mode, we want only one box */
+       if (sweep || !anim)
+               num_zoom = 1;
+
+       /* Can't have static sweep mode */
+       if (!anim)
+               sweep = 0;
 
        setup_X (disp, win);
 
@@ -312,6 +408,6 @@ void screenhack(Display *disp, Window win)
        /* Main drawing loop */
        while (42) {
                hack_main ();
-               usleep (delay);
+               usleep (delay * 1000);
        }
 }
index e655e5d4bc2fd35daba5ea86a47a8ab11e7e446f..b1f1c96ba2ce3ee826e003f02e9dc9afc0f91774 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/freeware/bin/perl5 -w
+#!/usr/bin/perl -w
 #
 # webcollage, Copyright (c) 1999, 2000 by Jamie Zawinski <jwz@jwz.org>
 # This program decorates the screen with random images from the web.
@@ -28,7 +28,7 @@ use Fcntl ':flock'; # import LOCK_* constants
 use POSIX qw(strftime);
 
 
-my $version = q{ $Revision: 1.62 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.63 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
 my $copyright = "WebCollage $version, Copyright (c) 1999" .
     " Jamie Zawinski <jwz\@jwz.org>\n" .
     "            http://www.jwz.org/xscreensaver/\n";
index 356408a8e35e836c290213f9dd4d0ef3fd467e0e..c51e6646a5da5f861b07125d8442cc1187951883 100644 (file)
@@ -1,2 +1,2 @@
 static const char screensaver_id[] =
-       "@(#)xscreensaver 3.30 (19-Mar-2001), by Jamie Zawinski (jwz@jwz.org)";
+       "@(#)xscreensaver 3.31 (28-Mar-2001), by Jamie Zawinski (jwz@jwz.org)";
index 49bf63d18ceb61ce3d95e344a01e9fbbec47ee95..b0bcfd3b891a8faf61e0a8c8a7ebb4462968493a 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title:          xscreensaver
-Version:        3.30
-Entered-date:   19MAR01
+Version:        3.31
+Entered-date:   29MAR01
 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/
-                1606K xscreensaver-3.30.tar.gz
+                1581K xscreensaver-3.31.tar.gz
                 46K  xscreensaver.README
                 1K   xscreensaver.lsm
 Alternate-site: sunsite.unc.edu /pub/Linux/X11/screensavers/
-                1606K xscreensaver-3.30.tar.gz
+                1581K xscreensaver-3.31.tar.gz
                 46K  xscreensaver.README
                 1K   xscreensaver.lsm
 Alternate-site: ftp.x.org /contrib/applications/
-                1606K xscreensaver-3.30.tar.gz
+                1581K xscreensaver-3.31.tar.gz
                 46K  xscreensaver.README
                 1K   xscreensaver.lsm
 Platforms:      Linux, Irix, SunOS, Solaris, HPUX, AIX, FreeBSD, NetBSD,
index 241a06f0903c5cf88f539e2e6d273064a85a95da..bc8a81b1c739136dfcf2137e062bdf2b6b0020b8 100644 (file)
@@ -1,12 +1,21 @@
-%define        name    xscreensaver
-%define        version 3.30
-%define        release 1
-%define        serial  1
-%define        prefix  /usr/X11R6
+%define        name            xscreensaver
+%define        version         3.31
+%define        release         1
+%define        serial          1
+%define        x11_prefix      /usr/X11R6
+%define        gnome_prefix    /usr
+%define        kde_prefix      /usr
+
+%define gnome_datadir  %{gnome_prefix}/share
+%define gnome_ccdir    %{gnome_datadir}/control-center/Desktop
+%define gnome_paneldir %{gnome_datadir}/gnome/apps/Settings/Desktop
+%define gnome_icondir  %{gnome_datadir}/pixmaps
 
 # By default, builds the basic, non-GL package.
 # To build both the basic and GL-add-on packages:
 #   rpm --define "USE_GL yes" ...
+# or uncomment the following line.
+# %define      USE_GL          yes
 
 Summary:       X screen saver and locker
 Name:          %{name}
@@ -18,7 +27,7 @@ Copyright:    BSD
 URL:           http://www.jwz.org/xscreensaver
 Vendor:                Jamie Zawinski <jwz@jwz.org>
 Source:                %{name}-%{version}.tar.gz
-Buildroot:     /var/tmp/%{name}-%{version}-root
+Buildroot:     %{_tmppath}/%{name}-%{version}-root
 
 %description
 A modular screen saver and locker for the X Window System.
@@ -65,59 +74,65 @@ RPMOPTS=""
 %{!?USE_GL:RPMOPTS="$RPMOPTS --without-gl"}
 
 CFLAGS="$RPM_OPT_FLAGS" \
- ./configure --prefix=%{prefix} \
+ ./configure --prefix=%{x11_prefix} \
              --enable-subdir=../lib/xscreensaver \
+             --without-setuid-hacks \
              $RPMOPTS
 
 make
 
 %install
 
-# This is a directory that "make install" won't make as needed
-# (since Linux uses /etc/pam.d/* and Solaris uses /etc/pam.conf).
+# Most xscreensaver executables go in the X bin directory (/usr/X11R6/bin/)
+# but some of them (e.g., the control panel capplet) go in the GNOME bin
+# directory instead (/usr/bin/).
 #
-mkdir -p $RPM_BUILD_ROOT/etc/pam.d
+mkdir -p $RPM_BUILD_ROOT%{gnome_prefix}/bin
+mkdir -p $RPM_BUILD_ROOT%{gnome_ccdir}
+mkdir -p $RPM_BUILD_ROOT%{gnome_paneldir}
 
-# This is another (since "make install" doesn't try to install
-# the xscreensaver.kss file unless $KDEDIR is set.)
+# Likewise for KDE: the .kss file goes in the KDE bin directory (/usr/bin/).
 #
-if [ -z "$KDEDIR" ]; then export KDEDIR=/usr; fi
+export KDEDIR=%{kde_prefix}
 mkdir -p $RPM_BUILD_ROOT$KDEDIR/bin
 
-# And two more for Gnome (same reason...)
+# This is a directory that "make install" won't make as needed
+# (since Linux uses /etc/pam.d/* and Solaris uses /etc/pam.conf).
 #
-mkdir -p $RPM_BUILD_ROOT/usr/share/control-center/Desktop
-mkdir -p $RPM_BUILD_ROOT/usr/share/gnome/apps/Settings/Desktop
+mkdir -p $RPM_BUILD_ROOT/etc/pam.d
 
 make  install_prefix=$RPM_BUILD_ROOT \
-      AD_DIR=%{prefix}/lib/X11/app-defaults \
+      AD_DIR=%{x11_prefix}/lib/X11/app-defaults \
+      GNOME_BINDIR=%{gnome_prefix}/bin \
       install-strip
 
-# Make a pair of lists, of the GL and non-GL executable.
+# Make a pair of lists, of the GL and non-GL executables.
 # Do this by parsing the output of a dummy run of "make install"
 # in the driver/, hacks/ and hacks/glx/ directories.
 #
 list_files() {
-  make -s install_prefix=$RPM_BUILD_ROOT INSTALL=true $1  |
-    sed -n -e 's@.* /\([^ ]*\)$@/\1@p'                    |
-    sed    -e "s@^$RPM_BUILD_ROOT@@"                      \
-           -e "s@/bin/\.\./@/@"                           |
-    sed    -e 's@\(.*/man/.*\)@\1\*@'                     |
+  make -s install_prefix=$RPM_BUILD_ROOT INSTALL=true           \
+          GNOME_BINDIR=%{gnome_prefix}/bin                      \
+          "$@"                                                  |
+    sed -n -e 's@.* /\([^ ]*\)$@/\1@p'                          |
+    sed    -e "s@^$RPM_BUILD_ROOT@@"                            \
+           -e "s@/bin/\.\./@/@"                                 |
+    sed    -e 's@\(.*/man/.*\)@\1\*@'                           |
     sort
 }
 
-( cd hacks ; list_files install ; cd ../driver; list_files install-program ) \
+( cd hacks ; list_files install ; \
+  cd ../driver; list_files install-program ) \
    > $RPM_BUILD_DIR/xscreensaver-%{version}/exes-non-gl
 ( cd hacks/glx ; list_files install ) \
    > $RPM_BUILD_DIR/xscreensaver-%{version}/exes-gl
 
 
-
 # This line is redundant, except that it causes the "xscreensaver"
 # executable to be installed unstripped (while all others are stripped.)
 # You should install it this way so that jwz gets useful bug reports.
 #
-install -m 4755 driver/xscreensaver $RPM_BUILD_ROOT%{prefix}/bin
+install -m 4755 driver/xscreensaver $RPM_BUILD_ROOT%{x11_prefix}/bin
 
 # Even if we weren't compiled with PAM support, make sure to include
 # the PAM module file in the RPM anyway, just in case.
@@ -129,6 +144,90 @@ install -m 4755 driver/xscreensaver $RPM_BUILD_ROOT%{prefix}/bin
 #
 chmod -R a+r,u+w,og-w $RPM_BUILD_ROOT
 
+
+# This is a tricky part...
+#
+# xscreensaver installs several files that are also installed by the
+# "control-center" RPM.  The versions from xscreensaver are better,
+# and so should override control-center.  But, the way RPM works,
+# if the xscreensaver RPM contained those files, the end user would
+# have to "--force" to make the xscreensaver RPM install.  That's
+# not something people are used to doing, so that's Bad.
+#
+# So instead, we rename the files so that they don't conflict with
+# the control center.  Then we have a "%post" script that creates
+# symbolic links to our files.
+
+CCDIR=$RPM_BUILD_ROOT%{gnome_ccdir}
+PADIR=$RPM_BUILD_ROOT%{gnome_paneldir}
+CADIR=$RPM_BUILD_ROOT%{gnome_prefix}/bin
+DESKF=screensaver-properties.desktop
+CAPLT=screensaver-properties-capplet
+
+if [ -f $CCDIR/$DESKF ]; then
+  mv $CCDIR/$DESKF $CCDIR/x$DESKF
+  mv $PADIR/$DESKF $PADIR/x$DESKF
+  mv $CADIR/$CAPLT $CADIR/x$CAPLT
+fi
+
+%post
+# This part runs on the end user's system, when the RPM is installed.
+# (See comment above, at end of "%install" section.)
+
+verbose=0
+
+overwrite_links() {
+  dir="$1"
+  oname="$2"
+  nname="$3"
+
+  # only do this if the file we're making a link *to* exists
+  # (i.e., was present in this rpm.)
+  #
+  if [ -f "$dir/$nname" ]; then
+
+    # backup or delete the old version, if any.
+    #
+    existed=0
+    if [ -f "$dir/$oname" ]; then
+      existed=1
+      if [ -f "$dir/$oname.rpmsave" ]; then
+        rm -f "$dir/$oname"
+        if [ $verbose -gt 1 ]; then
+          echo "$dir/$oname.rpmsave already exists"  >&2
+        fi
+      else
+        mv "$dir/$oname" "$dir/$oname.rpmsave"
+        if [ $verbose -gt 1 ]; then
+          echo "saved $dir/$oname as $oname.rpmsave" >&2
+        fi
+      fi
+    fi
+
+    # install a relative symlink to the new name.
+    #
+    ln -s "$nname" "$dir/$oname"
+    if [ $verbose -ge 1 ]; then
+      if [ $existed = 1 ] ; then
+        echo "replaced $dir/$oname" >&2
+      else
+        echo "created $dir/$oname"  >&2
+      fi
+    fi
+  fi
+}
+
+CCDIR=%{gnome_ccdir}
+PADIR=%{gnome_paneldir}
+CADIR=%{gnome_prefix}/bin
+DESKF=screensaver-properties.desktop
+CAPLT=screensaver-properties-capplet
+
+overwrite_links $CCDIR $DESKF x$DESKF
+overwrite_links $PADIR $DESKF x$DESKF
+overwrite_links $CADIR $CAPLT x$CAPLT
+
+
 %clean
 if [ -d $RPM_BUILD_ROOT    ]; then rm -r $RPM_BUILD_ROOT    ; fi
 if [ -d $RPM_BUILD_ROOT-gl ]; then rm -r $RPM_BUILD_ROOT-gl ; fi
@@ -139,14 +238,17 @@ if [ -d $RPM_BUILD_ROOT-gl ]; then rm -r $RPM_BUILD_ROOT-gl ; fi
 # Files for the "xscreensaver" package:
 #
 %doc                README README.debugging
-%dir                %{prefix}/lib/xscreensaver
-%config             %{prefix}/lib/X11/app-defaults/*
-                    %{prefix}/man/man1/xscreensaver*
+%dir                %{x11_prefix}/lib/xscreensaver
+%config             %{x11_prefix}/lib/X11/app-defaults/*
+                    %{x11_prefix}/man/man1/xscreensaver*
                     /etc/pam.d/*
-%config(missingok)  /usr/bin/*.kss
-%config(missingok)  /usr/share/control-center/Desktop/screensaver-properties.desktop
-%config(missingok)  /usr/share/gnome/apps/Settings/Desktop/screensaver-properties.desktop
-%config(missingok)  /usr/share/pixmaps/*
+
+%config(missingok)  %{kde_prefix}/bin/*.kss
+
+%config(missingok)  %{gnome_prefix}/bin/*-capplet
+%config(missingok)  %{gnome_ccdir}/*.desktop
+%config(missingok)  %{gnome_paneldir}/*.desktop
+%config(missingok)  %{gnome_icondir}/*
 
 # Files for the "xscreensaver-gl" package:
 #