CC="$CC -qlanglvl=ansi -qhalt=e"
;;
-# NOTE: for Digital, need to add -std1 to get ANSI, but I'm not sure
-# yet what $host pattern we should be testing for...
+ *-dec-*)
+ AC_MSG_RESULT(DEC: adding -std1)
+ CC="$CC -std1"
+ ;;
*)
AC_MSG_RESULT(no idea)
AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.))
case "$host" in
- *-irix*)
- if test -n "$GCC"; then
- AC_MSG_RESULT(Turning on gcc compiler warnings.)
- CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format"
- else
- # not gcc
- AC_MSG_RESULT(Turning on SGI compiler warnings.)
- CC="$CC -fullwarn -use_readonly_const -rdata_shared -g3"
- fi
+ *-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"
+ else
+ # not gcc
+ AC_MSG_RESULT(Turning on SGI compiler warnings.)
+ CC="$CC -fullwarn -use_readonly_const -rdata_shared -g3"
+ fi
;;
+
+ *-linux-*)
+ AC_MSG_RESULT(Turning on gcc compiler warnings.)
+ CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format"
+ ;;
+
+# *-dec-osf*)
+# if test -z "$GCC"; then
+# AC_MSG_RESULT(Turning on DEC C compiler warnings.)
+# CC="$CC -migrate -w0 -verbose -warnprotos"
+# fi
+# ;;
+
esac
+# Try and determine whether ${INSTALL} can create intermediate directories,
+# and if not, whether "mkdir -p" works instead. This sets ${INSTALL_DIRS}.
+# (But autoconf should earn its keep and do this for us!)
+#
+AC_DEFUN(AC_PROG_INSTALL_DIRS,
+ [INSTALL_DIRS='${INSTALL} -d'
+ AC_MSG_CHECKING(whether \"\${INSTALL} -d\" creates intermediate directories)
+ rm -rf conftestdir
+ if mkdir conftestdir; then
+ cd conftestdir >&-
+
+ ${INSTALL} -d `pwd`/dir1/dir2 >&- 2>&-
+ if test -d dir1/dir2 ; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(whether \"mkdir -p\" creates intermediate directories)
+ rm -rf dir1
+ mkdir -p dir1/dir2 >&- 2>&-
+ if test -d dir1/dir2/. ; then
+ AC_MSG_RESULT(yes)
+ INSTALL_DIRS='mkdir -p'
+ else
+ AC_MSG_RESULT(no)
+ fi
+ fi
+ cd .. >&-
+ rm -rf conftestdir
+ fi
+])
+
+
AC_PROG_CPP
AC_PROG_INSTALL
+AC_PROG_INSTALL_DIRS
AC_PROG_MAKE_SET
AC_C_CONST
AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv)
AC_CHECK_FUNCS(sigaction)
-AC_CHECK_HEADERS(unistd.h)
+AC_CHECK_HEADERS(unistd.h crypt.h)
dnl /usr/local/src/ssh-1.2.17/putenv.c -- AC_REPLACE_FUNCS(putenv)
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.)
],
# Try and find the app-defaults directory.
# It sucks that autoconf doesn't do this already...
#
-AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,
- [
+AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,[
rm -fr conftestdir
if mkdir conftestdir; then
- cd conftestdir
+ cd conftestdir >&-
# Make sure to not put "make" in the Imakefile rules, since we grep it out.
cat > Imakefile <<'EOF'
acfindx:
# GNU make sometimes prints "make[1]: Entering...", which'd confuse us.
eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
fi
- cd ..
+ cd .. >&-
rm -fr conftestdir
fi])
-AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,
-[ # Look for the directory under a standard set of common directories.
+AC_DEFUN(AC_PATH_X_APP_DEFAULTS_DIRECT,[
+ # Look for the directory under a standard set of common directories.
# Check X11 before X11Rn because it's often a symlink to the current release.
for ac_dir in \
/usr/X11/lib/app-defaults \
[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
+# Usage: HANDLE_X_PATH_ARG([variable_name],
+# [--command-line-option],
+# [descriptive string])
+#
+# All of the --with options take three forms:
+#
+# --with-foo (or --with-foo=yes)
+# --without-foo (or --with-foo=no)
+# --with-foo=/DIR
+#
+# This function, HANDLE_X_PATH_ARG, deals with the /DIR case. When it sees
+# a directory (string beginning with a slash) it checks to see whether
+# /DIR/include and /DIR/lib exist, and adds them to $X_CFLAGS and $X_LIBS
+# as appropriate.
+#
+AC_DEFUN(HANDLE_X_PATH_ARG, [
+ case "$[$1]" in
+ yes) ;;
+ no) ;;
+
+ /*)
+ AC_MSG_CHECKING([for [$3] headers])
+ d=$[$1]/include
+ if test -d $d; then
+ X_CFLAGS="-I$d $X_CFLAGS"
+ AC_MSG_RESULT($d)
+ else
+ AC_MSG_RESULT(not found ($d: no such directory))
+ fi
+
+ AC_MSG_CHECKING([for [$3] libs])
+ d=$[$1]/lib
+ if test -d $d; then
+ X_LIBS="-L$d $X_LIBS"
+ AC_MSG_RESULT($d)
+ else
+ AC_MSG_RESULT(not found ($d: no such directory))
+ fi
+
+ # replace the directory string with "yes".
+ [$1]_req="yes"
+ [$1]=$[$1]_req
+ ;;
+
+ *)
+ echo ""
+ echo "error: argument to [$2] must be \"yes\", \"no\", or a directory."
+ echo " If it is a directory, then \`DIR/include' will be added to"
+ echo " the -I list, and \`DIR/lib' will be added to the -L list."
+ exit 1
+ ;;
+ esac
+
+ # why is this necessary?
+ # if we don't do this, then "./configure --with-motif=/usr/local/lesstif"
+ # behaves as if "--with-zippy=/usr/local/lesstif" was also present!
+ withval=
+ ])
+
# check for the HP XHPDisableReset server extension headers.
fi
+# Random special-cases for certain pathological OSes. You know who you are.
+#
case "$host" in
*-hpux*)
- # Thanks for not making xmkmf find this by default, you losers.
+
+ # The following arcana was gleaned from conversations with
+ # Eric Schwartz <erics@col.hp.com>:
+ #
+ # On HPUX 10.x, the parts of X that HP considers "standard" live in
+ # /usr/{include,lib}/X11R6/. The parts that HP doesn't consider
+ # "standard", notably, Xaw and Xmu, live in /usr/contrib/X11R6/.
+ # Also, there are symlinks from /usr/include/ and /usr/lib/ into
+ # /usr/{include,lib}/X11R6/, so that (if you don't use Xmu at all)
+ # you don't need any -I or -L arguments.
+ #
+ # On HPUX 9.x, /usr/{include,lib}/X11R5/ and /usr/contrib/X11R5/
+ # are the same division as 10.x. However, there are no symlinks to
+ # the X stuff from /usr/include/ and /usr/lib/, so -I and -L
+ # arguments are always necessary.
+ #
+ # However, X11R6 was available on HPUX 9.x as a patch: if that
+ # patch was installed, then all of X11R6 went in to
+ # /usr/contrib/X11R6/ (there was no /usr/{include,lib}/X11R6/.)
+ #
+ # HPUX 8.x was the same as 9.x, but was X11R4 instead (I don't know
+ # whether R5 was available as a patch; R6 undoubtedly was not.)
+ #
+ # So. We try and use the highest numbered pair of
+ # /usr/{include,lib}/X11R?/ and /usr/contrib/X11R?/{include,lib}/
+ # that are available. We do not mix and match different versions
+ # of X.
+ #
+ # Questions I still don't know the answers to: (do you?)
+ #
+ # * Does HPUX 10.x come with /usr/contrib/X11R6/ standard?
+ # Or does that need to be installed separately?
+ #
+ # * On HPUX 9.x, where /usr/include/X11R5/ was standard, and
+ # /usr/contrib/X11R6/ could be installed as a patch, what was in
+ # that contrib directory? Did it contain so-called "standard"
+ # X11R6, or did it include Xaw and Xmu as well? If the former,
+ # where did one find Xaw and Xmu on 9.x R6 systems? Would this
+ # be a situation where one had to reach into the R5 headers and
+ # libs to find Xmu? That is, must both R6 and R5 directories
+ # be on the -I and -L lists in that case?
+ #
+ for version in X11R6 X11R5 X11R4 ; do
+ # if either pair of directories exists...
+ if test -d /usr/lib/$version || test -d /usr/contrib/$version/lib ; then
+ # if contrib exists, use it...
+ if test -d /usr/contrib/$version/lib ; then
+ X_CFLAGS="$X_CFLAGS -I/usr/contrib/$version/include"
+ X_LIBS="$X_LIBS -L/usr/contrib/$version/lib"
+ fi
+ # if the "standard" one exists, use it.
+ if test -d /usr/lib/$version ; then
+ X_CFLAGS="$X_CFLAGS -I/usr/include/$version"
+ X_LIBS="$X_LIBS -L/usr/lib/$version"
+ fi
+ # since at least one of the pair exists, go no farther.
+ break
+ fi
+ done
+
+ # Now find Motif. Thanks for not making xmkmf find this by
+ # default, you losers.
+ #
if test -d /usr/lib/Motif1.2 ; then
- X_CFLAGS="-I/usr/include/Motif1.2 $X_CFLAGS"
- X_LIBS="-L/usr/lib/Motif1.2 $X_LIBS"
+ X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.2"
+ X_LIBS="$X_LIBS -L/usr/lib/Motif1.2"
elif test -d /usr/lib/Motif1.1 ; then
- X_CFLAGS="-I/usr/include/Motif1.1 $X_CFLAGS"
- X_LIBS="-L/usr/lib/Motif1.1 $X_LIBS"
+ X_CFLAGS="$X_CFLAGS -I/usr/include/Motif1.1"
+ X_LIBS="$X_LIBS -L/usr/lib/Motif1.1"
+ fi
+
+ # Now let's check for the pseudo-standard locations for OpenGL and XPM.
+ #
+ if test -d /opt/Mesa/lib ; then
+ X_CFLAGS="-I/opt/Mesa/include $X_CFLAGS"
+ X_LIBS="-L/opt/Mesa/lib $X_LIBS"
fi
- # This too. You losers.
- if test -d /usr/contrib/X11R6/include ; then
- X_CFLAGS="-I/usr/contrib/X11R6/include $X_CFLAGS"
- X_LIBS="-L/usr/contrib/X11R6/lib $X_LIBS"
- elif test -d /usr/X11R6/include ; then
- X_CFLAGS="-I/usr/X11R6/include $X_CFLAGS"
- X_LIBS="-L/usr/X11R6/lib $X_LIBS"
- elif test -d /usr/contrib/X11R5/include ; then
- X_CFLAGS="-I/usr/contrib/X11R5/include $X_CFLAGS"
- X_LIBS="-L/usr/contrib/X11R5/lib $X_LIBS"
- elif test -d /usr/X11R5/include ; then
- X_CFLAGS="-I/usr/X11R5/include $X_CFLAGS"
- X_LIBS="-L/usr/X11R5/lib $X_LIBS"
+ if test -d /opt/xpm/lib/X11 ; then
+ X_CFLAGS="-I/opt/xpm/include $X_CFLAGS"
+ X_LIBS="-L/opt/xpm/lib/X11 $X_LIBS"
+ fi
+
+ # On HPUX, default to installing in /opt/xscreensaver/ instead of
+ # in /usr/local/, unless there is already an xscreensaver in
+ # /usr/local/bin/. This can be overridden with the --prefix arg
+ # to configure. I'm not sure this is the right thing to do, but
+ # Richard Lloyd says so...
+ #
+ if test \! -x /usr/local/bin/xscreensaver ; then
+ ac_default_prefix=/opt/xscreensaver
fi
;;
*-solaris*)
- # Same to you, pinheads. (Is this really the standard location now?
- # What happened to the joke that this kind of thing went in /opt?)
+
+ # Thanks for not making xmkmf find this by default, pinheads.
+ # And thanks for moving things around again, too. Is this
+ # really the standard location now? What happened to the
+ # joke that this kind of thing went in /opt?
# cthomp says "answer: CDE (Common Disorganized Environment)"
+ #
if test -f /usr/dt/include/Xm/Xm.h ; then
X_CFLAGS="$X_CFLAGS -I/usr/dt/include"
X_LIBS="$X_LIBS -L/usr/dt/lib -R:/usr/dt/lib"
#
have_sgi=no
with_sgi_req=unspecified
-AC_ARG_WITH(sgi-ext,[
-Server options:
+AC_ARG_WITH(sgi-ext,
+[Except where noted, all of the --with options below can also take a
+directory argument: for example, --with-motif=/opt/Motif. That would
+cause /opt/Motif/include/ to be added to the -I list, and /opt/Motif/lib/
+to be added to the -L list, assuming those directories exist.
+
+X Server Extension options:
--with-sgi-ext Include support for the SGI SCREEN_SAVER
server extension, if possible (this is the default).
--without-sgi-ext Do not compile in support for this extension.],
[with_sgi="$withval"; with_sgi_req="$withval"],[with_sgi=yes])
+
+HANDLE_X_PATH_ARG(with_sgi, --with-sgi-ext, SGI SCREEN_SAVER)
+
if test $with_sgi = yes; then
AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
[have_sgi=yes
server extension, if possible (this is the default).
--without-mit-ext Do not compile in support for this extension.],
[with_mit="$withval"; with_mit_req="$withval"],[with_mit=yes])
+
+HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
+
if test $have_sgi != yes; then
if test $with_mit = yes; then
AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes])
if possible (this is the default).
--without-xidle-ext Do not compile in support for this extension.],
[with_xidle="$withval"; with_xidle_req="$withval"],[with_xidle=yes])
+
+HANDLE_X_PATH_ARG(with_xidle, --with-xidle-ext, XIDLE)
+
if test $with_xidle = yes; then
AC_CHECK_X_HEADER(X11/extensions/xidle.h,
[have_xidle=yes
extension, if possible (this is the default).
--without-xshm-ext Do not compile in support for this extension.],
[with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes])
+
+HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
+
if test $with_xshm = yes; then
# first check for Xshm.h.
extension, if possible (this is the default).
--without-sgivc-ext Do not compile in support for this extension.],
[with_sgivc="$withval"; with_sgivc_req="$withval"],[with_sgivc=yes])
+
+HANDLE_X_PATH_ARG(with_sgivc, --with-sgivc-ext, SGI-VIDEO-CONTROL)
+
if test $with_sgivc = yes; then
# first check for XSGIvc.h
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])
+
+HANDLE_X_PATH_ARG(with_dpms, --with-dpms-ext, DPMS)
+
if test $with_dpms = yes; then
# first check for dpms.h
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).
+ --with-motif Use the Motif toolkit for the user interface, if
+ possible (this is the default).
--without-motif Do not use Motif.],
[with_motif="$withval"; with_motif_req="$withval"],[with_motif=no])
+HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
+
AC_ARG_WITH(athena,
[ --with-athena Use the Athena toolkit for the user interface, if
possible (this is the default if Motif isn't used.)
--without-athena Do not use Athena.],
[with_athena="$withval"; with_athena_req="$withval"],[with_athena=no])
+HANDLE_X_PATH_ARG(with_athena, --with-athena, Athena)
+
if test $with_motif != yes -a $with_motif != no ; then
echo "error: must be yes or no: --with-motif=$with_motif"
exit 1
have_lesstif=$ac_cv_have_lesstif
fi
-# don't cache this
-unset ac_cv_good_lesstif
+# don't cache these
+unset ac_cv_lesstif_version
+unset ac_cv_lesstif_version_string
+
+lesstif_version=unknown
+lesstif_version_string=unknown
-good_lesstif=no
if test $have_lesstif = yes ; then
- # It must be at least "GNU Lesstif 0.82".
- # #### If you change this, also sync the warning message lower down.
- AC_CACHE_CHECK([whether LessTif is of a recent enough vintage],
- ac_cv_good_lesstif,
- [AC_TRY_X_RUN([#include <Xm/Xm.h>
- int main() { exit(LesstifVersion < 82); }],
- [ac_cv_good_lesstif=yes],
- [ac_cv_good_lesstif=no],
- # cross compiling? Make an ass out of umption.
- [ac_cv_good_lesstif=yes])])
- good_lesstif=$ac_cv_good_lesstif
+ ltv=unknown
+ echo unknown > conftest-lt
+ AC_CACHE_CHECK([LessTif version number],
+ ac_cv_lesstif_version_string,
+ [AC_TRY_X_RUN([#include <stdio.h>
+ #include <Xm/Xm.h>
+ int main() {
+ FILE *f = fopen("conftest-lt", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d %d.%d\n", LesstifVersion,
+ LESSTIF_VERSION, LESSTIF_REVISION);
+ fclose(f);
+ exit(0);
+ }],
+ [ltv=`cat conftest-lt`
+ ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
+ ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`],
+ [ac_cv_lesstif_version=unknown
+ ac_cv_lesstif_version_string=unknown],
+ [ac_cv_lesstif_version=unknown
+ ac_cv_lesstif_version_string=unknown])])
+ rm -f conftest-lt
+ lesstif_version=$ac_cv_lesstif_version
+ lesstif_version_string=$ac_cv_lesstif_version_string
+
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).
--without-xpm Do not compile in support for XPM files.],
[with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
+
+HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
+
if test $with_xpm = yes; then
AC_CHECK_X_HEADER(X11/xpm.h,
[have_xpm=yes
# 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,
--without-gl Do not build the OpenGL demos.],
[with_gl="$withval"; with_gl_req="$withval"],[with_gl=yes])
+HANDLE_X_PATH_ARG(with_gl, --with-gl, GL)
+
+ac_mesagl_version=unknown
+ac_mesagl_version_string=unknown
+
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_DEFINE(HAVE_GL)
- have_mesa_gl=no
- AC_EGREP_X_HEADER(Mesa, GL/glx.h, [have_mesa_gl=yes])
- if test $have_mesa_gl = no ; then
+
+ # We need to know whether it's MesaGL so that we know which libraries
+ # to link against.
+ #
+ AC_MSG_CHECKING(whether GL is really MesaGL)
+ AC_CACHE_VAL(ac_cv_have_mesa_gl,
+ [ac_cv_have_mesa_gl=no
+ AC_EGREP_X_HEADER(Mesa, GL/glx.h, [ac_cv_have_mesa_gl=yes])
+ ])
+ ac_have_mesa_gl=$ac_cv_have_mesa_gl
+ AC_MSG_RESULT($ac_have_mesa_gl)
+
+ if test $ac_have_mesa_gl = no ; then
+ gl_lib_1="GL"
GL_LIBS="-lGL -lGLU"
else
AC_DEFINE(HAVE_MESA_GL)
+ gl_lib_1="MesaGL"
GL_LIBS="-lMesaGL -lMesaGLU"
fi
+
+
+ # 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
+
+ # don't cache these.
+ unset ac_cv_mesagl_version
+ unset ac_cv_mesagl_version_string
+
+ AC_MSG_CHECKING(MesaGL version number)
+ AC_CACHE_VAL(ac_cv_mesagl_version_string,
+ [cat > conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+#include "confdefs.h"
+#include <GL/gl.h>
+#configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION
+EOF
+
+ 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'`
+ if test "$mglv" = ""; then
+ ac_mesagl_version=unknown
+ ac_mesagl_version_string=unknown
+ else
+ ac_mesagl_version_string=$mglv
+ maj=`echo $mglv | sed -n 's/\..*//p'`
+ min=`echo $mglv | sed -n 's/.*\.//p'`
+ ac_mesagl_version=`echo "$maj * 1000 + $min" | bc`
+ fi
+ ac_cv_mesagl_version=$ac_mesagl_version
+ ac_cv_mesagl_version_string=$ac_mesagl_version_string
+ ])
+ ac_mesagl_version=$ac_cv_mesagl_version
+ ac_mesagl_version_string=$ac_cv_mesagl_version_string
+ AC_MSG_RESULT($ac_cv_mesagl_version_string)
+ fi
+
+
+ # Check for OpenGL 1.1 features.
+ #
+ AC_CHECK_X_LIB($gl_lib_1, glBindTexture, [AC_DEFINE(HAVE_GLBINDTEXTURE)],
+ [], $GL_LIBS -lX11 -lXext -lm)
+
fi
elif test $with_gl != no; then
--without-readdisplay Do not compile in support for this extension.],
[with_readdisplay="$withval"; with_readdisplay_req="$withval"],
[with_readdisplay=yes])
+
+HANDLE_X_PATH_ARG(with_readdisplay, --with-readdisplay, XReadDisplay)
+
if test $with_readdisplay = yes; then
AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION))
--without-sgivideo Do not compile in support for this library.],
[with_sgivideo="$withval"; with_sgivideo_req="$withval"],
[with_sgivideo=yes])
+
+HANDLE_X_PATH_ARG(with_sgivideo, --with-sgivideo, Iris Video)
+
if test $with_sgivideo = yes; then
AC_CHECK_X_HEADER(dmedia/vl.h, have_sgivideo=yes)
if test $have_sgivideo = yes; then
# Allow locking to be disabled at compile-time.
#
-have_locking=yes
have_kerberos=no
with_kerberos_req=unspecified
have_shadow=no
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.)
--disable-locking Do not allow locking at all.],
[enable_locking="$enableval"],[enable_locking=yes])
+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 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_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.
+ need_setuid=yes
+fi
+
+
+
if test $enable_locking = yes; then
# Check for Kerberos.
if possible (this is the default.)
--without-kerberos Do not compile in support for Kerberos.],
[with_kerberos="$withval"; with_kerberos_req="$withval"],[with_kerberos=yes])
+
+ HANDLE_X_PATH_ARG(with_kerberos, --with-kerberos, Kerberos)
+
if test $with_kerberos = yes; then
AC_CACHE_CHECK([for Kerberos], ac_cv_kerberos,
[AC_TRY_X_COMPILE([#include <krb.h>],,
if test $ac_cv_kerberos = yes ; then
have_kerberos=yes
AC_DEFINE(HAVE_KERBEROS)
- PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes -lnsl -lsocket"
+
+ # from Tim Showalter <tjs+@andrew.cmu.edu>
+ PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes"
+ AC_CHECK_FUNC(res_search,,
+ AC_CHECK_LIB(resolv,res_search,PASSWD_LIBS="${PASSWD_LIBS} -lresolv",
+ AC_MSG_WARN([Can't find DNS resolver libraries needed for Kerberos])
+ ))
+
fi
elif test $with_kerberos != no; then
echo "error: must be yes or no: --with-kerberos=$with_kerberos"
--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
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
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.
#
if test $have_motif = yes; then
# Print some warnings before emitting the Makefiles.
#
+warn_prefix_1=" Warning:"
+warn_prefix_2=" Note:"
+warn_prefix="$warn_prefix_1"
+
warning=no
warnsep=' #################################################################'
+
warnpre() {
if test $warning = no ; then
echo '' ; echo "$warnsep" ; echo ''
warnpre
if test $warning = long ; then echo '' ; fi
warning=yes
- echo " Warning: $@"
+ echo "$warn_prefix $@"
}
warnL() {
warnpre
warning=yes
if test $was != no ; then echo '' ; fi
- echo " Warning: $@"
+ echo "$warn_prefix $@"
}
warn2() {
warning=long
}
+note() {
+ warn_prefix="$warn_prefix_2"
+ warn $@
+ warn_prefix="$warn_prefix_1"
+}
+
+noteL() {
+ warn_prefix="$warn_prefix_2"
+ warnL $@
+ warn_prefix="$warn_prefix_1"
+}
+
+
if test $with_sgi_req = yes -a $have_sgi = no ; then
warn 'The SGI saver extension was requested, but was not found.'
fi
fi
if test $have_motif = yes -a $have_lesstif = yes ; then
- if test $good_lesstif != yes ; then
- warnL "Motif is being used, but it appears to actually be"
- warn2 "LessTif, and the version number is less than 0.82!"
- warn2 "Such old versions of LessTif are too buggy to use"
- warn2 "with XScreenSaver; it is strongly recommended that"
- warn2 "you upgrade! See <http://www.lesstif.org/>."
+
+ preferred_lesstif=0.86
+
+ 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/>."
+
+ elif test \! $lesstif_version -gt 82; then
+ warnL "LessTif version $lesstif_version_string is being used."
+ warn2 "LessTif versions 0.82 and earlier are too buggy to"
+ warn2 "use with XScreenSaver; it is strongly recommended"
+ warn2 "that you upgrade to at least version $preferred_lesstif!"
+ warn2 "See <http://www.lesstif.org/>."
fi
fi
warn2 "available as well: see <http://www.lesstif.org/>."
fi
-if test $with_xpm_req = yes -a $have_xpm = no ; then
- warn 'Use of XPM was requested, but it was not found.'
+
+if test $have_gl = yes -a $ac_have_mesa_gl = yes ; then
+ preferred_mesagl=2.7
+
+ 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
+ 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"
+ warn2 "least version $preferred_mesagl."
+ fi
+fi
+
+
+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
+ noteL 'The XPM library is not being used.'
+ else
+ noteL 'The XPM library was not found.'
+ fi
+
+ echo ''
+ warn2 'Some of the demos will not be as colorful as they'
+ warn2 'could be. You might want to consider installing XPM'
+ warn2 'and re-running configure. (Remember to delete the'
+ warn2 'config.cache file first.) You can find XPM at most'
+ warn2 'X11 archive sites, such as <http://sunsite.unc.edu/>.'
fi
-if test $with_gl_req = yes -a $have_gl = no ; then
- warn 'Use of GL was requested, but it was not found.'
+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
+ noteL 'The OpenGL 3D library is not being used.'
+ else
+ noteL 'The OpenGL 3D library was not found.'
+ fi
+
+ echo ''
+ warn2 'Those demos which use 3D will not be built or installed.'
+ warn2 'You might want to consider installing OpenGL and'
+ 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/>.'
+
fi
if test $with_readdisplay_req = yes -a $have_readdisplay = no ; then
echo ' "xscreensaver-command" executables will be installed in'
echo " ${bindir}."
echo ""
-echo " The various graphics demos (60+ different executables) will"
+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"