http://ftp.x.org/contrib/applications/xscreensaver-3.09.tar.gz
[xscreensaver] / configure.in
index d636d21ee0f3e645494c044c7f7858189f313cdc..39a30f9daf980d8f22962c02c833d03dab3dee55 100644 (file)
@@ -2,6 +2,10 @@
 #
 
 AC_INIT(driver/subprocs.c)
 #
 
 AC_INIT(driver/subprocs.c)
+
+echo "current directory: `pwd`"
+echo "command line was: $0 $@"
+
 AC_CONFIG_HEADER(config.h)
 AC_CANONICAL_HOST
 
 AC_CONFIG_HEADER(config.h)
 AC_CANONICAL_HOST
 
@@ -129,10 +133,10 @@ AC_CACHE_VAL(ac_cv_gettimeofday_args,
                                 [ac_gettimeofday_args=0])])
   ac_cv_gettimeofday_args=$ac_gettimeofday_args])
 ac_gettimeofday_args=$ac_cv_gettimeofday_args
                                 [ac_gettimeofday_args=0])])
   ac_cv_gettimeofday_args=$ac_gettimeofday_args])
 ac_gettimeofday_args=$ac_cv_gettimeofday_args
-if test $ac_gettimeofday_args = 1 ; then
+if test "$ac_gettimeofday_args" = 1 ; then
   AC_DEFINE(HAVE_GETTIMEOFDAY)
   AC_MSG_RESULT(one argument)
   AC_DEFINE(HAVE_GETTIMEOFDAY)
   AC_MSG_RESULT(one argument)
-elif test $ac_gettimeofday_args = 2 ; then
+elif test "$ac_gettimeofday_args" = 2 ; then
   AC_DEFINE(HAVE_GETTIMEOFDAY)
   AC_DEFINE(GETTIMEOFDAY_TWO_ARGS)
   AC_MSG_RESULT(two arguments)
   AC_DEFINE(HAVE_GETTIMEOFDAY)
   AC_DEFINE(GETTIMEOFDAY_TWO_ARGS)
   AC_MSG_RESULT(two arguments)
@@ -142,9 +146,9 @@ fi
 
 
 AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv)
 
 
 AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv)
-AC_CHECK_FUNCS(sigaction)
+AC_CHECK_FUNCS(sigaction syslog)
 
 
-AC_CHECK_HEADERS(unistd.h crypt.h)
+AC_CHECK_HEADERS(unistd.h crypt.h sys/select.h)
 
 dnl    /usr/local/src/ssh-1.2.17/putenv.c -- AC_REPLACE_FUNCS(putenv)
 
 
 dnl    /usr/local/src/ssh-1.2.17/putenv.c -- AC_REPLACE_FUNCS(putenv)
 
