X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=configure.in;h=8793c578d529302af61eaf2fcd2c05b05ac681e3;hp=7889de45e9d4af2f13b630688f2caa84773db59c;hb=07faf451b99879183ed7e909e43a0e065be1ee7f;hpb=3f438031d610c7e15fd33876a879b97e290e05fb diff --git a/configure.in b/configure.in index 7889de45..8793c578 100644 --- a/configure.in +++ b/configure.in @@ -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.]) @@ -250,15 +257,6 @@ AH_TEMPLATE([HAVE_HPUX_PASSWD], Passwords'' (if you have /usr/include/hpsecurity.h, you probably have this.) I haven't tested this one, let me know if it works.]) -AH_TEMPLATE([HAVE_VT_LOCKSWITCH], - [Define this if you are on a system that supports the - VT_LOCKSWITCH and VT_UNLOCKSWITCH ioctls. If this is defined, - then when the screen is locked, switching to another virtual - terminal will also be prevented. That is, the whole console - will be locked, rather than just the VT on which X is running. - (Well, that's the theory anyway -- in practice, I haven't yet - figured out how to make that work.)]) - AH_TEMPLATE([HAVE_SYSLOG], [Define this if you the openlog(), syslog(), and closelog() functions. This is used for logging failed login attempts.]) @@ -350,7 +348,7 @@ AC_DEFUN(AC_PROG_CC_ANSI, if test -n "$GCC"; then AC_MSG_RESULT(Turning on gcc compiler warnings.) - CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs" + CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs -Wmissing-prototypes" OBJCC="$OBJCC -Wall" # supposedly gcc 3.4 will have "-Wdeclaration-after-statement" # and then perhaps we can do without -pedantic? @@ -711,6 +709,17 @@ EOF rm -fr conftestdir fi]) +############################################################################### +# +# Handle the --with-x-app-defaults option HERE +# +############################################################################### + +AC_ARG_WITH(x-app-defaults,[], + [ac_cv_x_app_defaults="$withval"], + [eval ac_x_app_defaults="$withval"]) + + AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[ # Look for the directory under a standard set of common directories. # Check X11 before X11Rn because it's often a symlink to the current release. @@ -1114,6 +1123,7 @@ AC_HEADER_DIRENT AC_GETTIMEOFDAY_ARGS AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk) AC_CHECK_FUNCS(sigaction syslog realpath setrlimit) +AC_CHECK_FUNCS(setlocale) AC_CHECK_ICMP AC_CHECK_ICMPHDR AC_CHECK_HEADERS(crypt.h sys/select.h) @@ -1144,6 +1154,14 @@ 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 ############################################################################### # @@ -1257,6 +1275,11 @@ fi # canonicalize slashes. 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} + # This option used to be called --enable-subdir; make sure that is no longer # used, since configure brain-damagedly ignores unknown --enable options. @@ -1273,6 +1296,7 @@ fi ############################################################################### # # Handle the --with-configdir option +# Help for --with-x-app-defaults option added.. # ############################################################################### @@ -1282,6 +1306,8 @@ AC_ARG_WITH(configdir, [ --with-configdir=DIR Where to install the data files that describe each of the display modes to the GUI. Default: `PREFIX/share/xscreensaver/config/' + --with-x-app-defaults=DIR + Where to install xscreensaver configuration file. ], [with_configdir="$withval"; with_configdir_req="$withval"], [with_configdir=yes]) @@ -1715,6 +1741,13 @@ AC_ARG_WITH(proc-interrupts, if test "$with_proc_interrupts" = yes; then + # Note that we may be building in an environment (e.g. Debian buildd chroot) + # without a proper /proc filesystem. If /proc/interrupts exists, then we'll + # check that it has the bits we need, but otherwise we'll just go on faith. + # + have_proc_interrupts=yes + + if test -f /proc/interrupts; then AC_CACHE_CHECK([whether /proc/interrupts contains keyboard data], ac_cv_have_proc_interrupts, [ac_cv_have_proc_interrupts=no @@ -1723,6 +1756,7 @@ if test "$with_proc_interrupts" = yes; then fi ]) have_proc_interrupts=$ac_cv_have_proc_interrupts + fi if test "$have_proc_interrupts" = yes; then AC_DEFINE(HAVE_PROC_INTERRUPTS) @@ -1766,43 +1800,20 @@ fi ############################################################################### # -# The --enable-vt-locking option +# Whether to allow root password to unblank. # ############################################################################### - -#ac_vt_lockswitch=no -#AC_ARG_ENABLE(vt-locking,[ -# --enable-vt-locking Compile in support for locking Virtual Terminals. -# This is the default if the system supports it, and -# if locking support is included (--enable-locking.) -# --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 -# -# AC_CACHE_CHECK([for the VT_LOCKSWITCH ioctl], ac_cv_vt_lockswitch, -# [AC_TRY_COMPILE([#include -# #include -# #include ], -# [int x = VT_LOCKSWITCH; int y = VT_UNLOCKSWITCH;], -# [ac_cv_vt_lockswitch=yes], -# [ac_cv_vt_lockswitch=no])]) -# ac_vt_lockswitch=$ac_cv_vt_lockswitch -# -#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 -# -#if test "$ac_vt_lockswitch" = yes; then -# AC_DEFINE(HAVE_VT_LOCKSWITCH) -# # the VT_LOCKSWITCH ioctl can only be used when running as root. -# # #### but it doesn't work yet, so don't worry about that for now. -## need_setuid=yes -#fi - +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 ############################################################################### # @@ -1885,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 ], + [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, + LD_FLAGS=$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 @@ -2260,7 +2293,6 @@ if test -n "$with_login_manager_req" ; then AC_MSG_CHECKING([for $login_manager_tmp]) if test -x "$login_manager_tmp" ; then AC_MSG_RESULT(yes) - with_login_manager="$login_manager_tmp" else AC_MSG_RESULT(no) with_login_manager="" @@ -2420,6 +2452,7 @@ if test "$with_gtk" = yes; then AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs, [ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`]) fi + ac_gtk_config_cflags=$ac_cv_gtk_config_cflags ac_gtk_config_libs=$ac_cv_gtk_config_libs @@ -2443,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) @@ -2955,6 +2989,7 @@ if test "$with_gdk_pixbuf" = yes; then AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs, [ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`]) fi + ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs @@ -3056,6 +3091,10 @@ if test "$have_motif" = yes -a "$have_xpm" = yes ; then fi fi +if test "$XPM_LIBS" = "" ; then + XPM_LIBS=$(MINIXPM) +fi + ############################################################################### # @@ -3107,8 +3146,15 @@ PTY_LIBS= AC_CHECK_HEADERS(pty.h util.h) AC_CHECK_X_LIB(util, forkpty, [PTY_LIBS="-lutil" + ac_have_forkpty=yes AC_DEFINE(HAVE_FORKPTY)]) +if test "$ac_have_forkpty" != yes ; then + # we don't need (or have) -lutil on MacOS 10.4.2... + AC_CHECK_X_LIB(c, forkpty, + [PTY_LIBS="" + AC_DEFINE(HAVE_FORKPTY)]) +fi ############################################################################### # @@ -3315,8 +3361,8 @@ AC_ARG_WITH(text-file, case "$with_textfile" in /*) # absolute path - AC_MSG_CHECKING([for image directory $with_textfile]) - if test -d "$with_textfile" ; then + AC_MSG_CHECKING([for text file $with_textfile]) + if test -f "$with_textfile" ; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) @@ -3349,7 +3395,7 @@ case "$with_textfile" in ;; *) - echo "error: must be an absolute path: --with-image-directory=$with_textfile_req" + echo "error: must be an absolute path: --with-text-file=$with_textfile_req" exit 1 ;; esac @@ -3358,6 +3404,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") @@ -3575,11 +3660,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) @@ -3607,6 +3694,7 @@ AC_SUBST(GNOME24) AC_SUBST(GNOME22) AC_SUBST(NOGNOME) AC_SUBST(HACKDIR) +AC_SUBST(HACKDIR_FULL) AC_SUBST(GTK_DATADIR) AC_SUBST(PO_DATADIR) AC_SUBST(HACK_CONF_DIR) @@ -4121,6 +4209,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 "Configuration will be installed in ${HACK_CONF_DIR}/" + echo "Hack configurations will be installed in ${HACK_CONF_DIR}/" + echo "Saver configuration will be installed in ${APPDEFAULTS}/" echo '' fi