AC_CACHE_VAL(ac_cv_gettimeofday_args,
[AC_TRY_COMPILE([#include <stdlib.h>
#include <sys/time.h>],
- [struct timeval tv; gettimeofday(&tv);],
- [ac_gettimeofday_args=1],
+ [struct timeval tv; struct timezone tzp;
+ gettimeofday(&tv, &tzp);],
+ [ac_gettimeofday_args=2],
[AC_TRY_COMPILE([#include <stdlib.h>
#include <sys/time.h>],
- [struct timeval tv; struct timezone tzp;
- gettimeofday(&tv, &tzp);],
- [ac_gettimeofday_args=2],
+ [struct timeval tv; gettimeofday(&tv);],
+ [ac_gettimeofday_args=1],
[ac_gettimeofday_args=0])])
ac_cv_gettimeofday_args=$ac_gettimeofday_args])
ac_gettimeofday_args=$ac_cv_gettimeofday_args
specify the name of the subdirectory. For example,
--exec-prefix=/usr/local/bin --enable-subdir=demos
would put xscreensaver in /usr/local/bin/, and would
- put the demos in /usr/local/bin/demos/. Note that if
- you do this, you must make sure that the directory
- is on your \$PATH before xscreensaver is started: the
- directory name is not hardcoded into the program.
- This merely sets the default installation location.
+ put the demos in /usr/local/bin/demos/. (If DIR
+ begins with /, then bindir will not be prepended.)
--disable-subdir Just put the demos in \`bindir' (this is the default.)
],
[enable_subdir="$enableval"],[enable_subdir=no])
if test x"$enable_subdir" = xno; then
- HACKDIR='$(bindir)'
+ HACKDIR='${bindir}'
elif test x"$enable_subdir" = xyes -o x"$enable_subdir" = x ; then
echo "error: must be a subdirectory name: --enable-subdir=$enable_subdir"
exit 1
else
- HACKDIR='$(bindir)/'$enable_subdir
+ # there must be a better way than this...
+ if test -z "`echo $enable_subdir | sed 's@^/.*@@'`" ; then
+ # absolute path
+ HACKDIR=$enable_subdir
+ else
+ # relative path
+ HACKDIR='${bindir}/'$enable_subdir
+ fi
fi
[AC_REQUIRE_CPP()
AC_CACHE_CHECK([for X app-defaults directory], ac_cv_x_app_defaults,
[AC_PATH_X_APP_DEFAULTS_XMKMF
- AC_PATH_X_APP_DEFAULTS_DIRECT
+ if test x"$ac_x_app_defaults" = x; then
+ AC_PATH_X_APP_DEFAULTS_DIRECT
+ fi
if test x"$ac_x_app_defaults" = x; then
ac_cv_x_app_defaults="/usr/lib/X11/app-defaults"
else
have_sgi=no
with_sgi_req=unspecified
AC_ARG_WITH(sgi-ext,[
-Server options:
+X Server Extension options:
--with-sgi-ext Include support for the SGI SCREEN_SAVER
server extension, if possible (this is the default).
AC_CHECK_X_HEADER(sys/shm.h, [have_xshm=yes])
fi
+ # AIX is pathological, as usual: apparently it's normal for the Xshm headers
+ # to exist, but the library code to not exist. And even better, the library
+ # code is in its own library: libXextSam.a. So, if we're on AIX, and that
+ # lib doesn't exist, give up.
+ #
+ case "$host" in
+ *-aix*)
+ have_xshm=no
+ AC_CHECK_X_LIB(XextSam, XShmQueryExtension,
+ [have_xshm=yes; SAVER_LIBS="$SAVER_LIBS -lXextSam"],
+ [], -lX11 -lXext -lm)
+ ;;
+ esac
+
# if that succeeded, then we've really got it.
if test $have_xshm = yes; then
AC_DEFINE(HAVE_XSHM_EXTENSION)
fi
+# Check for the DPMS server extension header.
+#
+have_dpms=no
+with_dpms_req=unspecified
+AC_ARG_WITH(dpms-ext,
+[ --with-dpms-ext Include support for the DPMS server extension,
+ if possible (this is the default).
+ --without-dpms-ext Do not compile in support for this extension.],
+ [with_dpms="$withval"; with_dpms_req="$withval"],[with_dpms=yes])
+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
+ have_dpms=no
+ AC_CHECK_X_LIB(Xdpms, DPMSInfo,
+ [have_dpms=yes; SAVER_LIBS="$SAVER_LIBS -lXdpms"], [],
+ -lXext -lX11)
+ fi
+ # if that succeeded, then we've really got it.
+ if test $have_dpms = yes; then
+ AC_DEFINE(HAVE_DPMS_EXTENSION)
+ fi
-
+elif test $with_dpms != no; then
+ echo "error: must be yes or no: --with-dpms-ext=$with_dpms"
+ exit 1
+fi
#
have_motif=no
have_athena=no
+have_athena3d=no
with_motif_req=unspecified
with_athena_req=unspecified
AC_ARG_WITH(motif,[
-Toolkit options:
+X Client Toolkit options:
--with-motif Use the Motif toolkit for the user interface,
if possible (this is the default).
}
check_athena() {
- AC_CHECK_X_HEADER(X11/Xaw/Dialog.h,
- [have_athena=yes
- AC_DEFINE(HAVE_ATHENA)
- SAVER_LIBS="-lXaw $SAVER_LIBS"])
+ 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"
+ fi
}
have_xpm=no
with_xpm_req=unspecified
AC_ARG_WITH(xpm,[
-Demo options:
+Graphics Demo options:
--with-xpm Include support for XPM files in some demos,
if possible (this is the default).
need_setuid=no
AC_ARG_ENABLE(locking,[
-Locking options:
+Screen Locking options:
--enable-locking Compile in support for locking the display
(this is the default.)
fi
fi
+ # On FreeBSD, getpwnam() and friends work just like on non-shadow-password
+ # systems -- except you only get stuff in the pw_passwd field if the running
+ # 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
+ 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
+ need_setuid=yes
+ passwd_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])
DEPEND_DEFINES=
+# Autoconf doesn't seem to have an INSTALL_DIRS, so let's define our own...
+INSTALL_DIRS='$(INSTALL) -d'
# Done testing things -- now substitute in some stuff for the Makefiles.
#
AC_SUBST(GL_LIBS)
AC_SUBST(PASSWD_LIBS)
AC_SUBST(INSTALL_SETUID)
+AC_SUBST(INSTALL_DIRS)
AC_SUBST(NEED_SETUID)
AC_SUBST(SGI_VIDEO_OBJS)
AC_SUBST(SGI_VIDEO_LIBS)
warn 'The SGI-VIDEO-CONTROL extension was requested, but was not found.'
fi
+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
warnL "Neither Motif nor Athena widgets seem to be available;"
warn2 "one or the other is required."
hacks/Makefile
hacks/glx/Makefile
driver/XScreenSaver.ad)
+
+# You are in a twisty maze of namespaces and syntaxes, all alike.
+# Fuck the skull of Unix.
+#
+eval bindir=${bindir}
+eval bindir=${bindir}
+eval bindir=${bindir}
+eval bindir=${bindir}
+eval bindir=${bindir}
+eval bindir=${bindir}
+eval HACKDIR=${HACKDIR}
+eval HACKDIR=${HACKDIR}
+eval HACKDIR=${HACKDIR}
+eval HACKDIR=${HACKDIR}
+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 (60+ 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 ""