@@ -155,7 +159,7 @@ Installation options:
   --enable-subdir=DIR     Put the demo programs in a subdirectory of \`bindir',
                           instead of putting them in bindir itself.  You can
                           specify the name of the subdirectory.  For example,
   --enable-subdir=DIR     Put the demo programs in a subdirectory of \`bindir',
                           instead of putting them in bindir itself.  You can
                           specify the name of the subdirectory.  For example,
-                          --exec-prefix=/usr/local/bin --enable-subdir=demos
+                          \`--exec-prefix=/usr/local --enable-subdir=demos'
                           would put xscreensaver in /usr/local/bin/, and would
                           put the demos in /usr/local/bin/demos/.  (If DIR
                           begins with /, then bindir will not be prepended.)
                           would put xscreensaver in /usr/local/bin/, and would
                           put the demos in /usr/local/bin/demos/.  (If DIR
                           begins with /, then bindir will not be prepended.)
@@ -179,9 +183,17 @@ else
   fi
 fi
 
   fi
 fi
 
+# canonicalize slashes.
+HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
+
 
 AC_PATH_XTRA
 
 
 AC_PATH_XTRA
 
+if test "$have_x" != yes; then
+  AC_MSG_ERROR(Couldn't find X11 headers/libs.  Try \`$0 --help'.)
+fi
+
+
 # Try and find the app-defaults directory.
 # It sucks that autoconf doesn't do this already...
 #
 # Try and find the app-defaults directory.
 # It sucks that autoconf doesn't do this already...
 #
@@ -322,19 +334,19 @@ AC_DEFUN(AC_TRY_X_COMPILE, [
 AC_DEFUN(AC_CHECK_X_LIB, [
   ac_save_CPPFLAGS="$CPPFLAGS"
   ac_save_LDFLAGS="$LDFLAGS"
 AC_DEFUN(AC_CHECK_X_LIB, [
   ac_save_CPPFLAGS="$CPPFLAGS"
   ac_save_LDFLAGS="$LDFLAGS"
+
   if test \! -z "$includedir" ; then 
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   if test \! -z "$includedir" ; then 
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
-  if test \! -z "$includedir" ; then 
-    CPPFLAGS="$CPPFLAGS -I$includedir"
-  fi
+  # note: $X_CFLAGS includes $x_includes
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+
   if test \! -z "$libdir" ; then
     LDFLAGS="$LDFLAGS -L$libdir"
   fi
   if test \! -z "$libdir" ; then
     LDFLAGS="$LDFLAGS -L$libdir"
   fi
-  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-  if test \! -z "$x_libraries" ; then
-    LDFLAGS="$LDFLAGS -L$x_libraries"
-  fi
+  # note: $X_LIBS includes $x_libraries
+  LDFLAGS="$LDFLAGS $X_LIBS"
+
   AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
   CPPFLAGS="$ac_save_CPPFLAGS"
   LDFLAGS="$ac_save_LDFLAGS"])
   AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
   CPPFLAGS="$ac_save_CPPFLAGS"
   LDFLAGS="$ac_save_LDFLAGS"])
@@ -428,7 +440,7 @@ AC_CACHE_CHECK([for XPointer], ac_cv_xpointer,
                                  [XPointer foo = (XPointer) 0;],
                                  [ac_cv_xpointer=yes],
                                  [ac_cv_xpointer=no])])
                                  [XPointer foo = (XPointer) 0;],
                                  [ac_cv_xpointer=yes],
                                  [ac_cv_xpointer=no])])
-if test $ac_cv_xpointer != yes; then
+if test "$ac_cv_xpointer" != yes; then
   AC_DEFINE(XPointer,[char*])
 fi
 
   AC_DEFINE(XPointer,[char*])
 fi
 
@@ -555,7 +567,7 @@ esac
 #
 have_xmu=no
 AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes])
 #
 have_xmu=no
 AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes])
-if test $have_xmu = no ; then
+if test "$have_xmu" = no ; then
   XMU_SRCS='$(UTILS_SRC)/xmu.c'
   XMU_OBJS='$(UTILS_BIN)/xmu.o'
 else
   XMU_SRCS='$(UTILS_SRC)/xmu.c'
   XMU_OBJS='$(UTILS_BIN)/xmu.o'
 else
@@ -563,6 +575,7 @@ else
   XMU_OBJS=''
   SAVER_LIBS="-lXmu $SAVER_LIBS"
   HACK_LIBS="-lXmu $HACK_LIBS"
   XMU_OBJS=''
   SAVER_LIBS="-lXmu $SAVER_LIBS"
   HACK_LIBS="-lXmu $HACK_LIBS"
+  TOOLKIT_LIBS="-lXmu $TOOLKIT_LIBS"
   AC_DEFINE(HAVE_XMU)
 fi
 
   AC_DEFINE(HAVE_XMU)
 fi
 
@@ -570,7 +583,7 @@ fi
 # See comp.windows.x FAQ question 124 about _get_wmShellWidgetClass on 4.1.x.
 # The right fix is to get OpenWindows 3.0 patches 100512-02 and 100573-03.
 #
 # See comp.windows.x FAQ question 124 about _get_wmShellWidgetClass on 4.1.x.
 # The right fix is to get OpenWindows 3.0 patches 100512-02 and 100573-03.
 #
-if test $have_xmu = yes ; then
+if test "$have_xmu" = yes ; then
   case "$host" in
     *-sunos4*)
     AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug],
   case "$host" in
     *-sunos4*)
     AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug],
@@ -587,14 +600,14 @@ if test $have_xmu = yes ; then
                                [ac_cv_sunos_xmu_bug=no],
                                [ac_cv_sunos_xmu_bug=yes])
                    LDFLAGS="$ac_save_LDFLAGS"])
                                [ac_cv_sunos_xmu_bug=no],
                                [ac_cv_sunos_xmu_bug=yes])
                    LDFLAGS="$ac_save_LDFLAGS"])
-    if test $ac_cv_sunos_xmu_bug = yes ; then
+    if test "$ac_cv_sunos_xmu_bug" = yes ; then
       AC_CACHE_CHECK([whether the compiler understands -static], 
                     ac_cv_ld_static,
                     [ac_save_LDFLAGS="$LDFLAGS"
                      LDFLAGS="$LDFLAGS -static"
                      AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no])
                    LDFLAGS="$ac_save_LDFLAGS"])
       AC_CACHE_CHECK([whether the compiler understands -static], 
                     ac_cv_ld_static,
                     [ac_save_LDFLAGS="$LDFLAGS"
                      LDFLAGS="$LDFLAGS -static"
                      AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no])
                    LDFLAGS="$ac_save_LDFLAGS"])
-      if test $ac_cv_ld_static = yes ; then
+      if test "$ac_cv_ld_static" = yes ; then
         LDFLAGS="$LDFLAGS -static"
       else
        LDFLAGS="$LDFLAGS -Bstatic"
         LDFLAGS="$LDFLAGS -static"
       else
        LDFLAGS="$LDFLAGS -Bstatic"
@@ -624,12 +637,12 @@ X Server Extension options:
 
 HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
 
 
 HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
 
-if test $with_sgi = yes; then
+if test "$with_sgi" = yes; then
   AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
                    [have_sgi=yes
                     AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)])
 
   AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
                    [have_sgi=yes
                     AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)])
 
-elif test $with_sgi != no; then
+elif test "$with_sgi" != no; then
   echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
   exit 1
 fi
   echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
   exit 1
 fi
@@ -647,17 +660,17 @@ AC_ARG_WITH(mit-ext,
 
 HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
 
 
 HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
 
-if test $have_sgi != yes; then
-  if test $with_mit = yes; then
+if test "$have_sgi" != yes; then
+  if test "$with_mit" = yes; then
     AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes])
 
     # Now check to see if it's really in the library; XF86Free-3.3 ships
     # scrnsaver.h, but doesn't include the code in libXext.a, the idiots!
     #
     AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes])
 
     # Now check to see if it's really in the library; XF86Free-3.3 ships
     # scrnsaver.h, but doesn't include the code in libXext.a, the idiots!
     #
-    if test $have_mit = yes; then
+    if test "$have_mit" = yes; then
       AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [], [have_mit=no], -lm)
 
       AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [], [have_mit=no], -lm)
 
-      if test $have_mit = no; then
+      if test "$have_mit" = no; then
        # Fuck!  Looks like XF86Free-3.3 actually puts it in XExExt instead
        # of in Xext.  Thank you master, may I have another.
         AC_CHECK_X_LIB(XExExt, XScreenSaverRegister,
        # Fuck!  Looks like XF86Free-3.3 actually puts it in XExExt instead
        # of in Xext.  Thank you master, may I have another.
         AC_CHECK_X_LIB(XExExt, XScreenSaverRegister,
@@ -665,7 +678,7 @@ if test $have_sgi != yes; then
                       [], -lX11 -lXext -lm)
       fi
 
                       [], -lX11 -lXext -lm)
       fi
 
-      if test $have_mit = no; then
+      if test "$have_mit" = no; then
        # Double fuck!  Looks like some versions of XFree86 (whichever version
        # it is that comes with RedHat Linux 2.0 -- I can't find a version 
        # number) put this garbage in Xss instead of Xext.  Thank you master,
        # Double fuck!  Looks like some versions of XFree86 (whichever version
        # it is that comes with RedHat Linux 2.0 -- I can't find a version 
        # number) put this garbage in Xss instead of Xext.  Thank you master,
@@ -675,13 +688,13 @@ if test $have_sgi != yes; then
                       [], -lX11 -lXext -lm)
       fi
 
                       [], -lX11 -lXext -lm)
       fi
 
-    if test $have_mit = yes; then
+    if test "$have_mit" = yes; then
       AC_DEFINE(HAVE_MIT_SAVER_EXTENSION)
     fi
 
     fi
 
       AC_DEFINE(HAVE_MIT_SAVER_EXTENSION)
     fi
 
     fi
 
-  elif test $with_mit != no; then
+  elif test "$with_mit" != no; then
     echo "error: must be yes or no: --with-mit-ext=$with_mit"
     exit 1
   fi
     echo "error: must be yes or no: --with-mit-ext=$with_mit"
     exit 1
   fi
@@ -700,11 +713,11 @@ AC_ARG_WITH(xidle-ext,
 
 HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
 
 
 HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
 
-if test $with_xidle = yes; then
+if test "$with_xidle" = yes; then
   AC_CHECK_X_HEADER(X11/extensions/xidle.h,
                    [have_xidle=yes
                     AC_DEFINE(HAVE_XIDLE_EXTENSION)])
   AC_CHECK_X_HEADER(X11/extensions/xidle.h,
                    [have_xidle=yes
                     AC_DEFINE(HAVE_XIDLE_EXTENSION)])
-elif test $with_xidle != no; then
+elif test "$with_xidle" != no; then
   echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
   exit 1
 fi
   echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
   exit 1
 fi
@@ -722,19 +735,19 @@ AC_ARG_WITH(xshm-ext,
 
 HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
 
 
 HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
 
-if test $with_xshm = yes; then
+if test "$with_xshm" = yes; then
 
   # first check for Xshm.h.
   AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes])
 
   # if that succeeded, then check for sys/ipc.h.
 
   # first check for Xshm.h.
   AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes])
 
   # if that succeeded, then check for sys/ipc.h.
-  if test $have_xshm = yes; then
+  if test "$have_xshm" = yes; then
     have_xshm=no
     AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes])
   fi
 
   # if that succeeded, then check for sys/shm.h.
     have_xshm=no
     AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes])
   fi
 
   # if that succeeded, then check for sys/shm.h.
-  if test $have_xshm = yes; then
+  if test "$have_xshm" = yes; then
     have_xshm=no
     AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes])
   fi
     have_xshm=no
     AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes])
   fi
@@ -754,16 +767,41 @@ if test $with_xshm = yes; then
   esac
 
   # if that succeeded, then we've really got it.
   esac
 
   # if that succeeded, then we've really got it.
-  if test $have_xshm = yes; then
+  if test "$have_xshm" = yes; then
     AC_DEFINE(HAVE_XSHM_EXTENSION)
   fi
 
     AC_DEFINE(HAVE_XSHM_EXTENSION)
   fi
 
-elif test $with_xshm != no; then
+elif test "$with_xshm" != no; then
   echo "error: must be yes or no: --with-xshm-ext=$with_xshm"
   exit 1
 fi
 
 
   echo "error: must be yes or no: --with-xshm-ext=$with_xshm"
   exit 1
 fi
 
 
+# Check for the DOUBLE-BUFFER server extension header.
+#
+have_xdbe=no
+with_xdbe_req=unspecified
+AC_ARG_WITH(xdbe-ext,
+[  --with-xdbe-ext         Include support for the DOUBLE-BUFFER server
+                          extension, if possible (this is the default).
+  --without-xdbe-ext      Do not compile in support for this extension.],
+  [with_xdbe="$withval"; with_xdbe_req="$withval"],[with_xdbe=yes])
+
+HANDLE_X_PATH_ARG(with_xdbe, --with-xdbe-ext, DOUBLE-BUFFER)
+
+if test "$with_xdbe" = yes; then
+
+  AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes])
+  if test "$have_xdbe" = yes; then
+    AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION)    
+  fi
+
+elif test "$with_xdbe" != no; then
+  echo "error: must be yes or no: --with-xdbe-ext=$with_xshm"
+  exit 1
+fi
+
+
 # Check for the SGI-VIDEO-CONTROL server extension header.
 #
 have_sgivc=no
 # Check for the SGI-VIDEO-CONTROL server extension header.
 #
 have_sgivc=no
@@ -776,13 +814,13 @@ AC_ARG_WITH(sgivc-ext,
 
 HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
 
 
 HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
 
-if test $with_sgivc = yes; then
+if test "$with_sgivc" = yes; then
 
   # first check for XSGIvc.h
   AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes])
 
   # if that succeeded, then check for the -lXsgivc
 
   # first check for XSGIvc.h
   AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes])
 
   # if that succeeded, then check for the -lXsgivc
-  if test $have_sgivc = yes; then
+  if test "$have_sgivc" = yes; then
     have_sgivc=no
     AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
                  [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [],
     have_sgivc=no
     AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
                  [have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [],
@@ -790,11 +828,11 @@ if test $with_sgivc = yes; then
   fi
 
   # if that succeeded, then we've really got it.
   fi
 
   # if that succeeded, then we've really got it.
-  if test $have_sgivc = yes; then
+  if test "$have_sgivc" = yes; then
     AC_DEFINE(HAVE_SGI_VC_EXTENSION)
   fi
 
     AC_DEFINE(HAVE_SGI_VC_EXTENSION)
   fi
 
-elif test $with_sgivc != no; then
+elif test "$with_sgivc" != no; then
   echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
   exit 1
 fi
   echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
   exit 1
 fi
@@ -812,13 +850,13 @@ AC_ARG_WITH(dpms-ext,
 
 HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS)
 
 
 HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS)
 
-if test $with_dpms = yes; then
+if test "$with_dpms" = yes; then
 
   # first check for dpms.h
   AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes])
 
   # if that succeeded, then check for the -lXdpms
 
   # first check for dpms.h
   AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes])
 
   # if that succeeded, then check for the -lXdpms
-  if test $have_dpms = yes; then
+  if test "$have_dpms" = yes; then
     have_dpms=no
     AC_CHECK_X_LIB(Xdpms, DPMSInfo,
                  [have_dpms=yes; SAVER_LIBS="$SAVER_LIBS -lXdpms"], [],
     have_dpms=no
     AC_CHECK_X_LIB(Xdpms, DPMSInfo,
                  [have_dpms=yes; SAVER_LIBS="$SAVER_LIBS -lXdpms"], [],
@@ -826,16 +864,50 @@ if test $with_dpms = yes; then
   fi
 
   # if that succeeded, then we've really got it.
   fi
 
   # if that succeeded, then we've really got it.
-  if test $have_dpms = yes; then
+  if test "$have_dpms" = yes; then
     AC_DEFINE(HAVE_DPMS_EXTENSION)
   fi
 
     AC_DEFINE(HAVE_DPMS_EXTENSION)
   fi
 
-elif test $with_dpms != no; then
+elif test "$with_dpms" != no; then
   echo "error: must be yes or no: --with-dpms-ext=$with_dpms"
   exit 1
 fi
 
 
   echo "error: must be yes or no: --with-dpms-ext=$with_dpms"
   exit 1
 fi
 
 
+# Check for /proc/interrupts
+#
+have_proc_interrupts=no
+with_proc_interrupts_req=unspecified
+AC_ARG_WITH(proc-interrupts,
+[  --with-proc-interrupts  Include support for consulting the /proc/interrupts
+                          file to notice keyboard activity, if possible.
+  --without-proc-interrupts   Do not compile in support for this method.],
+  [with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"],
+  [with_proc_interrupts=yes])
+
+if test "$with_proc_interrupts" = yes; then
+
+   AC_MSG_CHECKING(whether /proc/interrupts contains keyboard data)
+   AC_CACHE_VAL(ac_cv_have_proc_interrupts,
+    [ac_cv_have_proc_interrupts=no
+     if grep keyboard /proc/interrupts >/dev/null 2>&1 ; then
+       ac_cv_have_proc_interrupts=yes
+     fi
+    ])
+   have_proc_interrupts=$ac_cv_have_proc_interrupts
+
+  AC_MSG_RESULT($have_proc_interrupts)
+
+  if test "$have_proc_interrupts" = yes; then
+    AC_DEFINE(HAVE_PROC_INTERRUPTS)
+  fi
+
+elif test "$with_proc_interrupts" != no; then
+  echo "error: must be yes or no: --with-proc-interrupts=$with_proc_interrupts"
+  exit 1
+fi
+
+
 
 # Check for Motif and Athena --with and --without arguments.
 #
 
 # Check for Motif and Athena --with and --without arguments.
 #
@@ -863,25 +935,25 @@ AC_ARG_WITH(athena,
 
 HANDLE_X_PATH_ARG(with_athena, --with-athena, Athena)
 
 
 HANDLE_X_PATH_ARG(with_athena, --with-athena, Athena)
 
-if test $with_motif != yes -a $with_motif != no ; then
+if test "$with_motif" != yes -a "$with_motif" != no ; then
   echo "error: must be yes or no: --with-motif=$with_motif"
   exit 1
 fi
 
   echo "error: must be yes or no: --with-motif=$with_motif"
   exit 1
 fi
 
-if test $with_athena != yes -a $with_athena != no ; then
+if test "$with_athena" != yes -a "$with_athena" != no ; then
   echo "error: must be yes or no: --with-athena=$with_athena"
   exit 1
 fi
 
 
 # Saying --without-motif is the same as saying --with-athena.
   echo "error: must be yes or no: --with-athena=$with_athena"
   exit 1
 fi
 
 
 # Saying --without-motif is the same as saying --with-athena.
-if test $with_motif_req = no ; then
+if test "$with_motif_req" = no ; then
   with_athena_req=yes
   with_athena=yes
 fi
 
 # Saying --without-athena is the same as saying --with-motif.
   with_athena_req=yes
   with_athena=yes
 fi
 
 # Saying --without-athena is the same as saying --with-motif.
-if test $with_athena_req = no ; then
+if test "$with_athena_req" = no ; then
   with_motif_req=yes
   with_motif=yes
 fi
   with_motif_req=yes
   with_motif=yes
 fi
@@ -892,21 +964,23 @@ check_motif() {
   AC_CHECK_X_HEADER(Xm/Xm.h,
                    [have_motif=yes
                     AC_DEFINE(HAVE_MOTIF)
   AC_CHECK_X_HEADER(Xm/Xm.h,
                    [have_motif=yes
                     AC_DEFINE(HAVE_MOTIF)
-                    SAVER_LIBS="-lXm $SAVER_LIBS"])
+                    TOOLKIT_LIBS="-lXm $TOOLKIT_LIBS"])
 }
 
 check_athena() {
   have_athena=no
   have_athena3d=no
   AC_CHECK_X_HEADER(X11/Xaw/Dialog.h, [have_athena=yes])
 }
 
 check_athena() {
   have_athena=no
   have_athena3d=no
   AC_CHECK_X_HEADER(X11/Xaw/Dialog.h, [have_athena=yes])
-  AC_CHECK_X_LIB(Xaw3d, Xaw3dComputeTopShadowRGB,
-                [have_athena=yes; have_athena3d=yes], [],
-                -lXt -lXmu -lXext -lX11)
-
-  if test $have_athena3d = yes; then
-    SAVER_LIBS="-lXaw3d $SAVER_LIBS"
-  elif test $have_athena = yes; then
-    SAVER_LIBS="-lXaw $SAVER_LIBS"
+  if test "$have_athena" = yes; then
+    AC_CHECK_X_LIB(Xaw3d, Xaw3dComputeTopShadowRGB,
+                  [have_athena=yes; have_athena3d=yes], [],
+                  -lXt -lXmu -lXext -lX11)
+  fi
+
+  if test "$have_athena3d" = yes; then
+    TOOLKIT_LIBS="-lXaw3d $TOOLKIT_LIBS"
+  elif test "$have_athena" = yes; then
+    TOOLKIT_LIBS="-lXaw $TOOLKIT_LIBS"
   fi
 }
 
   fi
 }
 
@@ -917,20 +991,20 @@ check_athena() {
 # If they asked for neither, check motif then athena.
 
 proselytize_motif=yes
 # If they asked for neither, check motif then athena.
 
 proselytize_motif=yes
-if test $with_motif = yes; then
+if test "$with_motif" = yes; then
   # asked for both, or for motif only
   check_motif
   # asked for both, or for motif only
   check_motif
-  if test $have_motif = yes; then
+  if test "$have_motif" = yes; then
     with_athena=no
     with_athena_req=no
   else
     check_athena
   fi
 
     with_athena=no
     with_athena_req=no
   else
     check_athena
   fi
 
-elif test $with_athena = yes; then
+elif test "$with_athena" = yes; then
   # asked for athena only
   check_athena
   # asked for athena only
   check_athena
-  if test $have_athena = yes; then
+  if test "$have_athena" = yes; then
     with_motif=no
     proselytize_motif=no
   else
     with_motif=no
     proselytize_motif=no
   else
@@ -940,7 +1014,7 @@ elif test $with_athena = yes; then
 else
   # asked for neither
   check_motif
 else
   # asked for neither
   check_motif
-  if test $have_motif = yes; then
+  if test "$have_motif" = yes; then
     with_athena=no
   else
     check_athena
     with_athena=no
   else
     check_athena
@@ -948,20 +1022,20 @@ else
 
 fi
 
 
 fi
 
-if test $have_motif = yes; then
+if test "$have_motif" = yes; then
   proselytize_motif=no
 fi
 
 # If we have Athena, check whether it's a version that includes
 # XawViewportSetCoordinates in Viewport.h (R3 (or R4?) don't.)
   proselytize_motif=no
 fi
 
 # If we have Athena, check whether it's a version that includes
 # XawViewportSetCoordinates in Viewport.h (R3 (or R4?) don't.)
-if test $have_athena = yes ; then
+if test "$have_athena" = yes ; then
   AC_CACHE_CHECK([for XawViewportSetCoordinates in Viewport.h], 
                 ac_cv_have_XawViewportSetCoordinates,
                 [ac_cv_have_XawViewportSetCoordinates=no
                  AC_EGREP_X_HEADER(XawViewportSetCoordinates, 
                                    X11/Xaw/Viewport.h,
                                    ac_cv_have_XawViewportSetCoordinates=yes)])
   AC_CACHE_CHECK([for XawViewportSetCoordinates in Viewport.h], 
                 ac_cv_have_XawViewportSetCoordinates,
                 [ac_cv_have_XawViewportSetCoordinates=no
                  AC_EGREP_X_HEADER(XawViewportSetCoordinates, 
                                    X11/Xaw/Viewport.h,
                                    ac_cv_have_XawViewportSetCoordinates=yes)])
-  if test $ac_cv_have_XawViewportSetCoordinates = yes ; then
+  if test "$ac_cv_have_XawViewportSetCoordinates" = yes ; then
     AC_DEFINE(HAVE_XawViewportSetCoordinates)
   fi
 fi
     AC_DEFINE(HAVE_XawViewportSetCoordinates)
   fi
 fi
@@ -970,7 +1044,7 @@ fi
 # If we have Motif, check whether it's really LessTif.
 #
 have_lesstif=no
 # If we have Motif, check whether it's really LessTif.
 #
 have_lesstif=no
-if test $have_motif = yes ; then
+if test "$have_motif" = yes ; then
   AC_CACHE_CHECK([whether Motif is really LessTif], 
                 ac_cv_have_lesstif,
                 [AC_TRY_X_COMPILE([#include <Xm/Xm.h>],
   AC_CACHE_CHECK([whether Motif is really LessTif], 
                 ac_cv_have_lesstif,
                 [AC_TRY_X_COMPILE([#include <Xm/Xm.h>],
@@ -987,7 +1061,7 @@ unset ac_cv_lesstif_version_string
 lesstif_version=unknown
 lesstif_version_string=unknown
 
 lesstif_version=unknown
 lesstif_version_string=unknown
 
-if test $have_lesstif = yes ; then
+if test "$have_lesstif" = yes ; then
   ltv=unknown
   echo unknown > conftest-lt
   AC_CACHE_CHECK([LessTif version number],
   ltv=unknown
   echo unknown > conftest-lt
   AC_CACHE_CHECK([LessTif version number],
@@ -1016,19 +1090,83 @@ if test $have_lesstif = yes ; then
 fi
 
 
 fi
 
 
+if test "$have_motif" = yes ; then
+  mtv=unknown
+  echo unknown > conftest-mt
+  AC_CACHE_CHECK([Motif version number],
+                ac_cv_motif_version_string,
+      [AC_TRY_X_RUN([#include <stdio.h>
+                    #include <Xm/Xm.h>
+                    int main() {
+                      FILE *f = fopen("conftest-mt", "w");
+                      if (!f) exit(1);
+                      fprintf(f, "%d %d.%d\n", XmVersion,
+                         XmVERSION, XmREVISION);
+                      fclose(f);
+                      exit(0);
+                    }],
+                   [mtv=`cat conftest-mt`
+                    ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
+                    ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`],
+                   [ac_cv_motif_version=unknown
+                    ac_cv_motif_version_string=unknown],
+                   [ac_cv_motif_version=unknown
+                    ac_cv_motif_version_string=unknown])])
+  rm -f conftest-mt
+  motif_version=$ac_cv_motif_version
+  motif_version_string=$ac_cv_motif_version_string
+
+fi
+
+
+# If this is Motif 2.x, and we have XPM, then link against XPM as well.
+# The deal is, Motif 2.x requires XPM -- but it's a compilation option of
+# the library whether to build the XPM code into libXm, or whether to rely
+# on an external libXm.  So the only way to tell whether XPM is a link-time
+# requirement is to examine libXm.a, which is very difficult to do in an
+# autoconf script.  So... if it's Motif 2.x, we always link against XPM if
+# the XPM lib exists (and this will be a no-op if libXm happens to already
+# have the XPM code in it.)
+#
+motif_requires_xpm=no
+if test "$have_motif" = yes ; then
+   AC_MSG_CHECKING(whether Motif requires XPM)
+   if test "$motif_version" -ge 2000; then
+     motif_requires_xpm=yes
+     AC_MSG_RESULT(maybe)
+   else
+     AC_MSG_RESULT(no)
+   fi
+fi
+
+
+
 # Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing
 # Extension".   Why this extension isn't in -lXext with all the others,
 # I have no idea.
 #
 have_xp_ext=no
 # Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing
 # Extension".   Why this extension isn't in -lXext with all the others,
 # I have no idea.
 #
 have_xp_ext=no
