AC_INIT(driver/subprocs.c)
-echo -n "current directory: "
-pwd
+echo "current directory: `pwd`"
echo "command line was: $0 $@"
AC_CONFIG_HEADER(config.h)
--enable-subdir=DIR Put the demo programs in a subdirectory of \`bindir',
instead of putting them in bindir itself. You can
specify the name of the subdirectory. For example,
- --exec-prefix=/usr/local/bin --enable-subdir=demos
+ \`--exec-prefix=/usr/local --enable-subdir=demos'
would put xscreensaver in /usr/local/bin/, and would
put the demos in /usr/local/bin/demos/. (If DIR
begins with /, then bindir will not be prepended.)
fi
fi
+# canonicalize slashes.
+HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'`
+
AC_PATH_XTRA
+if test "$have_x" != yes; then
+ AC_MSG_ERROR(Couldn't find X11 headers/libs. Try \`$0 --help'.)
+fi
+
+
# Try and find the app-defaults directory.
# It sucks that autoconf doesn't do this already...
#
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 the DOUBLE-BUFFER server extension header.
+#
+have_xdbe=no
+with_xdbe_req=unspecified
+AC_ARG_WITH(xdbe-ext,
+[ --with-xdbe-ext Include support for the DOUBLE-BUFFER server
+ extension, if possible (this is the default).
+ --without-xdbe-ext Do not compile in support for this extension.],
+ [with_xdbe="$withval"; with_xdbe_req="$withval"],[with_xdbe=yes])
+
+HANDLE_X_PATH_ARG(with_xdbe, --with-xdbe-ext, DOUBLE-BUFFER)
+
+if test "$with_xdbe" = yes; then
+
+ AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes])
+ if test "$have_xdbe" = yes; then
+ AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION)
+ fi
+
+elif test "$with_xdbe" != no; then
+ echo "error: must be yes or no: --with-xdbe-ext=$with_xshm"
+ exit 1
+fi
+
+
# Check for the SGI-VIDEO-CONTROL server extension header.
#
have_sgivc=no
fi
+# Check for the XF86VMODE server extension header.
+#
+have_xf86vmode=no
+with_xf86vmode_req=unspecified
+AC_ARG_WITH(xf86vmode-ext,
+[ --with-xf86vmode-ext Include support for XFree86 virtual screens, if
+ possible (this is the default).
+ --without-xf86vmode-ext Do not compile in support for this extension.],
+ [with_xf86vmode="$withval"; with_xf86vmode_req="$withval"],
+ [with_xf86vmode=yes])
+
+HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode)
+
+if test "$with_xf86vmode" = yes; then
+
+ # first check for xf86vmode.h
+ AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes])
+
+ # if that succeeded, then check for the -lXxf86vm
+ if test "$have_xf86vmode" = yes; then
+ have_xf86vmode=no
+ AC_CHECK_X_LIB(Xxf86vm, XF86VidModeGetViewPort,
+ [have_xf86vmode=yes; SAVER_LIBS="$SAVER_LIBS -lXxf86vm"], [],
+ -lXext -lX11)
+ fi
+
+ # if that succeeded, then we've really got it.
+ if test "$have_xf86vmode" = yes; then
+ AC_DEFINE(HAVE_XF86VMODE)
+ fi
+
+elif test "$with_xf86vmode" != no; then
+ echo "error: must be yes or no: --with-xf86vmode-ext=$with_xf86vmode"
+ exit 1
+fi
+
+
+# Check for /proc/interrupts
+#
+have_proc_interrupts=no
+with_proc_interrupts_req=unspecified
+AC_ARG_WITH(proc-interrupts,
+[ --with-proc-interrupts Include support for consulting the /proc/interrupts
+ file to notice keyboard activity, if possible.
+ --without-proc-interrupts Do not compile in support for this method.],
+ [with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"],
+ [with_proc_interrupts=yes])
+
+if test "$with_proc_interrupts" = yes; then
+
+ AC_MSG_CHECKING(whether /proc/interrupts contains keyboard data)
+ AC_CACHE_VAL(ac_cv_have_proc_interrupts,
+ [ac_cv_have_proc_interrupts=no
+ if grep keyboard /proc/interrupts >/dev/null 2>&1 ; then
+ ac_cv_have_proc_interrupts=yes
+ fi
+ ])
+ have_proc_interrupts=$ac_cv_have_proc_interrupts
+
+ AC_MSG_RESULT($have_proc_interrupts)
+
+ if test "$have_proc_interrupts" = yes; then
+ AC_DEFINE(HAVE_PROC_INTERRUPTS)
+ fi
+
+elif test "$with_proc_interrupts" != no; then
+ echo "error: must be yes or no: --with-proc-interrupts=$with_proc_interrupts"
+ exit 1
+fi
+
+
# Check for Motif and Athena --with and --without arguments.
#
fi
+if test "$have_motif" = yes ; then
+ mtv=unknown
+ echo unknown > conftest-mt
+ AC_CACHE_CHECK([Motif version number],
+ ac_cv_motif_version_string,
+ [AC_TRY_X_RUN([#include <stdio.h>
+ #include <Xm/Xm.h>
+ int main() {
+ FILE *f = fopen("conftest-mt", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d %d.%d\n", XmVersion,
+ XmVERSION, XmREVISION);
+ fclose(f);
+ exit(0);
+ }],
+ [mtv=`cat conftest-mt`
+ ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
+ ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`],
+ [ac_cv_motif_version=unknown
+ ac_cv_motif_version_string=unknown],
+ [ac_cv_motif_version=unknown
+ ac_cv_motif_version_string=unknown])])
+ rm -f conftest-mt
+ motif_version=$ac_cv_motif_version
+ motif_version_string=$ac_cv_motif_version_string
+
+fi
+
+
+# If this is Motif 2.x, and we have XPM, then link against XPM as well.
+# The deal is, Motif 2.x requires XPM -- but it's a compilation option of
+# the library whether to build the XPM code into libXm, or whether to rely
+# on an external libXm. So the only way to tell whether XPM is a link-time
+# requirement is to examine libXm.a, which is very difficult to do in an
+# autoconf script. So... if it's Motif 2.x, we always link against XPM if
+# the XPM lib exists (and this will be a no-op if libXm happens to already
+# have the XPM code in it.)
+#
+motif_requires_xpm=no
+if test "$have_motif" = yes ; then
+ AC_MSG_CHECKING(whether Motif requires XPM)
+ if test "$motif_version" -ge 2000; then
+ motif_requires_xpm=yes
+ AC_MSG_RESULT(maybe)
+ else
+ AC_MSG_RESULT(no)
+ fi
+fi
+
+
+
# Some versions of Motif (2.1.0, at least) require -lXp, the "X Printing
# Extension". Why this extension isn't in -lXext with all the others,
# I have no idea.
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
exit 1
fi
+# See comment near $motif_requires_xpm, above.
+# Need to do this here, after both Motif and XPM have been checked for.
+#
+if test "$have_motif" = yes -a "$have_xpm" = yes ; then
+ if test "$motif_requires_xpm" = yes ; then
+ TOOLKIT_LIBS="$TOOLKIT_LIBS $XPM_LIBS"
+ fi
+fi
+
# check for the GL header
#
#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=no
+ 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)],
[], $GL_LIBS -lX11 -lXext -lm)
+
+ # Check whether the `xscreensaver' executable should link against GL.
+ # See comments in utils/visual-gl.c for why this is sometimes necessary.
+ #
+ AC_MSG_CHECKING(whether drastic GL measures must be taken)
+ case "$host" in
+ *-sgi*)
+ AC_MSG_RESULT([yes -- hello, SGI.])
+ AC_DEFINE(DAEMON_USE_GL)
+ SAVER_GL_SRCS='$(UTILS_SRC)/visual-gl.c'
+ SAVER_GL_OBJS='$(UTILS_BIN)/visual-gl.o'
+ SAVER_GL_LIBS="$GL_LIBS"
+ ;;
+ *)
+ AC_MSG_RESULT([no -- non-SGI.])
+ SAVER_GL_SRCS=''
+ SAVER_GL_OBJS=''
+ SAVER_GL_LIBS=''
+ ;;
+ esac
+
fi
elif test "$with_gl" != no; then
dir_up=`echo "$dir" | sed 's@/[^/]*$@@'`
changequote([,])
- yow="yow -f $dir_up/etc/yow.lines"
- if $dir/$yow >&- 2>&- ; then
- ac_cv_zippy_program="$dir/$yow"
+ yowlines="$dir_up/etc/yow.lines"
+ if $dir/yow -f $yowlines >&- 2>&- ; then
+ ac_cv_zippy_program="$dir/yow -f $yowlines"
AC_MSG_RESULT($ac_cv_zippy_program)
else
- AC_MSG_RESULT(no)
+ #
+ # In newer XEmacs releases, yow.lines is in a different place,
+ # and the easiest way to get it is by calling the new function
+ # `locate-data-file'.
+ #
+ yowlines=`$xemacs_exe $eargs \
+ '(princ (concat (locate-data-file "yow.lines") "\n"))' \
+ 2>/dev/null | tail -1`
+ if $dir/yow -f $yowlines >&- 2>&- ; then
+ ac_cv_zippy_program="$dir/yow -f $yowlines"
+ AC_MSG_RESULT($ac_cv_zippy_program)
+ else
+ AC_MSG_RESULT(no)
+ fi
fi
fi
fi
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,[
ac_vt_lockswitch=$ac_cv_vt_lockswitch
AC_MSG_RESULT($ac_vt_lockswitch)
-elif test "$enable_locking" = no; then
+elif test "$enable_vt_locking" = no; then
true
else
echo "error: must be yes or no: --enable-vt-locking=$enable_vt_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=yes])
+
+ 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"
+
+
+ AC_MSG_CHECKING(how to call pam_strerror)
+ AC_CACHE_VAL(ac_cv_pam_strerror_args,
+ [AC_TRY_COMPILE([#include <stdio.h>
+ #include <stdlib.h>
+ #include <security/pam_appl.h>],
+ [pam_handle_t *pamh = 0;
+ char *s = pam_strerror(pamh, PAM_SUCCESS);],
+ [ac_pam_strerror_args=2],
+ [AC_TRY_COMPILE([#include <stdio.h>
+ #include <stdlib.h>
+ #include <security/pam_appl.h>],
+ [char *s =
+ pam_strerror(PAM_SUCCESS);],
+ [ac_pam_strerror_args=1],
+ [ac_pam_strerror_args=0])])
+ ac_cv_pam_strerror_args=$ac_pam_strerror_args])
+ ac_pam_strerror_args=$ac_cv_pam_strerror_args
+ if test "$ac_pam_strerror_args" = 1 ; then
+ AC_MSG_RESULT(one argument)
+ elif test "$ac_pam_strerror_args" = 2 ; then
+ AC_DEFINE(PAM_STRERROR_TWO_ARGS)
+ AC_MSG_RESULT(two arguments)
+ else
+ AC_MSG_RESULT(unknown)
+ fi
+ 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
+# for the "sonar" hack -- check how to ping.
+#
+AC_MSG_CHECKING(for struct icmp)
+AC_CACHE_VAL(ac_cv_have_icmp,
+ [AC_TRY_COMPILE([#include <stdlib.h>
+ #include <stdio.h>
+ #include <math.h>
+ #include <unistd.h>
+ #include <limits.h>
+ #include <signal.h>
+ #include <fcntl.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ #include <sys/socket.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
+ #include <netinet/ip.h>
+ #include <netinet/ip_icmp.h>
+ #include <netinet/udp.h>
+ #include <arpa/inet.h>
+ #include <netdb.h>],
+ [struct icmp i;
+ struct sockaddr s;
+ struct sockaddr_in si;
+ struct ip ip;
+ i.icmp_type = ICMP_ECHO;
+ i.icmp_code = 0;
+ i.icmp_cksum = 0;
+ i.icmp_id = 0;
+ i.icmp_seq = 0;
+ si.sin_family = AF_INET;
+ ip.ip_hl = 0;],
+ [ac_cv_have_icmp=yes],
+ [ac_cv_have_icmp=no])])
+ac_have_icmp=$ac_cv_have_icmp
+AC_MSG_RESULT($ac_cv_have_icmp)
+
+AC_MSG_CHECKING(for struct icmphdr)
+AC_CACHE_VAL(ac_cv_have_icmphdr,
+ [AC_TRY_COMPILE([#include <stdlib.h>
+ #include <stdio.h>
+ #include <math.h>
+ #include <unistd.h>
+ #include <limits.h>
+ #include <signal.h>
+ #include <fcntl.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ #include <sys/socket.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
+ #include <netinet/ip.h>
+ #include <netinet/ip_icmp.h>
+ #include <netinet/udp.h>
+ #include <arpa/inet.h>
+ #include <netdb.h>],
+ [struct icmphdr i;
+ struct sockaddr s;
+ struct sockaddr_in si;
+ struct ip ip;
+ i.type = ICMP_ECHO;
+ i.code = 0;
+ i.cksum = 0;
+ i.un.echo.id = 0;
+ i.un.echo.sequence = 0;
+ si.sin_family = AF_INET;
+ ip.ip_hl = 0;],
+ [ac_cv_have_icmphdr=yes],
+ [ac_cv_have_icmphdr=no])])
+ac_have_icmphdr=$ac_cv_have_icmphdr
+AC_MSG_RESULT($ac_cv_have_icmphdr)
+
+if test "$ac_have_icmp" = yes ; then
+ AC_DEFINE(HAVE_ICMP)
+fi
+if test "$ac_have_icmphdr" = yes ; then
+ AC_DEFINE(HAVE_ICMPHDR)
+fi
+
+
+
+########################## end of tests.
+
if test \! -z "$includedir" ; then
INCLUDES="-I$includedir"
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)'
tab=' '
if test "$have_gl" = yes; then
GL_EXES='$(GL_EXES)'
- GL_KLUDGE=${tab}
+ GL_MEN='$(GL_MEN)'
+ GL_KLUDGE="${tab} "
else
- GL_KLUDGE=' -'${tab}
+ GL_KLUDGE=" -${tab} "
fi
AC_SUBST(INCLUDES)
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)
AC_SUBST(PASSWD_OBJS)
AC_SUBST(XMU_SRCS)
AC_SUBST(XMU_OBJS)
+AC_SUBST(SAVER_GL_SRCS)
+AC_SUBST(SAVER_GL_OBJS)
+AC_SUBST(SAVER_GL_LIBS)
AC_SUBST(LOCK_SRCS)
AC_SUBST(LOCK_OBJS)
AC_SUBST(GL_EXES)
+AC_SUBST(GL_MEN)
AC_SUBST(GL_KLUDGE)
AC_SUBST(HACKDIR)
AC_SUBST(APPDEFAULTS)
warn 'The XSHM extension was requested, but was not found.'
fi
+if test "$with_xdbe_req" = yes -a "$have_xdbe" = no ; then
+ warn 'The DOUBLE-BUFFER extension was requested, but was not found.'
+fi
+
if test "$with_sgivc_req" = yes -a "$have_sgivc" = no ; then
warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.'
fi
warn 'The DPMS extension was requested, but was not found.'
fi
+if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then
+ warn 'The XF86VMODE extension was requested, but was not found.'
+fi
+
if test "$have_motif" = no -a "$have_athena" = no ; then
warnL "Neither Motif nor Athena widgets seem to be available;"
warn2 "the \`xscreensaver-demo' program requires one or the"
if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
- preferred_mesagl=2.7
+ preferred_mesagl=3.0
if test "$ac_mesagl_version" = unknown; then
warnL "Unable to determine the MesaGL version number!"
warn2 're-running configure. (Remember to delete the'
warn2 "config.cache file first.) If your vendor doesn't ship"
warn2 'their own implementation of OpenGL, you can get a free'
- warn2 'version at <http://www.ssec.wisc.edu/~brianp/Mesa.html>.'
- warn2 'For general OpenGL info, see <http://www.opengl.org/>.'
+ warn2 'version at <http://www.mesa3d.org/>. For general OpenGL'
+ warn2 'info, see <http://www.opengl.org/>.'
fi
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'`
+
+
+# Sanity check the subdir
+for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do
+ if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then
+ echo ""
+ AC_MSG_ERROR([\"--enable-subdir=${bindir}/${bad_choice}\" won't work.
+ There will be an executable installed with that name, so
+ that can't be the name of a directory as well. Please
+ re-configure with a different directory name.])
+ fi
+done
+
+
+do_dir_warning=no
+
+# Now let's see if there's a previous RPM version already installed. Blargh!
+
+# M4 sucks!!
+changequote(X,Y)
+rpmv=`(rpm -qv xscreensaver) 2>&- | \
+ sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-[0-9][0-9]*$/\1/'`
+changequote([,])
+
+if test \! -z "$rpmv" ; then
+ rpmbdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/xscreensaver-demo$@\1@p'`
+ rpmhdir=`rpm -ql xscreensaver | sed -n 's@^\(.*\)/attraction$@\1@p'`
+
+ warning=no
+ warnL "There is already an installed RPM of xscreensaver $rpmv"
+ warn2 "on this system. You might want to remove it (with"
+ warn2 '"rpm -ve xscreensaver") before running "make install"'
+ warn2 "from this directory."
+ echo ""
+ warn2 "Alternately, you could build this version of xscreensaver"
+ warn2 'as an RPM, and then install that. An "xscreensaver.spec"'
+ warn2 "file is included. See the RPM documentation for more info."
+ echo ""
+
+ if test "$rpmbdir" = "$rpmhdir" ; then
+ warn2 "The RPM version was installed in $rpmbdir."
+ else
+ warn2 "The RPM version was installed in $rpmbdir,"
+ warn2 "with demos in $rpmhdir."
+ fi
+
+ do_dir_warning=yes
+fi
+
+
+if test "${bindir}" = "${HACKDIR}" ; then
+ do_dir_warning=yes
+fi
+
+if test "$do_dir_warning" = yes; 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 (90+ 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