http://www.tienza.es/crux/src/www.jwz.org/xscreensaver/xscreensaver-5.04.tar.gz
[xscreensaver] / configure.in
index 03e1a7d2483ba870bf720ff0be840c0334b8ef40..4088bf01a5c33bdfba4c1655d3ae0741a953c30f 100644 (file)
@@ -191,6 +191,9 @@ AH_TEMPLATE([PASSWD_HELPER_PROGRAM],
 AH_TEMPLATE([NO_LOCKING],
            [Define this to remove the option of locking the screen at all.])
 
+AH_TEMPLATE([ALLOW_ROOT_PASSWD],
+           [Define this to allow the root password to unlock the screen.])
+
 AH_TEMPLATE([HAVE_KERBEROS],
            [Define this if you want to use Kerberos authentication to
            lock/unlock the screen instead of your local password.  This
@@ -221,6 +224,10 @@ AH_TEMPLATE([PAM_SERVICE_NAME],
            configured for xlock, so setting this to "xlock" would also work
            in that case.])
 
+AH_TEMPLATE([HAVE_PAM_FAIL_DELAY],
+           [Define this if you have pam_fail_delay function.
+           see driver/passwd-pam.c.])
+
 AH_TEMPLATE([PAM_STRERROR_TWO_ARGS],
            [Define if you have PAM and pam_strerror() requires two
            arguments.])
@@ -950,6 +957,7 @@ AC_DEFUN(AC_CHECK_X_HEADER, [
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   AC_CHECK_HEADER([$1],[$2],[$3],[$4])
   CPPFLAGS="$ac_save_CPPFLAGS"])
 
@@ -961,6 +969,7 @@ AC_DEFUN(AC_EGREP_X_HEADER, [
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   AC_EGREP_HEADER([$1], [$2], [$3], [$4])
   CPPFLAGS="$ac_save_CPPFLAGS"])
 
@@ -972,6 +981,7 @@ AC_DEFUN(AC_TRY_X_COMPILE, [
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   AC_TRY_COMPILE([$1], [$2], [$3], [$4])
   CPPFLAGS="$ac_save_CPPFLAGS"])
 
@@ -996,6 +1006,8 @@ AC_DEFUN(AC_CHECK_X_LIB, [
   # note: $X_LIBS includes $x_libraries
   LDFLAGS="$LDFLAGS $X_LIBS $X_EXTRA_LIBS"
 
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
   CPPFLAGS="$ac_save_CPPFLAGS"
   LDFLAGS="$ac_save_LDFLAGS"
@@ -1011,6 +1023,7 @@ AC_DEFUN(AC_TRY_X_RUN, [
     CPPFLAGS="$CPPFLAGS -I$includedir"
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   AC_TRY_RUN([$1], [$2], [$3], [$4])
   CPPFLAGS="$ac_save_CPPFLAGS"])
 
@@ -1080,6 +1093,11 @@ AC_DEFUN(HANDLE_X_PATH_ARG, [
 ###############################################################################
 ###############################################################################
 
+# WTF!  autoconf emits this *way* too late.  Do it earlier.
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+
 # random compiler setup
 AC_CANONICAL_HOST
 AC_PROG_CC_ANSI
@@ -1147,15 +1165,6 @@ AC_MSG_CHECKING(whether this is MacOS X)
 AC_MSG_RESULT($ac_macosx)
 
 
-if test "$ac_macosx" = yes; then
-  if test -n "$GCC"; then
-    # Without these, every link against libGL gets a bunch of useless warnings.
-    osx_crud="-bind_at_load -multiply_defined suppress"
-    AC_MSG_RESULT(adding "$osx_crud" to LDFLAGS)
-     LDFLAGS="$LDFLAGS $osx_crud"
-  fi
-fi
-
 ###############################################################################
 #
 #       Gettext support
@@ -1269,9 +1278,7 @@ fi
 HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
 
 # Expand HACKDIR as HACKDIR_FULL
-eval HACKDIR_FULL=${HACKDIR}
-eval HACKDIR_FULL=${HACKDIR_FULL}
-eval HACKDIR_FULL=${HACKDIR_FULL}
+HACKDIR_FULL=`eval eval eval eval eval eval eval eval eval echo $HACKDIR`
 
 # This option used to be called --enable-subdir; make sure that is no longer
 # used, since configure brain-damagedly ignores unknown --enable options.
@@ -1791,6 +1798,23 @@ if test "$ac_macosx" = yes; then
 fi
 
 
+###############################################################################
+#
+#       Whether to allow root password to unblank.
+#
+###############################################################################
+AC_ARG_ENABLE(root-passwd, [
+  --enable-root-passwd       Allow root passwd to unlock screen.
+  --disable-root-passwd       Do not allow that.],
+  [enable_root_passwd="$enableval"],[enable_root_passwd=yes])
+if test "$enable_root_passwd" = yes; then
+  AC_DEFINE(ALLOW_ROOT_PASSWD)
+  true
+elif test "$enable_root_passwd" != no; then
+  echo "error: something wrong with root-passwd option. Check configure.in ."
+  exit 1
+fi
+
 ###############################################################################
 #
 #       Check for PAM.
@@ -1872,6 +1896,28 @@ if test "$enable_locking" = yes -a "$with_pam" = yes; then
     else
       AC_MSG_RESULT(unknown)
     fi
+
+# Check pam_fail_delay
+    AC_MSG_CHECKING(pam_fail_delay in -lpam)
+    AC_CACHE_VAL(ac_cv_pam_fail_delay,
+     [ac_save_LDFLAGS="$LDFLAGS"
+      LDFLAGS="-lpam"
+      AC_TRY_LINK([#include <security/pam_appl.h>],
+                  [pam_handle_t *pamh = 0;
+                  unsigned int usec = 1;
+                  int status = pam_fail_delay (pamh, usec);],
+                  [ac_pam_fail_delay=yes],
+                  [ac_pam_fail_delay=no])
+      ac_cv_pam_fail_delay=$ac_pam_fail_delay,
+      LDFLAGS=$ac_save_LDFLAGS])
+
+      if test "$ac_pam_fail_delay" = yes ; then
+        AC_MSG_RESULT(yes)
+        AC_DEFINE(HAVE_PAM_FAIL_DELAY)
+      else
+        AC_MSG_RESULT(no)
+      fi
+
   fi
 fi
 
@@ -2219,7 +2265,7 @@ esac
 
 have_login_manager=no
 with_login_manager_req=unspecified
-default_login_manager='gdmflexiserver -l'
+default_login_manager='gdmflexiserver -ls'
 
 AC_ARG_WITH(login-manager,
 [  --with-login-manager    Put a "New Login" button on the unlock dialog that
@@ -2430,6 +2476,7 @@ fi
 
 # Check for the various Gnome help and URL loading programs.
 #
+WITH_BROWSER=gnome-open
 if test "$have_gtk" = yes; then
   AC_CHECK_PROGS(gnome_open_program,     gnome-open)
   AC_CHECK_PROGS(gnome_url_show_program, gnome-url-show)
@@ -2654,14 +2701,37 @@ if test "$with_gl" = yes; then
     #
     AC_CACHE_CHECK([whether GL is really MesaGL], ac_cv_have_mesa_gl,
       [ac_cv_have_mesa_gl=no
-       AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes])
-      ])
+       if test "$ac_macosx" = no; then
+         # WTF! MacOS 10.5.0 ships the Mesa GL headers!
+         # It's not really Mesa, is it?
+         AC_EGREP_X_HEADER(Mesa|MESA, GL/glx.h, [ac_cv_have_mesa_gl=yes])
+       fi])
     ac_have_mesa_gl=$ac_cv_have_mesa_gl
 
     gl_lib_1=""
     GL_LIBS=""
 
+    if test "$ac_macosx" = yes; then
+
+      # Without these, every link against libGL gets a bunch of useless
+      # warnings.
+      #
+      osx_crud="-bind_at_load -multiply_defined suppress"
+      AC_MSG_RESULT(adding "$osx_crud" to GL_LIBS)
+      GL_LIBS="$GL_LIBS $osx_crud"
+      unset osx_crud
+
+      # New lossage in 10.5.0: without this, we get:
+      #   ld: cycle in dylib re-exports with /usr/X11/lib/libGL.dylib
+      #
+      osx_crud="/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"
+      osx_crud="-Wl,-dylib_file,${osx_crud}:${osx_crud}"
+
+      AC_MSG_RESULT(adding "$osx_crud" to GL_LIBS)
+      GL_LIBS="$GL_LIBS $osx_crud"
+      unset osx_crud
+    fi
+
 
     # Some versions of MesaGL are compiled to require -lpthread.
     # So if the Mesa headers exist, and -lpthread exists, then always
@@ -3357,6 +3427,45 @@ ac_cv_textfile="$with_textfile"
 DEFAULT_TEXT_FILE="$ac_cv_textfile"
 
 
+###############################################################################
+#
+#       Check the browser to see help URL
+#
+###############################################################################
+
+have_browser=no
+with_browser_req=unspecified
+
+AC_ARG_WITH(browser,
+[  --with-browser=BROWSER   Specify the browser to show help URL.],
+  [with_browser="$withval"; with_browser_req="$withval"],
+  [with_browser=no ])
+# no HANDLE_X_PATH_ARG for this one
+
+case "$with_browser" in
+  no )
+  ;;
+  * )
+    WITH_BROWSER=$with_browser
+    gnome_open_program=$with_browser
+    AC_MSG_CHECKING([for browser $with_browser])
+    with_browser_fullpath=`which $with_browser 2>/dev/null`
+    case $with_browser_fullpath in
+        /* )
+               AC_MSG_RESULT(yes)
+                have_browser=yes
+                ;;
+       * )
+              AC_MSG_RESULT(no)
+# Only warning: we don't want to install all packages for the 
+# dependency of the browser in building stage...
+              echo "WARNING: browser not found: --with-browser=$with_browser"
+              ;;
+    esac
+  ;;
+esac
+ac_cv_browser="$with_browser"
+
 ###############################################################################
 #
 #       Check whether it's ok to install some hacks as setuid (e.g., "sonar")
@@ -3520,12 +3629,7 @@ if test -z "$PO_DATADIR" ; then
   # Map /build/prefix/usr/X11R6/share/ to /build/prefix/usr/share/
   # but of course we need to expand all the nested variables to do that...
   #
-  dd=$datadir
-  eval dd=${dd}
-  eval dd=${dd}
-  eval dd=${dd}
-  eval dd=${dd}
-  eval dd=${dd}
+  dd=`eval eval eval eval eval eval eval eval eval eval eval echo $datadir`
   PO_DATADIR=`echo $dd | sed 's@/X11R6/@/@'`
 fi
 
@@ -3574,11 +3678,13 @@ AC_SUBST(SETUID_HACKS)
 AC_SUBST(INSTALL_DIRS)
 AC_SUBST(NEED_SETUID)
 AC_SUBST(INSTALL_PAM)
+AC_SUBST(HAVE_PAM_FAIL_DELAY)
 AC_SUBST(NEW_LOGIN_COMMAND)
 AC_SUBST(NEW_LOGIN_COMMAND_P)
 AC_SUBST(DEFAULT_IMAGES_P)
 AC_SUBST(DEFAULT_IMAGE_DIRECTORY)
 AC_SUBST(DEFAULT_TEXT_FILE)
+AC_SUBST(WITH_BROWSER)
 
 AC_SUBST(OBJCC)
 AC_SUBST(EXES_OSX)
@@ -4012,24 +4118,9 @@ fi
 # You are in a twisty maze of namespaces and syntaxes, all alike.
 # Fuck the skull of Unix.
 #
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval bindir=${bindir}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACKDIR=${HACKDIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
-eval HACK_CONF_DIR=${HACK_CONF_DIR}
+bindir=`eval eval eval eval eval eval eval echo $bindir`
+HACKDIR=`eval eval eval eval eval eval eval echo $HACKDIR`
+HACKDIR_CONF_DIR=`eval eval eval eval eval eval eval echo $HACKDIR_CONF_DIR`
 
 # canonicalize slashes.
 bindir=`echo  "${bindir}"              | sed 's@/$@@;s@//*@/@g'`
@@ -4121,7 +4212,7 @@ if test "$do_dir_warning" = no; then
   fi
   echo "User programs will be installed in ${bindir}/"
   echo "Screen savers will be installed in ${HACKDIR}/"
-  echo "Hack configurations will be installed in ${HACK_CONF_DIR}/"
-  echo "Saver configuration will be installed in ${APPDEFAULTS}/"
+  echo "Configuration dialogs will be installed in ${HACK_CONF_DIR}/"
+  echo "System-wide default settings will be installed in ${APPDEFAULTS}/"
   echo ''
 fi