-if test $have_motif = yes ; then
+if test "$have_motif" = yes ; then
    have_xp_ext=no
    AC_CHECK_X_LIB(Xp, XpQueryExtension,
    have_xp_ext=no
    AC_CHECK_X_LIB(Xp, XpQueryExtension,
-                 [have_xp_ext=yes; SAVER_LIBS="$SAVER_LIBS -lXp"],
+                 [have_xp_ext=yes; TOOLKIT_LIBS="$TOOLKIT_LIBS -lXp"],
                  [], -lX11 -lXext -lm)
 fi
 
 
                  [], -lX11 -lXext -lm)
 fi
 
 
+# Check for _Xsetlocale in -lXintl, since at least some recent versions
+# of Motif (on Linux) need it.
+#
+have_xintl=no
+if test "$have_motif" = yes ; then
+  AC_CHECK_X_LIB(Xintl, _Xsetlocale, [have_xintl=yes], [have_xintl=no],
+                 -lX11 -lXext -lm)
+  if test "$have_xintl" = yes; then
+    TOOLKIT_LIBS="$TOOLKIT_LIBS -lXintl"
+  fi
+fi
+
+
 # check for XPM header.
 #
 have_xpm=no
 # check for XPM header.
 #
 have_xpm=no
@@ -1043,16 +1181,25 @@ Graphics Demo options:
 
 HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
 
 
 HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
 
