X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=configure.in;h=d2a64ba22c4ea7bd38b1d95ecbb1094877d3783f;hp=8dec22a968321925be7f73dcba674c8e93ab79dc;hb=3210e7e80ee2b5a7d2049a5aaff9f17b9c93dcc9;hpb=cf665b135b41d4f42067f9d9a8111c9602777cc1 diff --git a/configure.in b/configure.in index 8dec22a9..d2a64ba2 100644 --- a/configure.in +++ b/configure.in @@ -3,8 +3,7 @@ AC_INIT(driver/subprocs.c) -echo -n "current directory: " -pwd +echo "current directory: `pwd`" echo "command line was: $0 $@" AC_CONFIG_HEADER(config.h) @@ -1125,7 +1124,7 @@ if test "$with_gl" = yes; then #line __oline__ "configure" #include "confdefs.h" #include -#configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION +configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION EOF ac_save_CPPFLAGS="$CPPFLAGS" @@ -1134,8 +1133,12 @@ EOF fi CPPFLAGS="$CPPFLAGS $X_CFLAGS" + # M4 sucks!! + changequote(X,Y) 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" @@ -1378,6 +1381,8 @@ have_kerberos=no 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,[ @@ -1471,13 +1476,40 @@ if test "$enable_locking" = yes; then 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 ],, + [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... - passwd_cruft_done=no + pwent_cruft_done=no 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]) @@ -1485,7 +1517,7 @@ if test "$enable_locking" = yes; then HANDLE_X_PATH_ARG(with_shadow, --with-shadow, shadow password) if test "$with_shadow" = no; then - passwd_cruft_done=yes + pwent_cruft_done=yes elif test "$with_shadow" != yes; then echo "error: must be yes or no: --with-shadow=$with_shadow" exit 1 @@ -1494,7 +1526,7 @@ if test "$enable_locking" = yes; then # 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 #include @@ -1509,14 +1541,14 @@ if test "$enable_locking" = yes; then if test "$ac_cv_sun_adjunct" = yes; then 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. # - 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 #include @@ -1535,7 +1567,7 @@ if test "$enable_locking" = yes; then 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) @@ -1551,7 +1583,7 @@ if test "$enable_locking" = yes; then # 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 #include @@ -1566,7 +1598,7 @@ if test "$enable_locking" = yes; then if test "$ac_cv_hpux_passwd" = yes; then 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 @@ -1576,7 +1608,7 @@ if test "$enable_locking" = yes; then # 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 #include @@ -1590,7 +1622,7 @@ if test "$enable_locking" = yes; then if test "$ac_cv_shadow" = yes; then 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. @@ -1608,7 +1640,7 @@ 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. # - 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 @@ -1617,7 +1649,7 @@ if test "$enable_locking" = yes; then fi]) if test "$ac_cv_master_passwd" = yes; then need_setuid=yes - passwd_cruft_done=yes + pwent_cruft_done=yes fi fi @@ -1626,7 +1658,7 @@ if test "$enable_locking" = yes; then AC_CHECK_LIB(c, crypt, [have_crypt=yes]) if test "$have_crypt" = no ; then AC_CHECK_LIB(crypt, crypt, - [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"]) + [have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"]) fi @@ -1645,7 +1677,6 @@ if test "$enable_locking" = yes; then fi - if test \! -z "$includedir" ; then INCLUDES="-I$includedir" fi @@ -1677,12 +1708,17 @@ else fi if test "$have_kerberos" = yes; then - PASSWD_SRCS='$(KERBEROS_SRCS)' - PASSWD_OBJS='$(KERBEROS_OBJS)' -else - PASSWD_SRCS='$(PWENT_SRCS)' - PASSWD_OBJS='$(PWENT_OBJS)' + PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)" + PASSWD_OBJS="$PASSWD_OBJS \$(KERBEROS_OBJS)" +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 LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)' @@ -1719,6 +1755,7 @@ AC_SUBST(PASSWD_LIBS) 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) @@ -1920,6 +1957,10 @@ if test "$with_kerberos_req" = yes -a "$have_kerberos" = no ; then warn 'Use of Kerberos was requested, but it was not found.' fi +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