#
AC_INIT(driver/subprocs.c)
+
+echo "current directory: `pwd`"
+echo "command line was: $0 $@"
+
AC_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.))
case "$host" in
- *-irix*)
+ *-irix5* |*-irix6.[0-3]* )
if test -n "$GCC"; then
AC_MSG_RESULT(Turning on gcc compiler warnings.)
CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format"
[ac_gettimeofday_args=0])])
ac_cv_gettimeofday_args=$ac_gettimeofday_args])
ac_gettimeofday_args=$ac_cv_gettimeofday_args
-if test $ac_gettimeofday_args = 1 ; then
+if test "$ac_gettimeofday_args" = 1 ; then
AC_DEFINE(HAVE_GETTIMEOFDAY)
AC_MSG_RESULT(one argument)
-elif test $ac_gettimeofday_args = 2 ; then
+elif test "$ac_gettimeofday_args" = 2 ; then
AC_DEFINE(HAVE_GETTIMEOFDAY)
AC_DEFINE(GETTIMEOFDAY_TWO_ARGS)
AC_MSG_RESULT(two arguments)
AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv)
-AC_CHECK_FUNCS(sigaction)
+AC_CHECK_FUNCS(sigaction syslog)
-AC_CHECK_HEADERS(unistd.h)
+AC_CHECK_HEADERS(unistd.h crypt.h sys/select.h)
dnl /usr/local/src/ssh-1.2.17/putenv.c -- AC_REPLACE_FUNCS(putenv)
--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...
#
AC_DEFUN(AC_CHECK_X_LIB, [
ac_save_CPPFLAGS="$CPPFLAGS"
ac_save_LDFLAGS="$LDFLAGS"
+
if test \! -z "$includedir" ; then
CPPFLAGS="$CPPFLAGS -I$includedir"
fi
- if test \! -z "$includedir" ; then
- CPPFLAGS="$CPPFLAGS -I$includedir"
- fi
+ # note: $X_CFLAGS includes $x_includes
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+
if test \! -z "$libdir" ; then
LDFLAGS="$LDFLAGS -L$libdir"
fi
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- if test \! -z "$x_libraries" ; then
- LDFLAGS="$LDFLAGS -L$x_libraries"
- fi
+ # note: $X_LIBS includes $x_libraries
+ LDFLAGS="$LDFLAGS $X_LIBS"
+
AC_CHECK_LIB([$1], [$2], [$3], [$4], [$5])
CPPFLAGS="$ac_save_CPPFLAGS"
LDFLAGS="$ac_save_LDFLAGS"])
[XPointer foo = (XPointer) 0;],
[ac_cv_xpointer=yes],
[ac_cv_xpointer=no])])
-if test $ac_cv_xpointer != yes; then
+if test "$ac_cv_xpointer" != yes; then
AC_DEFINE(XPointer,[char*])
fi
#
have_xmu=no
AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes])
-if test $have_xmu = no ; then
+if test "$have_xmu" = no ; then
XMU_SRCS='$(UTILS_SRC)/xmu.c'
XMU_OBJS='$(UTILS_BIN)/xmu.o'
else
XMU_OBJS=''
SAVER_LIBS="-lXmu $SAVER_LIBS"
HACK_LIBS="-lXmu $HACK_LIBS"
+ TOOLKIT_LIBS="-lXmu $TOOLKIT_LIBS"
AC_DEFINE(HAVE_XMU)
fi
# See comp.windows.x FAQ question 124 about _get_wmShellWidgetClass on 4.1.x.
# The right fix is to get OpenWindows 3.0 patches 100512-02 and 100573-03.
#
-if test $have_xmu = yes ; then
+if test "$have_xmu" = yes ; then
case "$host" in
*-sunos4*)
AC_CACHE_CHECK([for the SunOS 4.1.x _get_wmShellWidgetClass bug],
[ac_cv_sunos_xmu_bug=no],
[ac_cv_sunos_xmu_bug=yes])
LDFLAGS="$ac_save_LDFLAGS"])
- if test $ac_cv_sunos_xmu_bug = yes ; then
+ if test "$ac_cv_sunos_xmu_bug" = yes ; then
AC_CACHE_CHECK([whether the compiler understands -static],
ac_cv_ld_static,
[ac_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -static"
AC_TRY_LINK(,,[ac_cv_ld_static=yes],[ac_cv_ld_static=no])
LDFLAGS="$ac_save_LDFLAGS"])
- if test $ac_cv_ld_static = yes ; then
+ if test "$ac_cv_ld_static" = yes ; then
LDFLAGS="$LDFLAGS -static"
else
LDFLAGS="$LDFLAGS -Bstatic"
HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
-if test $with_sgi = yes; then
+if test "$with_sgi" = yes; then
AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
[have_sgi=yes
AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)])
-elif test $with_sgi != no; then
+elif test "$with_sgi" != no; then
echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
exit 1
fi
HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
-if test $have_sgi != yes; then
- if test $with_mit = yes; then
+if test "$have_sgi" != yes; then
+ if test "$with_mit" = yes; then
AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes])
# Now check to see if it's really in the library; XF86Free-3.3 ships
# scrnsaver.h, but doesn't include the code in libXext.a, the idiots!
#
- if test $have_mit = yes; then
+ if test "$have_mit" = yes; then
AC_CHECK_X_LIB(Xext, XScreenSaverRegister, [], [have_mit=no], -lm)
- if test $have_mit = no; then
+ if test "$have_mit" = no; then
# Fuck! Looks like XF86Free-3.3 actually puts it in XExExt instead
# of in Xext. Thank you master, may I have another.
AC_CHECK_X_LIB(XExExt, XScreenSaverRegister,
[], -lX11 -lXext -lm)
fi
- if test $have_mit = no; then
+ if test "$have_mit" = no; then
# Double fuck! Looks like some versions of XFree86 (whichever version
# it is that comes with RedHat Linux 2.0 -- I can't find a version
# number) put this garbage in Xss instead of Xext. Thank you master,
[], -lX11 -lXext -lm)
fi
- if test $have_mit = yes; then
+ if test "$have_mit" = yes; then
AC_DEFINE(HAVE_MIT_SAVER_EXTENSION)
fi
fi
- elif test $with_mit != no; then
+ elif test "$with_mit" != no; then
echo "error: must be yes or no: --with-mit-ext=$with_mit"
exit 1
fi
HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
-if test $with_xidle = yes; then
+if test "$with_xidle" = yes; then
AC_CHECK_X_HEADER(X11/extensions/xidle.h,
[have_xidle=yes
AC_DEFINE(HAVE_XIDLE_EXTENSION)])
-elif test $with_xidle != no; then
+elif test "$with_xidle" != no; then
echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
exit 1
fi
HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
-if test $with_xshm = yes; then
+if test "$with_xshm" = yes; then
# first check for Xshm.h.
AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes])
# if that succeeded, then check for sys/ipc.h.
- if test $have_xshm = yes; then
+ if test "$have_xshm" = yes; then
have_xshm=no
AC_CHECK_X_HEADER(sys/ipc.h, [have_xshm=yes])
fi
# if that succeeded, then check for sys/shm.h.
- if test $have_xshm = yes; then
+ if test "$have_xshm" = yes; then
have_xshm=no
AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes])
fi
esac
# if that succeeded, then we've really got it.
- if test $have_xshm = yes; then
+ if test "$have_xshm" = yes; then
AC_DEFINE(HAVE_XSHM_EXTENSION)
fi
-elif test $with_xshm != no; then
+elif test "$with_xshm" != no; then
echo "error: must be yes or no: --with-xshm-ext=$with_xshm"
exit 1
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
HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
-if test $with_sgivc = yes; then
+if test "$with_sgivc" = yes; then
# first check for XSGIvc.h
AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes])
# if that succeeded, then check for the -lXsgivc
- if test $have_sgivc = yes; then
+ if test "$have_sgivc" = yes; then
have_sgivc=no
AC_CHECK_X_LIB(Xsgivc, XSGIvcQueryGammaMap,
[have_sgivc=yes; SAVER_LIBS="$SAVER_LIBS -lXsgivc"], [],
fi
# if that succeeded, then we've really got it.
- if test $have_sgivc = yes; then
+ if test "$have_sgivc" = yes; then
AC_DEFINE(HAVE_SGI_VC_EXTENSION)
fi
-elif test $with_sgivc != no; then
+elif test "$with_sgivc" != no; then
echo "error: must be yes or no: --with-sgivc-ext=$with_sgivc"
exit 1
fi
HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS)
-if test $with_dpms = yes; then
+if test "$with_dpms" = yes; then
# first check for dpms.h
AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes])
# if that succeeded, then check for the -lXdpms
- if test $have_dpms = yes; then
+ if test "$have_dpms" = yes; then
have_dpms=no
AC_CHECK_X_LIB(Xdpms, DPMSInfo,
[have_dpms=yes; SAVER_LIBS="$SAVER_LIBS -lXdpms"], [],
fi
# if that succeeded, then we've really got it.
- if test $have_dpms = yes; then
+ if test "$have_dpms" = yes; then
AC_DEFINE(HAVE_DPMS_EXTENSION)
fi
-elif test $with_dpms != no; then
+elif test "$with_dpms" != no; then
echo "error: must be yes or no: --with-dpms-ext=$with_dpms"
exit 1
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.
#
HANDLE_X_PATH_ARG(with_athena, --with-athena, Athena)
-if test $with_motif != yes -a $with_motif != no ; then
+if test "$with_motif" != yes -a "$with_motif" != no ; then
echo "error: must be yes or no: --with-motif=$with_motif"
exit 1
fi
-if test $with_athena != yes -a $with_athena != no ; then
+if test "$with_athena" != yes -a "$with_athena" != no ; then
echo "error: must be yes or no: --with-athena=$with_athena"
exit 1
fi
# Saying --without-motif is the same as saying --with-athena.
-if test $with_motif_req = no ; then
+if test "$with_motif_req" = no ; then
with_athena_req=yes
with_athena=yes
fi
# Saying --without-athena is the same as saying --with-motif.
-if test $with_athena_req = no ; then
+if test "$with_athena_req" = no ; then
with_motif_req=yes
with_motif=yes
fi
AC_CHECK_X_HEADER(Xm/Xm.h,
[have_motif=yes
AC_DEFINE(HAVE_MOTIF)
- SAVER_LIBS="-lXm $SAVER_LIBS"])
+ TOOLKIT_LIBS="-lXm $TOOLKIT_LIBS"])
}
check_athena() {
have_athena=no
have_athena3d=no
AC_CHECK_X_HEADER(X11/Xaw/Dialog.h, [have_athena=yes])
- AC_CHECK_X_LIB(Xaw3d, Xaw3dComputeTopShadowRGB,
- [have_athena=yes; have_athena3d=yes], [],
- -lXt -lXmu -lXext -lX11)
-
- if test $have_athena3d = yes; then
- SAVER_LIBS="-lXaw3d $SAVER_LIBS"
- elif test $have_athena = yes; then
- SAVER_LIBS="-lXaw $SAVER_LIBS"
+ if test "$have_athena" = yes; then
+ AC_CHECK_X_LIB(Xaw3d, Xaw3dComputeTopShadowRGB,
+ [have_athena=yes; have_athena3d=yes], [],
+ -lXt -lXmu -lXext -lX11)
+ fi
+
+ if test "$have_athena3d" = yes; then
+ TOOLKIT_LIBS="-lXaw3d $TOOLKIT_LIBS"
+ elif test "$have_athena" = yes; then
+ TOOLKIT_LIBS="-lXaw $TOOLKIT_LIBS"
fi
}
# If they asked for neither, check motif then athena.
proselytize_motif=yes
-if test $with_motif = yes; then
+if test "$with_motif" = yes; then
# asked for both, or for motif only
check_motif
- if test $have_motif = yes; then
+ if test "$have_motif" = yes; then
with_athena=no
with_athena_req=no
else
check_athena
fi
-elif test $with_athena = yes; then
+elif test "$with_athena" = yes; then
# asked for athena only
check_athena
- if test $have_athena = yes; then
+ if test "$have_athena" = yes; then
with_motif=no
proselytize_motif=no
else
else
# asked for neither
check_motif
- if test $have_motif = yes; then
+ if test "$have_motif" = yes; then
with_athena=no
else
check_athena
fi
-if test $have_motif = yes; then
+if test "$have_motif" = yes; then
proselytize_motif=no
fi
# If we have Athena, check whether it's a version that includes
# XawViewportSetCoordinates in Viewport.h (R3 (or R4?) don't.)
-if test $have_athena = yes ; then
+if test "$have_athena" = yes ; then
AC_CACHE_CHECK([for XawViewportSetCoordinates in Viewport.h],
ac_cv_have_XawViewportSetCoordinates,
[ac_cv_have_XawViewportSetCoordinates=no
AC_EGREP_X_HEADER(XawViewportSetCoordinates,
X11/Xaw/Viewport.h,
ac_cv_have_XawViewportSetCoordinates=yes)])
- if test $ac_cv_have_XawViewportSetCoordinates = yes ; then
+ if test "$ac_cv_have_XawViewportSetCoordinates" = yes ; then
AC_DEFINE(HAVE_XawViewportSetCoordinates)
fi
fi
# If we have Motif, check whether it's really LessTif.
#
have_lesstif=no
-if test $have_motif = yes ; then
+if test "$have_motif" = yes ; then
AC_CACHE_CHECK([whether Motif is really LessTif],
ac_cv_have_lesstif,
[AC_TRY_X_COMPILE([#include <Xm/Xm.h>],
lesstif_version=unknown
lesstif_version_string=unknown
-if test $have_lesstif = yes ; then
+if test "$have_lesstif" = yes ; then
ltv=unknown
echo unknown > conftest-lt
AC_CACHE_CHECK([LessTif version number],
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.
#
have_xp_ext=no
-if test $have_motif = yes ; then
+if test "$have_motif" = yes ; then
have_xp_ext=no
AC_CHECK_X_LIB(Xp, XpQueryExtension,
- [have_xp_ext=yes; SAVER_LIBS="$SAVER_LIBS -lXp"],
+ [have_xp_ext=yes; TOOLKIT_LIBS="$TOOLKIT_LIBS -lXp"],
[], -lX11 -lXext -lm)
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
HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
-if test $with_xpm = yes; then
+if test "$with_xpm" = yes; then
AC_CHECK_X_HEADER(X11/xpm.h,
[have_xpm=yes
AC_DEFINE(HAVE_XPM)
XPM_LIBS="-lXpm"])
-elif test $with_xpm != no; then
+elif test "$with_xpm" != no; then
echo "error: must be yes or no: --with-xpm=$with_xpm"
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
#
have_gl=no
+ac_have_mesa_gl=no
with_gl_req=unspecified
AC_ARG_WITH(gl,
[ --with-gl Build those demos which depend on OpenGL,
ac_mesagl_version=unknown
ac_mesagl_version_string=unknown
-if test $with_gl = yes; then
+if test "$with_gl" = yes; then
AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
- if test $have_gl = yes ; then
+ if test "$have_gl" = yes ; then
AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no)
fi
# If we have the headers, try and figure out which vendor it's from.
#
- if test $have_gl = yes ; then
+ if test "$have_gl" = yes ; then
AC_DEFINE(HAVE_GL)
ac_have_mesa_gl=$ac_cv_have_mesa_gl
AC_MSG_RESULT($ac_have_mesa_gl)
- if test $ac_have_mesa_gl = no ; then
+ if test "$ac_have_mesa_gl" = no ; then
gl_lib_1="GL"
GL_LIBS="-lGL -lGLU"
else
# If it's MesaGL, we'd like to issue a warning if the version number
# is less than or equal to 2.6, because that version had a security bug.
#
- if test $ac_have_mesa_gl = yes; then
+ if test "$ac_have_mesa_gl" = yes; then
# don't cache these.
unset ac_cv_mesagl_version
#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"
+ if test \! -z "$includedir" ; then
+ CPPFLAGS="$CPPFLAGS -I$includedir"
+ 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"
+
if test "$mglv" = ""; then
ac_mesagl_version=unknown
ac_mesagl_version_string=unknown
maj=`echo $mglv | sed -n 's/\..*//p'`
min=`echo $mglv | sed -n 's/.*\.//p'`
ac_mesagl_version=`echo "$maj * 1000 + $min" | bc`
+ if test -z "$ac_mesagl_version"; then
+ ac_mesagl_version=unknown
+ ac_mesagl_version_string=unknown
+ fi
fi
ac_cv_mesagl_version=$ac_mesagl_version
ac_cv_mesagl_version_string=$ac_mesagl_version_string
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
+elif test "$with_gl" != no; then
echo "error: must be yes or no: --with-gl=$with_gl"
exit 1
fi
HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay)
-if test $with_readdisplay = yes; then
+if test "$with_readdisplay" = yes; then
AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION))
-elif test $with_readdisplay != no; then
+elif test "$with_readdisplay" != no; then
echo "error: must be yes or no: --with-readdisplay=$with_readdisplay"
exit 1
fi
HANDLE_X_PATH_ARG(with_sgivideo, --with-sgivideo, Iris Video)
-if test $with_sgivideo = yes; then
+if test "$with_sgivideo" = yes; then
AC_CHECK_X_HEADER(dmedia/vl.h, have_sgivideo=yes)
- if test $have_sgivideo = yes; then
+ if test "$have_sgivideo" = yes; then
have_sgivideo=no
AC_CHECK_LIB(vl, vlOpenVideo, have_sgivideo=yes)
- if test $have_sgivideo = yes; then
+ if test "$have_sgivideo" = yes; then
SGI_VIDEO_OBJS="$(UTILS_BIN)/sgivideo.o"
SGI_VIDEO_LIBS="-lvl"
AC_DEFINE(HAVE_SGI_VIDEO)
fi
fi
-elif test $with_sgivideo != no; then
+elif test "$with_sgivideo" != no; then
echo "error: must be yes or no: --with-sgivideo=$with_sgivideo"
exit 1
fi
#
# try running libexec/yow and see if it exits without error.
#
- if test x"$dir" != x -a -x $dir/yow ; then
+ if test x"$dir" != x -a -x "$dir/yow" ; then
if $dir/yow >&- 2>&- ; then
ac_cv_zippy_program="$dir/yow"
AC_MSG_RESULT($ac_cv_zippy_program)
#
# try running libexec/yow and see if it exits without error.
#
- if test x"$dir" != x -a -x $dir/yow ; then
+ if test x"$dir" != x -a -x "$dir/yow" ; then
if $dir/yow >&- 2>&- ; then
ac_cv_zippy_program="$dir/yow"
AC_MSG_RESULT($ac_cv_zippy_program)
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
# Allow locking to be disabled at compile-time.
#
-have_locking=yes
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,[
(this is the default.)
--disable-locking Do not allow locking at all.],
[enable_locking="$enableval"],[enable_locking=yes])
-if test $enable_locking = yes; then
+if test "$enable_locking" = yes; then
+ true
+elif test "$enable_locking" = no; then
+ AC_DEFINE(NO_LOCKING)
+else
+ echo "error: must be yes or no: --enable-locking=$enable_locking"
+ exit 1
+fi
+
+
+
+# Check to see if we can lock Virtual-Terminal switching, but allow that
+# to be disabled at compile-time.
+#
+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_MSG_CHECKING(for the VT_LOCKSWITCH ioctl)
+ AC_CACHE_VAL(ac_cv_vt_lockswitch,
+ [AC_TRY_COMPILE([#include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <sys/vt.h>],
+ [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
+ AC_MSG_RESULT($ac_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
+
+
+
+if test "$enable_locking" = yes; then
# Check for Kerberos.
#
HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
- if test $with_kerberos = yes; then
+ if test "$with_kerberos" = yes; then
AC_CACHE_CHECK([for Kerberos], ac_cv_kerberos,
[AC_TRY_X_COMPILE([#include <krb.h>],,
[ac_cv_kerberos=yes],
[ac_cv_kerberos=no])])
- if test $ac_cv_kerberos = yes ; then
+ if test "$ac_cv_kerberos" = yes ; then
have_kerberos=yes
AC_DEFINE(HAVE_KERBEROS)
))
fi
- elif test $with_kerberos != no; then
+ elif test "$with_kerberos" != no; 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=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
- elif test $with_shadow != yes; then
+ if test "$with_shadow" = no; then
+ pwent_cruft_done=yes
+ elif test "$with_shadow" != yes; then
echo "error: must be yes or no: --with-shadow=$with_shadow"
exit 1
fi
# 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>
const char *pw = p->pwa_passwd;],
[ac_cv_sun_adjunct=yes],
[ac_cv_sun_adjunct=no])])
- if test $ac_cv_sun_adjunct = 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 <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>
const char *pw = p->pw_passwd;],
[ac_cv_hpux_passwd=yes],
[ac_cv_hpux_passwd=no])])
- if test $ac_cv_hpux_passwd = 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
# 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>
const char *pw = p->sp_pwdp;],
[ac_cv_shadow=yes],
[ac_cv_shadow=no])])
- if test $ac_cv_shadow = 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.
have_getspnam=no
AC_CHECK_LIB(c, getspnam, [have_getspnam=yes])
- if test $have_getspnam = no ; then
+ if test "$have_getspnam" = no ; then
AC_CHECK_LIB(gen, getspnam,
[have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"])
fi
# 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
else
ac_cv_master_passwd=no
fi])
- if test $ac_cv_master_passwd = yes; then
+ if test "$ac_cv_master_passwd" = yes; then
need_setuid=yes
- passwd_cruft_done=yes
+ pwent_cruft_done=yes
fi
fi
# On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
have_crypt=no
AC_CHECK_LIB(c, crypt, [have_crypt=yes])
- if test $have_crypt = no ; then
+ 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
# if they were found. But, on some systems, we need setuid even when
# using plain old vanilla passwords.
#
- if test $need_setuid = no ; then
+ if test "$need_setuid" = no ; then
case "$host" in
*-hpux* | *-aix* | *-netbsd* | *-freebsd* | *-openbsd* )
need_setuid=yes
esac
fi
-elif test $enable_locking = no; then
- AC_DEFINE(NO_LOCKING)
-else
- echo "error: must be yes or no: --enable-locking=$enable_locking"
- exit 1
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"
# Done testing things -- now substitute in some stuff for the Makefiles.
#
-if test $have_motif = yes; then
+if test "$have_motif" = yes; then
AC_DEFINE(HAVE_MOTIF)
- DIALOG_SRCS='$(MOTIF_SRCS)'
- DIALOG_OBJS='$(MOTIF_OBJS)'
-elif test $have_athena = yes; then
+ TOOLKIT_SRCS='$(MOTIF_SRCS)'
+ TOOLKIT_OBJS='$(MOTIF_OBJS)'
+elif test "$have_athena" = yes; then
AC_DEFINE(HAVE_ATHENA)
- DIALOG_SRCS='$(ATHENA_SRCS)'
- DIALOG_OBJS='$(ATHENA_OBJS)'
+ TOOLKIT_SRCS='$(ATHENA_SRCS)'
+ TOOLKIT_OBJS='$(ATHENA_OBJS)'
else
- DIALOG_SRCS=''
- DIALOG_OBJS=''
+ TOOLKIT_SRCS=''
+ TOOLKIT_OBJS=''
fi
-if test $have_kerberos = yes; then
- PASSWD_SRCS='$(KERBEROS_SRCS)'
- PASSWD_OBJS='$(KERBEROS_OBJS)'
-else
- PASSWD_SRCS='$(PWENT_SRCS)'
- PASSWD_OBJS='$(PWENT_OBJS)'
+if test "$have_kerberos" = yes; then
+ 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
+if test "$enable_locking" = yes; then
LOCK_SRCS='$(LOCK_SRCS_1) $(PASSWD_SRCS)'
LOCK_OBJS='$(LOCK_OBJS_1) $(PASSWD_OBJS)'
else
LOCK_OBJS=''
fi
-if test $need_setuid = yes; then
+if test "$need_setuid" = yes; then
NEED_SETUID=yes
INSTALL_SETUID='$(INSTALL) $(SUID_FLAGS)'
else
fi
tab=' '
-if test $have_gl = yes; then
+if test "$have_gl" = yes; then
GL_EXES='$(GL_EXES)'
- GL_KLUDGE_1=${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}' \'
- GL_KLUDGE_2=${tab}
+ GL_MEN='$(GL_MEN)'
+ GL_KLUDGE="${tab} "
else
- GL_KLUDGE_1=${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}${tab}'\n'
- GL_KLUDGE_2='!'${tab}
+ GL_KLUDGE=" -${tab} "
fi
AC_SUBST(INCLUDES)
AC_SUBST(SAVER_LIBS)
+AC_SUBST(TOOLKIT_LIBS)
AC_SUBST(HACK_LIBS)
AC_SUBST(XPM_LIBS)
AC_SUBST(GL_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)
-AC_SUBST(DIALOG_SRCS)
-AC_SUBST(DIALOG_OBJS)
+AC_SUBST(TOOLKIT_SRCS)
+AC_SUBST(TOOLKIT_OBJS)
AC_SUBST(PASSWD_SRCS)
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_KLUDGE_1)
-AC_SUBST(GL_KLUDGE_2)
+AC_SUBST(GL_MEN)
+AC_SUBST(GL_KLUDGE)
AC_SUBST(HACKDIR)
AC_SUBST(APPDEFAULTS)
warnsep=' #################################################################'
warnpre() {
- if test $warning = no ; then
+ if test "$warning" = no ; then
echo '' ; echo "$warnsep" ; echo ''
warning=yes
fi
warn() {
warnpre
- if test $warning = long ; then echo '' ; fi
+ if test "$warning" = long ; then echo '' ; fi
warning=yes
echo "$warn_prefix $@"
}
was=$warning
warnpre
warning=yes
- if test $was != no ; then echo '' ; fi
+ if test "$was" != no ; then echo '' ; fi
echo "$warn_prefix $@"
}
}
-if test $with_sgi_req = yes -a $have_sgi = no ; then
+if test "$with_sgi_req" = yes -a "$have_sgi" = no ; then
warn 'The SGI saver extension was requested, but was not found.'
fi
-if test $with_mit_req = yes -a $have_mit = no ; then
+if test "$with_mit_req" = yes -a "$have_mit" = no ; then
warn 'The MIT saver extension was requested, but was not found.'
fi
-if test $with_xidle_req = yes -a $have_xidle = no ; then
+if test "$with_xidle_req" = yes -a "$have_xidle" = no ; then
warn 'The XIdle extension was requested, but was not found.'
fi
-if test $with_xshm_req = yes -a $have_xshm = no ; then
+if test "$with_xshm_req" = yes -a "$have_xshm" = no ; then
warn 'The XSHM extension was requested, but was not found.'
fi
-if test $with_sgivc_req = yes -a $have_sgivc = no ; then
+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
-if test $with_dpms_req = yes -a $have_dpms = no ; then
+if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then
warn 'The DPMS extension was requested, but was not found.'
fi
-if test $have_motif = no -a $have_athena = no ; then
+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 "one or the other is required."
+ warn2 "the \`xscreensaver-demo' program requires one or the"
+ warn2 "other."
proselytize_motif=no
-elif test $with_motif_req = yes -a $have_motif = no ; then
+elif test "$with_motif_req" = yes -a "$have_motif" = no ; then
warnL "Use of Motif was requested, but it wasn't found;"
warn2 "Athena will be used instead."
-elif test $with_athena_req = yes -a $have_athena = no ; then
+elif test "$with_athena_req" = yes -a "$have_athena" = no ; then
warnL "Use of Athena was requested, but it wasn't found;"
warn2 "Motif will be used instead."
fi
-if test $have_motif = yes -a $have_lesstif = yes ; then
+if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
- preferred_lesstif=0.87
+ preferred_lesstif=0.86
- if test $lesstif_version = unknown; then
+ if test "$lesstif_version" = unknown; then
warnL "Unable to determine the LessTif version number!"
warn2 "Make sure you are using version $preferred_lesstif or newer."
warn2 "See <http://www.lesstif.org/>."
warn2 "use with XScreenSaver; it is strongly recommended"
warn2 "that you upgrade to at least version $preferred_lesstif!"
warn2 "See <http://www.lesstif.org/>."
-
- elif test \! $lesstif_version -gt 86; then
- warnL "LessTif version $lesstif_version_string is being used."
- warn2 "LessTif versions 0.86 and earlier have a bug that"
- warn2 "can cause a security problem with xscreensaver."
- warn2 "If you want to use xscreensaver as a screen locker,"
- warn2 "it is strongly recommended that you upgrade to at"
- warn2 "least version $preferred_lesstif. See <http://www.lesstif.org/>."
fi
fi
-if test $proselytize_motif = yes ; then
+if test "$proselytize_motif" = yes ; then
warnL "Athena widgets are being used instead of Motif."
- warn2 "XScreenSaver looks much better with Motif, and has"
- warn2 "a few extra features as well. Wouldn't you rather"
- warn2 "be using Motif? It is shipped by every commercial"
- warn2 "Unix vendor; and there is a free implementation"
- warn2 "available as well: see <http://www.lesstif.org/>."
+ warn2 "The \`xscreensaver-demo' program looks much better"
+ warn2 "with Motif. Wouldn't you rather be using Motif?"
+ warn2 "It is shipped by every commercial Unix vendor;"
+ warn2 "and there is a free implementation available as"
+ warn2 "well: see <http://www.lesstif.org/>."
fi
-if test $have_gl = yes -a $ac_have_mesa_gl = yes ; then
- preferred_mesagl=2.7
+if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then
+ preferred_mesagl=3.0
- if test $ac_mesagl_version = unknown; then
+ if test "$ac_mesagl_version" = unknown; then
warnL "Unable to determine the MesaGL version number!"
warn2 "Make sure you are using version $preferred_mesagl or newer."
- elif test \! $ac_mesagl_version -gt 2006; then
+ elif test \! "$ac_mesagl_version" -gt 2006; then
warnL "MesaGL version $ac_mesagl_version_string is being used."
warn2 "MesaGL versions 2.6 and earlier have a security bug."
warn2 "It is strongly recommended that you upgrade to at"
fi
-if test $have_xpm = no ; then
- if test $with_xpm_req = yes ; then
+if test "$have_xpm" = no ; then
+ if test "$with_xpm_req" = yes ; then
warnL 'Use of XPM was requested, but it was not found.'
- elif test $with_xpm_req = no ; then
+ elif test "$with_xpm_req" = no ; then
noteL 'The XPM library is not being used.'
else
noteL 'The XPM library was not found.'
warn2 'X11 archive sites, such as <http://sunsite.unc.edu/>.'
fi
-if test $have_gl = no ; then
- if test $with_gl_req = yes ; then
+if test "$have_gl" = no ; then
+ if test "$with_gl_req" = yes ; then
warnL 'Use of GL was requested, but it was not found.'
- elif test $with_gl_req = no ; then
+ elif test "$with_gl_req" = no ; then
noteL 'The OpenGL 3D library is not being used.'
else
noteL 'The OpenGL 3D library was not found.'
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
-if test $with_readdisplay_req = yes -a $have_readdisplay = no ; then
+if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then
warn 'Use of XReadDisplay was requested, but it was not found.'
fi
-if test $with_sgivideo_req = yes -a $have_sgivideo = no ; then
+if test "$with_sgivideo_req" = yes -a "$have_sgivideo" = no ; then
warn 'Use of the Iris Video Library was requested, but it was not found.'
fi
-if test $with_kerberos_req = yes -a $have_kerberos = no ; then
+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_shadow_req = yes -a $have_shadow = no ; then
+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
fi
fi
-if test $warning != no; then
+if test "$warning" != no; then
echo '' ; echo "$warnsep" ; echo ''
fi
eval HACKDIR=${HACKDIR}
eval HACKDIR=${HACKDIR}
-echo ""
-echo "$warnsep"
-echo ""
-echo ' When you run "make install", the "xscreensaver" and'
-echo ' "xscreensaver-command" executables will be installed in'
-echo " ${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