-if test $with_xpm = yes; then
+if test "$with_xpm" = yes; then
   AC_CHECK_X_HEADER(X11/xpm.h,
                   [have_xpm=yes
                    AC_DEFINE(HAVE_XPM)
                    XPM_LIBS="-lXpm"])
   AC_CHECK_X_HEADER(X11/xpm.h,
                   [have_xpm=yes
                    AC_DEFINE(HAVE_XPM)
                    XPM_LIBS="-lXpm"])
-elif test $with_xpm != no; then
+elif test "$with_xpm" != no; then
   echo "error: must be yes or no: --with-xpm=$with_xpm"
   exit 1
 fi
 
   echo "error: must be yes or no: --with-xpm=$with_xpm"
   exit 1
 fi
 
+# See comment near $motif_requires_xpm, above.
+# Need to do this here, after both Motif and XPM have been checked for.
+#
+if test "$have_motif" = yes -a "$have_xpm" = yes ; then
+  if test "$motif_requires_xpm" = yes ; then
+    TOOLKIT_LIBS="$TOOLKIT_LIBS $XPM_LIBS"
+  fi
+fi
+
 
 # check for the GL header
 #
 
 # check for the GL header
 #
@@ -1070,15 +1217,15 @@ HANDLE_X_PATH_ARG(with_gl, --with-gl, GL)
 ac_mesagl_version=unknown
 ac_mesagl_version_string=unknown
 
 ac_mesagl_version=unknown
 ac_mesagl_version_string=unknown
 
-if test $with_gl = yes; then
+if test "$with_gl" = yes; then
   AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
   AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
-  if test $have_gl = yes ; then
+  if test "$have_gl" = yes ; then
     AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no)
   fi
 
   # If we have the headers, try and figure out which vendor it's from.
   #
     AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no)
   fi
 
   # If we have the headers, try and figure out which vendor it's from.
   #
-  if test $have_gl = yes ; then
+  if test "$have_gl" = yes ; then
 
     AC_DEFINE(HAVE_GL)
 
 
     AC_DEFINE(HAVE_GL)
 
@@ -1093,7 +1240,7 @@ if test $with_gl = yes; then
     ac_have_mesa_gl=$ac_cv_have_mesa_gl
     AC_MSG_RESULT($ac_have_mesa_gl)
 
     ac_have_mesa_gl=$ac_cv_have_mesa_gl
     AC_MSG_RESULT($ac_have_mesa_gl)
 
-    if test $ac_have_mesa_gl = no ; then
+    if test "$ac_have_mesa_gl" = no ; then
       gl_lib_1="GL"
       GL_LIBS="-lGL -lGLU"
     else
       gl_lib_1="GL"
       GL_LIBS="-lGL -lGLU"
     else
@@ -1106,7 +1253,7 @@ if test $with_gl = yes; then
     # If it's MesaGL, we'd like to issue a warning if the version number
     # is less than or equal to 2.6, because that version had a security bug.
     #
     # If it's MesaGL, we'd like to issue a warning if the version number
     # is less than or equal to 2.6, because that version had a security bug.
     #
-    if test $ac_have_mesa_gl = yes; then
+    if test "$ac_have_mesa_gl" = yes; then
 
       # don't cache these.
       unset ac_cv_mesagl_version
 
       # don't cache these.
       unset ac_cv_mesagl_version
@@ -1118,11 +1265,25 @@ if test $with_gl = yes; then
 #line __oline__ "configure"
 #include "confdefs.h"
 #include <GL/gl.h>
 #line __oline__ "configure"
 #include "confdefs.h"
 #include <GL/gl.h>
-#configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION
+configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION
 EOF
 
 EOF
 
+        ac_save_CPPFLAGS="$CPPFLAGS"
+        if test \! -z "$includedir" ; then 
+          CPPFLAGS="$CPPFLAGS -I$includedir"
+        fi
+        CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+
+         # M4 sucks!!
+        changequote(X,Y)
         mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | sed -n \
         mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | sed -n \
-             's/^#configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
+             's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
+        changequote([,])
+
+         rm -f conftest.$ac_ext
+
+        CPPFLAGS="$ac_save_CPPFLAGS"
+
         if test "$mglv" = ""; then
            ac_mesagl_version=unknown
            ac_mesagl_version_string=unknown
         if test "$mglv" = ""; then
            ac_mesagl_version=unknown
            ac_mesagl_version_string=unknown
@@ -1131,6 +1292,10 @@ EOF
            maj=`echo $mglv | sed -n 's/\..*//p'`
            min=`echo $mglv | sed -n 's/.*\.//p'`
            ac_mesagl_version=`echo "$maj * 1000 + $min" | bc`
            maj=`echo $mglv | sed -n 's/\..*//p'`
            min=`echo $mglv | sed -n 's/.*\.//p'`
            ac_mesagl_version=`echo "$maj * 1000 + $min" | bc`
+           if test -z "$ac_mesagl_version"; then
+            ac_mesagl_version=unknown
+             ac_mesagl_version_string=unknown
+          fi
          fi
          ac_cv_mesagl_version=$ac_mesagl_version
          ac_cv_mesagl_version_string=$ac_mesagl_version_string
          fi
          ac_cv_mesagl_version=$ac_mesagl_version
          ac_cv_mesagl_version_string=$ac_mesagl_version_string
@@ -1141,6 +1306,24 @@ EOF
     fi
 
 
     fi
 
 
+    # If it's MesaGL, check to see if it requires -lpthread.
+    #
+    have_pthread=no
+    mesa_requires_pthread=no
+    if test "$ac_have_mesa_gl" = yes; then
+
+      AC_CHECK_LIB(pthread, pthread_create, [have_pthread=yes], [],)
+      if test "$have_pthread" = yes; then
+        AC_CHECK_X_LIB($gl_lib_1, gl_get_thread_context,
+                       [mesa_requires_pthread=yes], [],
+                      $GL_LIBS -lpthread -lX11 -lXext -lm)
+      fi
+
+      if test "$mesa_requires_pthread" = yes; then
+        GL_LIBS="$GL_LIBS -lpthread"
+      fi
+    fi
+
     # Check for OpenGL 1.1 features.
     #
     AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)],
     # Check for OpenGL 1.1 features.
     #
     AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)],
@@ -1148,7 +1331,7 @@ EOF
 
   fi
 
 
   fi
 
-elif test $with_gl != no; then
+elif test "$with_gl" != no; then
   echo "error: must be yes or no: --with-gl=$with_gl"
   exit 1
 fi
   echo "error: must be yes or no: --with-gl=$with_gl"
   exit 1
 fi
@@ -1167,10 +1350,10 @@ AC_ARG_WITH(readdisplay,
 
 HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay)
 
 
 HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay)
 
-if test $with_readdisplay = yes; then
+if test "$with_readdisplay" = yes; then
   AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
                    AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION))
   AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
                    AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION))
-elif test $with_readdisplay != no; then
+elif test "$with_readdisplay" != no; then
   echo "error: must be yes or no: --with-readdisplay=$with_readdisplay"
   exit 1
 fi
   echo "error: must be yes or no: --with-readdisplay=$with_readdisplay"
   exit 1
 fi
