X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=configure.in;h=c805692d4e2c5e7c6ddc7f5737b90e9936dd5d32;hp=be98708834421d676a1d1a7ced0448feda9ce4b0;hb=ce3185de9d9705e259f2b60dd4b5509007fa17d4;hpb=481b95e2617b69e6fd4444432747d7e1e0c3dc85 diff --git a/configure.in b/configure.in index be987088..c805692d 100644 --- a/configure.in +++ b/configure.in @@ -19,8 +19,10 @@ if test -z "$GCC"; then 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) @@ -38,20 +40,66 @@ AC_TRY_RUN([ main(int ac, char **av) { return 0; } ], 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 + 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 @@ -137,11 +185,10 @@ AC_PATH_XTRA # 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: @@ -151,12 +198,12 @@ EOF # 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 \ @@ -306,6 +353,65 @@ AC_DEFUN(AC_TRY_X_RUN, [ +# 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. @@ -327,37 +433,112 @@ if test $ac_cv_xpointer != yes; then 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 : + # + # 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" @@ -428,13 +609,21 @@ fi # have_sgi=no with_sgi_req=unspecified -AC_ARG_WITH(sgi-ext,[ +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 @@ -455,6 +644,9 @@ AC_ARG_WITH(mit-ext, 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]) @@ -505,6 +697,9 @@ AC_ARG_WITH(xidle-ext, 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 @@ -524,6 +719,9 @@ AC_ARG_WITH(xshm-ext, 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. @@ -575,6 +773,9 @@ AC_ARG_WITH(sgivc-ext, 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 @@ -608,6 +809,9 @@ AC_ARG_WITH(dpms-ext, 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 @@ -644,17 +848,21 @@ with_athena_req=unspecified AC_ARG_WITH(motif,[ 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 @@ -772,22 +980,39 @@ if test $have_motif = yes ; then 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 - 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 + #include + 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 @@ -815,6 +1040,9 @@ Graphics Demo options: 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 @@ -836,6 +1064,11 @@ AC_ARG_WITH(gl, --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 @@ -847,14 +1080,71 @@ if test $with_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 < +#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 @@ -873,6 +1163,9 @@ AC_ARG_WITH(readdisplay, --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)) @@ -892,6 +1185,9 @@ AC_ARG_WITH(sgivideo, --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 @@ -1079,6 +1375,9 @@ if test $enable_locking = yes; then 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 ],, @@ -1087,7 +1386,14 @@ if test $enable_locking = yes; then 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 + 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" @@ -1103,6 +1409,9 @@ if test $enable_locking = yes; then --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 @@ -1285,9 +1594,6 @@ DEPEND_FLAGS= 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 @@ -1370,8 +1676,13 @@ AC_SUBST(DEPEND_DEFINES) # 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 '' @@ -1383,7 +1694,7 @@ warn() { warnpre if test $warning = long ; then echo '' ; fi warning=yes - echo " Warning: $@" + echo "$warn_prefix $@" } warnL() { @@ -1391,7 +1702,7 @@ warnL() { warnpre warning=yes if test $was != no ; then echo '' ; fi - echo " Warning: $@" + echo "$warn_prefix $@" } warn2() { @@ -1399,6 +1710,19 @@ 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 @@ -1438,12 +1762,28 @@ elif test $with_athena_req = yes -a $have_athena = no ; then 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 ." + + preferred_lesstif=0.87 + + 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 ." + + 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 ." + + 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 ." fi fi @@ -1456,12 +1796,58 @@ if test $proselytize_motif = yes ; then warn2 "available as well: see ." 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 .' 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 .' + warn2 'For general OpenGL info, see .' + fi if test $with_readdisplay_req = yes -a $have_readdisplay = no ; then @@ -1522,7 +1908,7 @@ 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 " 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"