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
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.])
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"])
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"])
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"])
# 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"
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"])
###############################################################################
###############################################################################
+# 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
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
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.
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.
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
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
# 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)
#
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
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")
# 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
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)
# 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'`
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