@@ -1189,18 +1372,18 @@ AC_ARG_WITH(sgivideo,
 
 HANDLE_X_PATH_ARG(with_sgivideo, --with-sgivideo, Iris Video)
 
 
 HANDLE_X_PATH_ARG(with_sgivideo, --with-sgivideo, Iris Video)
 
-if test $with_sgivideo = yes; then
+if test "$with_sgivideo" = yes; then
   AC_CHECK_X_HEADER(dmedia/vl.h, have_sgivideo=yes)
   AC_CHECK_X_HEADER(dmedia/vl.h, have_sgivideo=yes)
-  if test $have_sgivideo = yes; then
+  if test "$have_sgivideo" = yes; then
     have_sgivideo=no
     AC_CHECK_LIB(vl, vlOpenVideo, have_sgivideo=yes)
     have_sgivideo=no
     AC_CHECK_LIB(vl, vlOpenVideo, have_sgivideo=yes)
-    if test $have_sgivideo = yes; then
+    if test "$have_sgivideo" = yes; then
       SGI_VIDEO_OBJS="$(UTILS_BIN)/sgivideo.o"
       SGI_VIDEO_LIBS="-lvl"
       AC_DEFINE(HAVE_SGI_VIDEO)
     fi
   fi
       SGI_VIDEO_OBJS="$(UTILS_BIN)/sgivideo.o"
       SGI_VIDEO_LIBS="-lvl"
       AC_DEFINE(HAVE_SGI_VIDEO)
     fi
   fi
-elif test $with_sgivideo != no; then
+elif test "$with_sgivideo" != no; then
   echo "error: must be yes or no: --with-sgivideo=$with_sgivideo"
   exit 1
 fi
   echo "error: must be yes or no: --with-sgivideo=$with_sgivideo"
   exit 1
 fi
@@ -1281,7 +1464,7 @@ if test ! -n "$ac_cv_zippy_program"; then
     #
     # try running libexec/yow and see if it exits without error.
     #
     #
     # try running libexec/yow and see if it exits without error.
     #
-    if test x"$dir" != x -a -x $dir/yow ; then
+    if test x"$dir" != x -a -x "$dir/yow" ; then
       if $dir/yow >&- 2>&- ; then
        ac_cv_zippy_program="$dir/yow"
        AC_MSG_RESULT($ac_cv_zippy_program)
       if $dir/yow >&- 2>&- ; then
        ac_cv_zippy_program="$dir/yow"
        AC_MSG_RESULT($ac_cv_zippy_program)
@@ -1303,7 +1486,7 @@ if test ! -n "$ac_cv_zippy_program"; then
       #
       # try running libexec/yow and see if it exits without error.
       #
       #
       # try running libexec/yow and see if it exits without error.
       #
-      if test x"$dir" != x -a -x $dir/yow ; then
+      if test x"$dir" != x -a -x "$dir/yow" ; then
         if $dir/yow >&- 2>&- ; then
          ac_cv_zippy_program="$dir/yow"
          AC_MSG_RESULT($ac_cv_zippy_program)
         if $dir/yow >&- 2>&- ; then
          ac_cv_zippy_program="$dir/yow"
          AC_MSG_RESULT($ac_cv_zippy_program)
@@ -1318,12 +1501,25 @@ if test ! -n "$ac_cv_zippy_program"; then
          dir_up=`echo "$dir" | sed 's@/[^/]*$@@'`
          changequote([,])
 
          dir_up=`echo "$dir" | sed 's@/[^/]*$@@'`
          changequote([,])
 
-          yow="yow -f $dir_up/etc/yow.lines"
-         if $dir/$yow >&- 2>&- ; then
-           ac_cv_zippy_program="$dir/$yow"
+         yowlines="$dir_up/etc/yow.lines"
+         if $dir/yow -f $yowlines >&- 2>&- ; then
+           ac_cv_zippy_program="$dir/yow -f $yowlines"
            AC_MSG_RESULT($ac_cv_zippy_program)
          else
            AC_MSG_RESULT($ac_cv_zippy_program)
          else
-           AC_MSG_RESULT(no)
+            #
+            # In newer XEmacs releases, yow.lines is in a different place,
+            # and the easiest way to get it is by calling the new function
+            # `locate-data-file'.
+            #
+            yowlines=`$xemacs_exe $eargs \
+              '(princ (concat (locate-data-file "yow.lines") "\n"))' \
+              2>/dev/null | tail -1`
+            if $dir/yow -f $yowlines >&- 2>&- ; then
+              ac_cv_zippy_program="$dir/yow -f $yowlines"
+              AC_MSG_RESULT($ac_cv_zippy_program)
+            else
+              AC_MSG_RESULT(no)
+            fi
          fi
         fi
       fi
          fi
         fi
       fi
@@ -1357,6 +1553,8 @@ have_kerberos=no
 with_kerberos_req=unspecified
 have_shadow=no
 with_shadow_req=unspecified
 with_kerberos_req=unspecified
 have_shadow=no
 with_shadow_req=unspecified
+have_pam=no
+with_pam_req=unspecified
 need_setuid=no
 
 AC_ARG_ENABLE(locking,[
 need_setuid=no
 
 AC_ARG_ENABLE(locking,[
@@ -1366,9 +1564,9 @@ Screen Locking options:
                           (this is the default.)
   --disable-locking       Do not allow locking at all.],
   [enable_locking="$enableval"],[enable_locking=yes])
                           (this is the default.)
   --disable-locking       Do not allow locking at all.],
   [enable_locking="$enableval"],[enable_locking=yes])
-if test $enable_locking = yes; then
+if test "$enable_locking" = yes; then
   true
   true
-elif test $enable_locking = no; then
+elif test "$enable_locking" = no; then
   AC_DEFINE(NO_LOCKING)
 else
   echo "error: must be yes or no: --enable-locking=$enable_locking"
   AC_DEFINE(NO_LOCKING)
 else
   echo "error: must be yes or no: --enable-locking=$enable_locking"
@@ -1388,9 +1586,9 @@ AC_ARG_ENABLE(vt-locking,[
   --disable-vt-locking    Do not allow locking of VTs, even if locking is
                           enabled.],
   [enable_vt_locking="$enableval"],[enable_vt_locking=yes])
   --disable-vt-locking    Do not allow locking of VTs, even if locking is
                           enabled.],
   [enable_vt_locking="$enableval"],[enable_vt_locking=yes])
