AC_INIT(driver/subprocs.c)
-echo -n "current directory: "
-pwd
+echo "current directory: `pwd`"
echo "command line was: $0 $@"
AC_CONFIG_HEADER(config.h)
fi
fi
+# canonicalize slashes.
+HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
+
AC_PATH_XTRA
XMU_OBJS=''
SAVER_LIBS="-lXmu $SAVER_LIBS"
HACK_LIBS="-lXmu $HACK_LIBS"
+ TOOLKIT_LIBS="-lXmu $TOOLKIT_LIBS"
AC_DEFINE(HAVE_XMU)
fi
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
#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
ac_save_CPPFLAGS="$CPPFLAGS"
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"
fi
+ # If it's MesaGL, check to see if it requires -lpthread.
+ #
+ have_pthread=no
+ mesa_requires_pthread=false
+ 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)],
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,[
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...
- 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])
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
# 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>
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 <stdlib.h>
#include <unistd.h>
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)
# 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>
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
# 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>
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.
# 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
fi])
if test "$ac_cv_master_passwd" = yes; then
need_setuid=yes
- passwd_cruft_done=yes
+ pwent_cruft_done=yes
fi
fi
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
fi
-
if test \! -z "$includedir" ; then
INCLUDES="-I$includedir"
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)'
+ 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)'
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)
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
eval HACKDIR=${HACKDIR}
eval HACKDIR=${HACKDIR}
-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 (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 (80+ 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