-if test $enable_vt_locking = yes; then
+if test "$enable_vt_locking" = yes; then
 
 
-  AC_MSG_CHECKING(for VT_LOCKSWITCH ioctl)
+  AC_MSG_CHECKING(for the VT_LOCKSWITCH ioctl)
   AC_CACHE_VAL(ac_cv_vt_lockswitch,
    [AC_TRY_COMPILE([#include <fcntl.h>
                    #include <sys/ioctl.h>
   AC_CACHE_VAL(ac_cv_vt_lockswitch,
    [AC_TRY_COMPILE([#include <fcntl.h>
                    #include <sys/ioctl.h>
@@ -1401,22 +1599,23 @@ if test $enable_vt_locking = yes; then
   ac_vt_lockswitch=$ac_cv_vt_lockswitch
   AC_MSG_RESULT($ac_vt_lockswitch)
 
   ac_vt_lockswitch=$ac_cv_vt_lockswitch
   AC_MSG_RESULT($ac_vt_lockswitch)
 
-elif test $enable_locking = no; then
+elif test "$enable_vt_locking" = no; then
   true
 else
   echo "error: must be yes or no: --enable-vt-locking=$enable_vt_locking"
   exit 1
 fi
 
   true
 else
   echo "error: must be yes or no: --enable-vt-locking=$enable_vt_locking"
   exit 1
 fi
 
-if test $ac_vt_lockswitch = yes; then
+if test "$ac_vt_lockswitch" = yes; then
   AC_DEFINE(HAVE_VT_LOCKSWITCH)
   # the VT_LOCKSWITCH ioctl can only be used when running as root.
   AC_DEFINE(HAVE_VT_LOCKSWITCH)
   # the VT_LOCKSWITCH ioctl can only be used when running as root.
-  need_setuid=yes
+  # #### but it doesn't work yet, so don't worry about that for now.
+#  need_setuid=yes
 fi
 
 
 
 fi
 
 
 
-if test $enable_locking = yes; then
+if test "$enable_locking" = yes; then
 
   # Check for Kerberos.
   #
 
   # Check for Kerberos.
   #
@@ -1428,12 +1627,12 @@ if test $enable_locking = yes; then
 
   HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
 
 
   HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
 
-  if test $with_kerberos = yes; then
+  if test "$with_kerberos" = yes; then
     AC_CACHE_CHECK([for Kerberos], ac_cv_kerberos,
                   [AC_TRY_X_COMPILE([#include <krb.h>],,
                                     [ac_cv_kerberos=yes],
                                     [ac_cv_kerberos=no])])
     AC_CACHE_CHECK([for Kerberos], ac_cv_kerberos,
                   [AC_TRY_X_COMPILE([#include <krb.h>],,
                                     [ac_cv_kerberos=yes],
                                     [ac_cv_kerberos=no])])
-    if test $ac_cv_kerberos = yes ; then
+    if test "$ac_cv_kerberos" = yes ; then
       have_kerberos=yes
       AC_DEFINE(HAVE_KERBEROS)
 
       have_kerberos=yes
       AC_DEFINE(HAVE_KERBEROS)
 
@@ -1445,26 +1644,53 @@ if test $enable_locking = yes; then
        ))
 
     fi
        ))
 
     fi
-  elif test $with_kerberos != no; then
+  elif test "$with_kerberos" != no; then
     echo "error: must be yes or no: --with-kerberos=$with_kerberos"
     exit 1
   fi
     echo "error: must be yes or no: --with-kerberos=$with_kerberos"
     exit 1
   fi
+  
+  # Check for PAM.
+  AC_ARG_WITH(pam,
+[  --with-pam              Include support for PAM (Pluggable Authentication
+                          Modules) if possible (this is the default.)
+  --without-pam           Do not compile in support for PAM.],
+  [with_pam="$withval"; with_pam_req="$withval"],[with_pam=no])
+#### Leave PAM off by default for now, since it's buggy on Solaris
+#### (and probably Linux, but it's so hard to tell...)
+
+  HANDLE_X_PATH_ARG(with_pam, --with-pam, PAM)
+
+  if test "$with_pam" = yes; then
+    AC_CACHE_CHECK([for PAM], ac_cv_pam,
+                  [AC_TRY_X_COMPILE([#include <security/pam_appl.h>],,
+                                    [ac_cv_pam=yes],
+                                    [ac_cv_pam=no])])
+    if test "$ac_cv_pam" = yes ; then
+         have_pam=yes
+         AC_DEFINE(HAVE_PAM)
+         PASSWD_LIBS="${PASSWD_LIBS} -lpam -ldl"
+    fi
+  elif test "$with_pam" != no; then
+       echo "error: must be yes or no: --with-pam=$with_pam"
+       exit 1
+  fi
 
   # Next, check for the nine billion variants of shadow passwords...
 
 
   # Next, check for the nine billion variants of shadow passwords...
 
-  passwd_cruft_done=no
+  pwent_cruft_done=no
   AC_ARG_WITH(shadow,
 [  --with-shadow           Include support for shadow password authentication,
   AC_ARG_WITH(shadow,
 [  --with-shadow           Include support for shadow password authentication,
-                          if possible (this is the default, if no Kerberos.)
+                          if possible (this is the default, if no Kerberos or
+                          PAM.)
   --without-shadow        Do not compile in support for shadow passwords.
 ],
   [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes])
 
   HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password)
 
   --without-shadow        Do not compile in support for shadow passwords.
 ],
   [with_shadow="$withval"; with_shadow_req="$withval"],[with_shadow=yes])
 
   HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password)
 
-  if test $with_shadow = no; then
-    passwd_cruft_done=yes
-  elif test $with_shadow != yes; then
+  if test "$with_shadow" = no; then
+    pwent_cruft_done=yes
+  elif test "$with_shadow" != yes; then
     echo "error: must be yes or no: --with-shadow=$with_shadow"
     exit 1
   fi
     echo "error: must be yes or no: --with-shadow=$with_shadow"
     exit 1
   fi
@@ -1472,7 +1698,7 @@ if test $enable_locking = yes; then
 
   # Sun's "adjunct" passwords.
   #
 
   # Sun's "adjunct" passwords.
   #
-  if test $passwd_cruft_done = no ; then
+  if test "$pwent_cruft_done" = no ; then
     AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct,
                   [AC_TRY_X_COMPILE([#include <stdlib.h>
                                      #include <unistd.h>
     AC_CACHE_CHECK([for Sun-style shadow passwords], ac_cv_sun_adjunct,
                   [AC_TRY_X_COMPILE([#include <stdlib.h>
                                      #include <unistd.h>
@@ -1484,17 +1710,17 @@ if test $enable_locking = yes; then
                         const char *pw = p->pwa_passwd;],
                        [ac_cv_sun_adjunct=yes],
                        [ac_cv_sun_adjunct=no])])
                         const char *pw = p->pwa_passwd;],
                        [ac_cv_sun_adjunct=yes],
                        [ac_cv_sun_adjunct=no])])
-    if test $ac_cv_sun_adjunct = yes; then
+    if test "$ac_cv_sun_adjunct" = yes; then
       have_shadow=yes
       need_setuid=yes
       have_shadow=yes
       need_setuid=yes
-      passwd_cruft_done=yes
+      pwent_cruft_done=yes
       AC_DEFINE(HAVE_ADJUNCT_PASSWD)
     fi
   fi
 
   # DEC and SCO so-called "enhanced" security.
   #
       AC_DEFINE(HAVE_ADJUNCT_PASSWD)
     fi
   fi
 
   # DEC and SCO so-called "enhanced" security.
   #
-  if test $passwd_cruft_done = no ; then
+  if test "$pwent_cruft_done" = no ; then
     AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd,
                   [AC_TRY_X_COMPILE([#include <stdlib.h>
                                      #include <unistd.h>
     AC_CACHE_CHECK([for DEC-style shadow passwords], ac_cv_enhanced_passwd,
                   [AC_TRY_X_COMPILE([#include <stdlib.h>
                                      #include <unistd.h>
@@ -1513,7 +1739,7 @@ if test $enable_locking = yes; then
     if test $ac_cv_enhanced_passwd = yes; then
       have_shadow=yes
       need_setuid=yes
     if test $ac_cv_enhanced_passwd = yes; then
       have_shadow=yes
       need_setuid=yes
-      passwd_cruft_done=yes
+      pwent_cruft_done=yes
       AC_DEFINE(HAVE_ENHANCED_PASSWD)
 
       # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx)
       AC_DEFINE(HAVE_ENHANCED_PASSWD)
 
       # On SCO, getprpwnam() is in -lprot (which uses nap() from -lx)
@@ -1529,7 +1755,7 @@ if test $enable_locking = yes; then
 
   # HP's entry in the "Not Invented Here" Sweepstakes.
   #
 
   # HP's entry in the "Not Invented Here" Sweepstakes.
   #
-  if test $passwd_cruft_done = no ; then
+  if test "$pwent_cruft_done" = no ; then
     AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd,
                   [AC_TRY_X_COMPILE([#include <stdlib.h>
                                      #include <unistd.h>
     AC_CACHE_CHECK([for HP-style shadow passwords], ac_cv_hpux_passwd,
                   [AC_TRY_X_COMPILE([#include <stdlib.h>
                                      #include <unistd.h>
@@ -1541,10 +1767,10 @@ if test $enable_locking = yes; then
                         const char *pw = p->pw_passwd;],
                        [ac_cv_hpux_passwd=yes],
                        [ac_cv_hpux_passwd=no])])
                         const char *pw = p->pw_passwd;],
                        [ac_cv_hpux_passwd=yes],
                        [ac_cv_hpux_passwd=no])])
-    if test $ac_cv_hpux_passwd = yes; then
+    if test "$ac_cv_hpux_passwd" = yes; then
       have_shadow=yes
       need_setuid=yes
       have_shadow=yes
       need_setuid=yes
-      passwd_cruft_done=yes
+      pwent_cruft_done=yes
       AC_DEFINE(HAVE_HPUX_PASSWD)
 
       # on HPUX, bigcrypt is in -lsec
       AC_DEFINE(HAVE_HPUX_PASSWD)
 
       # on HPUX, bigcrypt is in -lsec
@@ -1554,7 +1780,7 @@ if test $enable_locking = yes; then
 
   # Traditional (ha!) shadow passwords.
   #
 
   # Traditional (ha!) shadow passwords.
   #
-  if test $passwd_cruft_done = no ; then
+  if test "$pwent_cruft_done" = no ; then
     AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow,
                   [AC_TRY_X_COMPILE([#include <stdlib.h>
                                      #include <unistd.h>
     AC_CACHE_CHECK([for generic shadow passwords], ac_cv_shadow,
                   [AC_TRY_X_COMPILE([#include <stdlib.h>
                                      #include <unistd.h>
@@ -1565,16 +1791,16 @@ if test $enable_locking = yes; then
                         const char *pw = p->sp_pwdp;],
                        [ac_cv_shadow=yes],
                        [ac_cv_shadow=no])])
                         const char *pw = p->sp_pwdp;],
                        [ac_cv_shadow=yes],
                        [ac_cv_shadow=no])])
-    if test $ac_cv_shadow = yes; then
+    if test "$ac_cv_shadow" = yes; then
       have_shadow=yes
       need_setuid=yes
       have_shadow=yes
       need_setuid=yes
-      passwd_cruft_done=yes
+      pwent_cruft_done=yes
       AC_DEFINE(HAVE_SHADOW_PASSWD)
 
       # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
       have_getspnam=no
       AC_CHECK_LIB(c, getspnam, [have_getspnam=yes])
       AC_DEFINE(HAVE_SHADOW_PASSWD)
 
       # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
       have_getspnam=no
       AC_CHECK_LIB(c, getspnam, [have_getspnam=yes])
-      if test $have_getspnam = no ; then
+      if test "$have_getspnam" = no ; then
         AC_CHECK_LIB(gen, getspnam,
                     [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"])
       fi
         AC_CHECK_LIB(gen, getspnam,
                     [have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"])
       fi
@@ -1586,25 +1812,25 @@ if test $enable_locking = yes; then
   # program is setuid.  So, guess that we've got this lossage to contend with
   # if /etc/master.passwd exists, and default to a setuid installation.
   #
   # program is setuid.  So, guess that we've got this lossage to contend with
   # if /etc/master.passwd exists, and default to a setuid installation.
   #
-  if test $passwd_cruft_done = no ; then
+  if test "$pwent_cruft_done" = no ; then
     AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd,
                   [if test -f /etc/master.passwd ; then
                      ac_cv_master_passwd=yes
                    else
                      ac_cv_master_passwd=no
                    fi])
     AC_CACHE_CHECK([for FreeBSD-style shadow passwords], ac_cv_master_passwd,
                   [if test -f /etc/master.passwd ; then
                      ac_cv_master_passwd=yes
                    else
                      ac_cv_master_passwd=no
                    fi])
-    if test $ac_cv_master_passwd = yes; then
+    if test "$ac_cv_master_passwd" = yes; then
       need_setuid=yes
       need_setuid=yes
-      passwd_cruft_done=yes
+      pwent_cruft_done=yes
     fi
   fi
 
   # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
   have_crypt=no
   AC_CHECK_LIB(c, crypt, [have_crypt=yes])
     fi
   fi
 
   # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
   have_crypt=no
   AC_CHECK_LIB(c, crypt, [have_crypt=yes])
-  if test $have_crypt = no ; then
+  if test "$have_crypt" = no ; then
     AC_CHECK_LIB(crypt, crypt,
     AC_CHECK_LIB(crypt, crypt,
-                [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"])
+                 [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"])
   fi
 
 
   fi
 
 
@@ -1612,7 +1838,7 @@ if test $enable_locking = yes; then
   # if they were found.  But, on some systems, we need setuid even when
   # using plain old vanilla passwords.
   #
   # if they were found.  But, on some systems, we need setuid even when
   # using plain old vanilla passwords.
   #
-  if test $need_setuid = no ; then
+  if test "$need_setuid" = no ; then
     case "$host" in
       *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* )
         need_setuid=yes
     case "$host" in
       *-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* )
         need_setuid=yes
@@ -1623,7 +1849,6 @@ if test $enable_locking = yes; then
 fi
 
 
 fi
 
 
-
 if test \! -z "$includedir" ; then 
   INCLUDES="-I$includedir"
 fi
 if test \! -z "$includedir" ; then 
   INCLUDES="-I$includedir"
 fi
@@ -1641,28 +1866,33 @@ DEPEND_DEFINES=
 
 # Done testing things -- now substitute in some stuff for the Makefiles.
 #
 
 # Done testing things -- now substitute in some stuff for the Makefiles.
 #
-if test $have_motif = yes; then
+if test "$have_motif" = yes; then
   AC_DEFINE(HAVE_MOTIF)
   AC_DEFINE(HAVE_MOTIF)
-  DIALOG_SRCS='$(MOTIF_SRCS)'
-  DIALOG_OBJS='$(MOTIF_OBJS)'
-elif test $have_athena = yes; then
+  TOOLKIT_SRCS='$(MOTIF_SRCS)'
+  TOOLKIT_OBJS='$(MOTIF_OBJS)'
+elif test "$have_athena" = yes; then
   AC_DEFINE(HAVE_ATHENA)
   AC_DEFINE(HAVE_ATHENA)
-  DIALOG_SRCS='$(ATHENA_SRCS)'
-  DIALOG_OBJS='$(ATHENA_OBJS)'
+  TOOLKIT_SRCS='$(ATHENA_SRCS)'
+  TOOLKIT_OBJS='$(ATHENA_OBJS)'
 else
 else
-  DIALOG_SRCS=''
-  DIALOG_OBJS=''
+  TOOLKIT_SRCS=''
+  TOOLKIT_OBJS=''
 fi
 
 fi
 
-if test $have_kerberos = yes; then
-  PASSWD_SRCS='$(KERBEROS_SRCS)'
-  PASSWD_OBJS='$(KERBEROS_OBJS)'
-else
-  PASSWD_SRCS='$(PWENT_SRCS)'
-  PASSWD_OBJS='$(PWENT_OBJS)'
+if test "$have_kerberos" = yes; then
+  PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)"
+  PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)"
 fi
 fi
+if test "$have_pam" = yes; then
+  PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)"
+  PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)"
+  INSTALL_PAM="install-pam"
+fi
+  PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)"
+  PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)"
+
 
 
-if test $enable_locking = yes; then
+if test "$enable_locking" = yes; then
   LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)'
   LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
 else
   LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)'
   LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
 else
@@ -1670,7 +1900,7 @@ else
   LOCK_OBJS=''
 fi
 
   LOCK_OBJS=''
 fi
 
-if test $need_setuid = yes; then
+if test "$need_setuid" = yes; then
   NEED_SETUID=yes
   INSTALL_SETUID='$(INSTALL) $(SUID_FLAGS)'
 else
   NEED_SETUID=yes
   INSTALL_SETUID='$(INSTALL) $(SUID_FLAGS)'
 else
@@ -1679,18 +1909,17 @@ else
 fi
 
 tab='  '
 fi
 
 tab='  '
-if test $have_gl = yes; then
+if test "$have_gl" = yes; then
   GL_EXES='$(GL_EXES)'
   GL_EXES='$(GL_EXES)'
-  GL_KLUDGE_1=${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}'  \'
-  GL_KLUDGE_2=${tab}
+  GL_KLUDGE=${tab}
 else
 else
-  GL_KLUDGE_1=${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}'\n'
-  GL_KLUDGE_2='!'${tab}
+  GL_KLUDGE='  -'${tab}
 fi
 
 AC_SUBST(INCLUDES)
 
 AC_SUBST(SAVER_LIBS)
 fi
 
 AC_SUBST(INCLUDES)
 
 AC_SUBST(SAVER_LIBS)
+AC_SUBST(TOOLKIT_LIBS)
 AC_SUBST(HACK_LIBS)
 AC_SUBST(XPM_LIBS)
 AC_SUBST(GL_LIBS)
 AC_SUBST(HACK_LIBS)
 AC_SUBST(XPM_LIBS)
 AC_SUBST(GL_LIBS)
@@ -1698,11 +1927,12 @@ AC_SUBST(PASSWD_LIBS)
 AC_SUBST(INSTALL_SETUID)
 AC_SUBST(INSTALL_DIRS)
 AC_SUBST(NEED_SETUID)
 AC_SUBST(INSTALL_SETUID)
 AC_SUBST(INSTALL_DIRS)
 AC_SUBST(NEED_SETUID)
+AC_SUBST(INSTALL_PAM)
 AC_SUBST(SGI_VIDEO_OBJS)
 AC_SUBST(SGI_VIDEO_LIBS)
 
 AC_SUBST(SGI_VIDEO_OBJS)
 AC_SUBST(SGI_VIDEO_LIBS)
 
-AC_SUBST(DIALOG_SRCS)
-AC_SUBST(DIALOG_OBJS)
+AC_SUBST(TOOLKIT_SRCS)
+AC_SUBST(TOOLKIT_OBJS)
 AC_SUBST(PASSWD_SRCS)
 AC_SUBST(PASSWD_OBJS)
 AC_SUBST(XMU_SRCS)
 AC_SUBST(PASSWD_SRCS)
 AC_SUBST(PASSWD_OBJS)
 AC_SUBST(XMU_SRCS)
@@ -1710,8 +1940,7 @@ AC_SUBST(XMU_OBJS)
 AC_SUBST(LOCK_SRCS)
 AC_SUBST(LOCK_OBJS)
 AC_SUBST(GL_EXES)
 AC_SUBST(LOCK_SRCS)
 AC_SUBST(LOCK_OBJS)
 AC_SUBST(GL_EXES)
-AC_SUBST(GL_KLUDGE_1)
-AC_SUBST(GL_KLUDGE_2)
+AC_SUBST(GL_KLUDGE)
 AC_SUBST(HACKDIR)
 AC_SUBST(APPDEFAULTS)
 
 AC_SUBST(HACKDIR)
 AC_SUBST(APPDEFAULTS)
 
@@ -1729,7 +1958,7 @@ warning=no
 warnsep='    #################################################################'
 
 warnpre() {
 warnsep='    #################################################################'
 
 warnpre() {
-  if test $warning = no ; then
+  if test "$warning" = no ; then
     echo '' ; echo "$warnsep" ; echo ''
     warning=yes
   fi
     echo '' ; echo "$warnsep" ; echo ''
     warning=yes
   fi
@@ -1737,7 +1966,7 @@ warnpre() {
 
 warn() {
   warnpre
 
 warn() {
   warnpre
-  if test $warning = long ; then echo '' ; fi
+  if test "$warning" = long ; then echo '' ; fi
   warning=yes
   echo "$warn_prefix $@"
 }
   warning=yes
   echo "$warn_prefix $@"
 }
@@ -1746,7 +1975,7 @@ warnL() {
   was=$warning
   warnpre
   warning=yes
   was=$warning
   warnpre
   warning=yes
-  if test $was != no ; then echo '' ; fi
+  if test "$was" != no ; then echo '' ; fi
   echo "$warn_prefix $@"
 }
 
   echo "$warn_prefix $@"
 }
 
@@ -1768,49 +1997,54 @@ noteL() {
 }
 
 
 }
 
 
-if test $with_sgi_req = yes -a $have_sgi = no ; then
+if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then
   warn 'The SGI saver extension was requested, but was not found.'
 fi
 
   warn 'The SGI saver extension was requested, but was not found.'
 fi
 
-if test $with_mit_req = yes -a $have_mit = no ; then
+if test "$with_mit_req" = yes -a "$have_mit" = no ; then
   warn 'The MIT saver extension was requested, but was not found.'
 fi
 
   warn 'The MIT saver extension was requested, but was not found.'
 fi
 
-if test $with_xidle_req = yes -a $have_xidle = no ; then
+if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then
   warn 'The XIdle extension was requested, but was not found.'
 fi
 
   warn 'The XIdle extension was requested, but was not found.'
 fi
 
-if test $with_xshm_req = yes -a $have_xshm = no ; then
+if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then
   warn 'The XSHM extension was requested, but was not found.'
 fi
 
   warn 'The XSHM extension was requested, but was not found.'
 fi
 
-if test $with_sgivc_req = yes -a $have_sgivc = no ; then
+if test "$with_xdbe_req" = yes -a "$have_xdbe" = no ; then
+  warn 'The DOUBLE-BUFFER extension was requested, but was not found.'
+fi
+
+if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then
   warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.'
 fi
 
   warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.'
 fi
 
-if test $with_dpms_req = yes -a $have_dpms = no ; then
+if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then
   warn 'The DPMS extension was requested, but was not found.'
 fi
 
   warn 'The DPMS extension was requested, but was not found.'
 fi
 
-if test $have_motif = no -a $have_athena = no ; then
+if test "$have_motif" = no -a "$have_athena" = no ; then
   warnL "Neither Motif nor Athena widgets seem to be available;"
   warnL "Neither Motif nor Athena widgets seem to be available;"
-  warn2 "one or the other is required."
+  warn2 "the \`xscreensaver-demo' program requires one or the"
+  warn2 "other."
   proselytize_motif=no
 
   proselytize_motif=no
 
-elif test $with_motif_req = yes -a $have_motif = no ; then
+elif test "$with_motif_req" = yes -a "$have_motif" = no ; then
   warnL "Use of Motif was requested, but it wasn't found;"
   warn2 "Athena will be used instead."
 
   warnL "Use of Motif was requested, but it wasn't found;"
   warn2 "Athena will be used instead."
 
-elif test $with_athena_req = yes -a $have_athena = no ; then
+elif test "$with_athena_req" = yes -a "$have_athena" = no ; then
   warnL "Use of Athena was requested, but it wasn't found;"
   warn2 "Motif will be used instead."
 fi
 
   warnL "Use of Athena was requested, but it wasn't found;"
   warn2 "Motif will be used instead."
 fi
 
-if test $have_motif = yes -a $have_lesstif = yes ; then
+if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
 
   preferred_lesstif=0.86
 
 
   preferred_lesstif=0.86
 
-  if test $lesstif_version = unknown; then
+  if test "$lesstif_version" = unknown; then
     warnL "Unable to determine the LessTif version number!"
     warn2 "Make sure you are using version $preferred_lesstif or newer."
     warn2 "See <http://www.lesstif.org/>."
     warnL "Unable to determine the LessTif version number!"
     warn2 "Make sure you are using version $preferred_lesstif or newer."
     warn2 "See <http://www.lesstif.org/>."
@@ -1824,24 +2058,24 @@ if test $have_motif = yes -a $have_lesstif = yes ; then
   fi
 fi
 
   fi
 fi
 
-if test $proselytize_motif = yes ; then
+if test "$proselytize_motif" = yes ; then
     warnL "Athena widgets are being used instead of Motif."
     warnL "Athena widgets are being used instead of Motif."
-    warn2 "XScreenSaver looks much better with Motif, and has"
-    warn2 "a few extra features as well.  Wouldn't you rather"
-    warn2 "be using Motif?  It is shipped by every commercial"
-    warn2 "Unix vendor; and there is a free implementation"
-    warn2 "available as well: see <http://www.lesstif.org/>."
+    warn2 "The \`xscreensaver-demo' program looks much better"
+    warn2 "with Motif.  Wouldn't you rather be using Motif?"
+    warn2 "It is shipped by every commercial Unix vendor;"
+    warn2 "and there is a free implementation available as"
+    warn2 "well: see <http://www.lesstif.org/>."
 fi
 
 
 fi
 
 
-if test $have_gl = yes -a $ac_have_mesa_gl = yes ; then
-  preferred_mesagl=2.7
+if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
+  preferred_mesagl=3.0
 
 
-  if test $ac_mesagl_version = unknown; then
+  if test "$ac_mesagl_version" = unknown; then
     warnL "Unable to determine the MesaGL version number!"
     warn2 "Make sure you are using version $preferred_mesagl or newer."
 
     warnL "Unable to determine the MesaGL version number!"
     warn2 "Make sure you are using version $preferred_mesagl or newer."
 
-  elif test \! $ac_mesagl_version -gt 2006; then
+  elif test \! "$ac_mesagl_version" -gt 2006; then
     warnL "MesaGL version $ac_mesagl_version_string is being used."
     warn2 "MesaGL versions 2.6 and earlier have a security bug."
     warn2 "It is strongly recommended that you upgrade to at"
     warnL "MesaGL version $ac_mesagl_version_string is being used."
     warn2 "MesaGL versions 2.6 and earlier have a security bug."
     warn2 "It is strongly recommended that you upgrade to at"
@@ -1850,10 +2084,10 @@ if test $have_gl = yes -a $ac_have_mesa_gl = yes ; then
 fi
 
 
 fi
 
 
-if test $have_xpm = no ; then
-  if test $with_xpm_req = yes ; then
+if test "$have_xpm" = no ; then
+  if test "$with_xpm_req" = yes ; then
     warnL 'Use of XPM was requested, but it was not found.'
     warnL 'Use of XPM was requested, but it was not found.'
-  elif test $with_xpm_req = no ; then
+  elif test "$with_xpm_req" = no ; then
     noteL 'The XPM library is not being used.'
   else
     noteL 'The XPM library was not found.'
     noteL 'The XPM library is not being used.'
   else
     noteL 'The XPM library was not found.'
@@ -1867,10 +2101,10 @@ if test $have_xpm = no ; then
   warn2 'X11 archive sites, such as <http://sunsite.unc.edu/>.'
 fi
 
   warn2 'X11 archive sites, such as <http://sunsite.unc.edu/>.'
 fi
 
-if test $have_gl = no ; then
-  if test $with_gl_req = yes ; then
+if test "$have_gl" = no ; then
+  if test "$with_gl_req" = yes ; then
     warnL 'Use of GL was requested, but it was not found.'
     warnL 'Use of GL was requested, but it was not found.'
-  elif test $with_gl_req = no ; then
+  elif test "$with_gl_req" = no ; then
     noteL 'The OpenGL 3D library is not being used.'
   else
     noteL 'The OpenGL 3D library was not found.'
     noteL 'The OpenGL 3D library is not being used.'
   else
     noteL 'The OpenGL 3D library was not found.'
@@ -1882,24 +2116,28 @@ if test $have_gl = no ; then
   warn2 're-running configure.  (Remember to delete the'
   warn2 "config.cache file first.)  If your vendor doesn't ship"
   warn2 'their own implementation of OpenGL, you can get a free'
   warn2 're-running configure.  (Remember to delete the'
   warn2 "config.cache file first.)  If your vendor doesn't ship"
   warn2 'their own implementation of OpenGL, you can get a free'
-  warn2 'version at <http://www.ssec.wisc.edu/~brianp/Mesa.html>.'
-  warn2 'For general OpenGL info, see <http://www.opengl.org/>.'
+  warn2 'version at <http://www.mesa3d.org/>.  For general OpenGL'
+  warn2 'info, see <http://www.opengl.org/>.'
 
 fi
 
 
 fi
 
-if test $with_readdisplay_req = yes -a $have_readdisplay = no ; then
+if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then
   warn 'Use of XReadDisplay was requested, but it was not found.'
 fi
 
   warn 'Use of XReadDisplay was requested, but it was not found.'
 fi
 
-if test $with_sgivideo_req = yes -a $have_sgivideo = no ; then
+if test "$with_sgivideo_req" = yes -a "$have_sgivideo" = no ; then
   warn 'Use of the Iris Video Library was requested, but it was not found.'
 fi
 
   warn 'Use of the Iris Video Library was requested, but it was not found.'
 fi
 
-if test $with_kerberos_req = yes -a $have_kerberos = no ; then
+if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then
   warn 'Use of Kerberos was requested, but it was not found.'
 fi
 
   warn 'Use of Kerberos was requested, but it was not found.'
 fi
 
-if test $with_shadow_req = yes -a $have_shadow = no ; then
+if test "$with_pam_req" = yes -a "$have_pam" = no ; then
+  warn 'Use of PAM was requested, but it was not found.'
+fi
+
+if test "$with_shadow_req" = yes -a "$have_shadow" = no ; then
   warn 'Use of shadow passwords was requested, but they were not found.'
 fi
 
   warn 'Use of shadow passwords was requested, but they were not found.'
 fi
 
@@ -1910,7 +2148,7 @@ if test -n "$with_zippy_req"; then
   fi
 fi
 
   fi
 fi
 
-if test $warning != no; then
+if test "$warning" != no; then
   echo '' ; echo "$warnsep" ; echo ''
 fi
 
   echo '' ; echo "$warnsep" ; echo ''
 fi
 
@@ -1938,20 +2176,26 @@ eval HACKDIR=${HACKDIR}
 eval HACKDIR=${HACKDIR}
 eval HACKDIR=${HACKDIR}
 
 eval HACKDIR=${HACKDIR}
 eval HACKDIR=${HACKDIR}
 
-echo ""
-echo "$warnsep"
-echo ""
-echo '      When you run "make install", the "xscreensaver" and'
-echo '      "xscreensaver-command" executables will be installed in'
-echo "      ${bindir}."
-echo ""
-echo "      The various graphics demos (80+ different executables) will"
-echo "      be installed in ${HACKDIR}."
-echo ""
-echo "      If you would prefer the demos to be installed elsewhere"
-echo "      (for example, in a dedicated directory) you should re-run"
-echo "      configure with the --enable-subdir=DIR option.  For more"
-echo "      information, run $0 --help."
-echo ""
-echo "$warnsep"
-echo ""
+# canonicalize slashes.
+bindir=`echo  "${bindir}"  | sed 's@/$@@;s@//*@/@g'`
+HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
+
+if test "${bindir}" = "${HACKDIR}" ; then
+  echo ""
+  echo "$warnsep"
+  echo ""
+  echo '      When you run "make install", the "xscreensaver",'
+  echo '      "xscreensaver-demo", and "xscreensaver-command" executables'
+  echo "      will be installed in ${bindir}."
+  echo ""
+  echo "      The various graphics demos (90+ different executables) will"
+  echo "      also be installed in ${HACKDIR}."
+  echo ""
+  echo "      If you would prefer the demos to be installed elsewhere"
+  echo "      (for example, in a dedicated directory) you should re-run"
+  echo "      configure with the --enable-subdir=DIR option.  For more"
+  echo "      information, run $0 --help."
+  echo ""
+  echo "$warnsep"
+  echo ""
+fi