X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=configure.in;h=740cd97f27eafe5969b79babbcf5bb12b607ee2d;hp=901b5a23a02063a67ae8120877436c3e947df445;hb=ffd8c0873576a9e3065696a624dce6b766b77062;hpb=13dbc569cdc6e29019722c0ef9b932a925efbcad diff --git a/configure.in b/configure.in index 901b5a23..740cd97f 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -# configure.in --- xscreensaver, Copyright (c) 1997-2000 Jamie Zawinski. +# configure.in --- xscreensaver, Copyright (c) 1997-2004 Jamie Zawinski. # AC_PREREQ(2.52) @@ -56,6 +56,8 @@ AC_DEFUN(AC_PROG_CC_ANSI, esac fi + OBJCC="$CC" + AC_MSG_CHECKING([whether the compiler works on ANSI C]) AC_TRY_RUN([ main(int ac, char **av) { return 0; } ], AC_MSG_RESULT(yes), @@ -65,7 +67,10 @@ AC_DEFUN(AC_PROG_CC_ANSI, if test -n "$GCC"; then AC_MSG_RESULT(Turning on gcc compiler warnings.) - CC="$CC -Wall -Wstrict-prototypes -Wnested-externs -Wno-format" + CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs" + OBJCC="$OBJCC -Wall" + # supposedly gcc 3.4 will have "-Wdeclaration-after-statement" + # and then perhaps we can do without -pedantic? else case "$host" in *-irix5* |*-irix6.[0-3]* ) @@ -92,6 +97,15 @@ AC_DEFUN(AC_PROG_CC_ANSI, # gcc. Old gcc doesn't support -std, and new gcc doesn't support -lang. # so much for compatibility!) # +# UPDATE: apparently there is NO WAY to tell gcc 3.2.2 to require that +# declarations preceed statements, without resorting to "-pedantic". +# This means that there is no way to get gcc3 to issue warnings that +# ensure that your code complies with the ANSI/ISO C89 standard, without +# also drowning in totally useless warnings. Thank you master may I +# have another. +# +# So, I give up, let's just use -pedantic. +# ############################################################################### AC_DEFUN(AC_GCC_ACCEPTS_STD, @@ -140,6 +154,38 @@ AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE, ]) +############################################################################### +# +# Function to figure out how to turn off Objective C on MacOS X. +# (We have to do this to work around an Apple-specific gcc bug.) +# +############################################################################### + +AC_DEFUN(AC_GCC_ACCEPTS_NO_CPP_PRECOMP, + [if test -n "$GCC"; then + AC_CACHE_CHECK([whether gcc accepts -no-cpp-precomp], + ac_cv_gcc_accepts_no_cpp_precomp, + [if ( ( gcc -E -no-cpp-precomp - /dev/null ) 2>&1 | \ + grep unrecognized >/dev/null ); then + ac_cv_gcc_accepts_no_cpp_precomp=no + else + ac_cv_gcc_accepts_no_cpp_precomp=yes + fi]) + ac_gcc_accepts_no_cpp_precomp="$ac_cv_gcc_accepts_no_cpp_precomp" + fi +]) + +AC_DEFUN(AC_NO_OBJECTIVE_C, + [if test -n "$GCC"; then + AC_GCC_ACCEPTS_NO_CPP_PRECOMP + if test "$ac_gcc_accepts_no_cpp_precomp" = yes ; then + AC_MSG_RESULT(Disabling Objective C extensions in ANSI C code.) + CC="$CC -no-cpp-precomp" + fi + fi +]) + + ############################################################################### # # Function to figure out how to create directory trees. @@ -147,7 +193,7 @@ AC_DEFUN(AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE, ############################################################################### AC_DEFUN(AC_PROG_INSTALL_DIRS, - [AC_CACHE_CHECK([whether \"\${INSTALL} -d\" creates intermediate directories], + [AC_CACHE_CHECK([whether "\${INSTALL} -d" creates intermediate directories], ac_cv_install_d_creates_dirs, [ac_cv_install_d_creates_dirs=no rm -rf conftestdir @@ -163,7 +209,7 @@ AC_DEFUN(AC_PROG_INSTALL_DIRS, ]) if test "$ac_cv_install_d_creates_dirs" = no ; then - AC_CACHE_CHECK([whether \"mkdir -p\" creates intermediate directories], + AC_CACHE_CHECK([whether "mkdir -p" creates intermediate directories], ac_cv_mkdir_p_creates_dirs, [ac_cv_mkdir_p_creates_dirs=no rm -rf conftestdir @@ -585,10 +631,20 @@ AC_DEFUN(AC_X_RANDOM_PATHS, # 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" + MOTIF_LIBS="$MOTIF_LIBS -L/usr/dt/lib -R/usr/dt/lib" # Some versions of Slowlaris Motif require -lgen. But not all. Why? - AC_CHECK_LIB(gen, regcmp, [X_LIBS="$X_LIBS -lgen"]) + AC_CHECK_LIB(gen, regcmp, [MOTIF_LIBS="$MOTIF_LIBS -lgen"]) + fi + + ;; + *-darwin*) + + # On MacOS X (10.x with "fink"), many things are under /sw/. + # + if test -d /sw/include ; then + X_CFLAGS="-I/sw/include $X_CFLAGS" + X_LIBS="-L/sw/lib $X_LIBS" fi ;; esac]) @@ -743,6 +799,7 @@ AC_DEFUN(HANDLE_X_PATH_ARG, [ AC_CANONICAL_HOST AC_PROG_CC_ANSI AC_NO_CPLUSPLUS_COMMENTS_IN_C_CODE +AC_NO_OBJECTIVE_C AC_PROG_CPP AC_C_CONST AC_C_INLINE @@ -773,7 +830,6 @@ AC_HEADER_SYS_WAIT AC_HEADER_DIRENT AC_GETTIMEOFDAY_ARGS AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk) - AC_CHECK_FUNCS(sigaction syslog realpath setrlimit) AC_CHECK_ICMP AC_CHECK_ICMPHDR @@ -788,13 +844,23 @@ fi AC_PATH_XTRA if test "$have_x" != yes; then - AC_MSG_ERROR(Couldn't find X11 headers/libs. Try \`$0 --help'.) + AC_MSG_ERROR(Couldn't find X11 headers/libs. Try `$0 --help'.) fi AC_PATH_X_APP_DEFAULTS AC_X_RANDOM_PATHS AC_XPOINTER +AC_MSG_CHECKING(whether this is MacOS X) + ac_macosx=no + case "$host" in + *-apple-darwin* ) + ac_macosx=yes + ;; + esac +AC_MSG_RESULT($ac_macosx) + + ############################################################################### # @@ -808,10 +874,9 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE") AC_DEFINE_UNQUOTED(PACKAGE, "$GETTEXT_PACKAGE") AC_SUBST(GETTEXT_PACKAGE) -# #### no sign of en_GB -#ALL_LINGUAS="ca de en_GB et fr it ko pl sv da es fi hu ja no pt pt_BR ru wa" -ALL_LINGUAS="ca de et fr it ko pl sv da es fi hu ja no pt pt_BR ru wa" +ALL_LINGUAS="ca da de es et fi fr hu it ja ko nl no pl pt pt_BR ru sk sv vi wa zh_CN zh_TW" AM_GLIB_GNU_GETTEXT +MKINSTALLDIRS="$INSTALL_DIRS" ############################################################################### @@ -892,7 +957,7 @@ AC_ARG_WITH(hackdir,[ Installation options: --with-hackdir=DIR Where to install the hundreds of demo executables. - Default: \`PREFIX/lib/xscreensaver/'], + Default: `PREFIX/lib/xscreensaver/'], [with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes]) if test x"$with_hackdir" = xyes; then @@ -937,8 +1002,8 @@ with_configdir_req=unspecified AC_ARG_WITH(configdir, [ --with-configdir=DIR Where to install the data files that describe each of the display modes to the GUI. - Default: \`GNOMEPREFIX/control-center/screensavers/' - or \`PREFIX/lib/xscreensaver/config/', depending on + Default: `GNOMEPREFIX/control-center/screensavers/' + or `PREFIX/lib/xscreensaver/config/', depending on whether GNOME is available. ], [with_configdir="$withval"; with_configdir_req="$withval"], @@ -974,7 +1039,7 @@ have_sgi=no with_sgi_req=unspecified 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 +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. @@ -1139,7 +1204,8 @@ if test "$with_dpms" = yes; then # first check for dpms.h AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes],, - [#include ]) + [#include + #include ]) # if that succeeded, then check for the DPMS code in the libraries if test "$have_dpms" = yes; then @@ -1193,12 +1259,12 @@ if test "$with_xinerama" = yes; then # first look in -lXext have_xinerama=no - AC_CHECK_X_LIB(Xext, XineramaQueryExtension, [have_xinerama=yes], [true], + AC_CHECK_X_LIB(Xext, XineramaQueryScreens, [have_xinerama=yes], [true], -lXext -lX11) # if that failed, look in -lXinerama (this is where it is in XFree86 4.1.) if test "$have_xinerama" = no; then - AC_CHECK_X_LIB(Xinerama, XineramaQueryExtension, + AC_CHECK_X_LIB(Xinerama, XineramaQueryScreens, [have_xinerama=yes; SAVER_LIBS="$SAVER_LIBS -lXinerama"], [true], -lXext -lX11) fi @@ -1230,6 +1296,8 @@ AC_ARG_WITH(xf86vmode-ext, HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode) +VIDMODE_LIBS="" + if test "$with_xf86vmode" = yes; then # first check for xf86vmode.h @@ -1240,7 +1308,9 @@ if test "$with_xf86vmode" = yes; then if test "$have_xf86vmode" = yes; then have_xf86vmode=no AC_CHECK_X_LIB(Xxf86vm, XF86VidModeGetViewPort, - [have_xf86vmode=yes; SAVER_LIBS="$SAVER_LIBS -lXxf86vm"], + [have_xf86vmode=yes; + VIDMODE_LIBS="-lXxf86vm"; + SAVER_LIBS="$SAVER_LIBS $VIDMODE_LIBS"], [true], -lXext -lX11) fi @@ -1317,15 +1387,94 @@ elif test "$with_xf86gamma" != no; then fi +############################################################################### +# +# Check for the RANDR (Resize and Rotate) server extension. +# +# We need this to detect when the resolution of the desktop +# has changed out from under us (this is a newer, different +# mechanism than the XF86VMODE virtual viewports.) +# +############################################################################### + +have_randr=no +with_randr_req=unspecified +AC_ARG_WITH(randr-ext, +[ --with-randr-ext Include support for the X Resize+Rotate extension.], + [with_randr="$withval"; with_randr_req="$withval"],[with_randr=yes]) + +HANDLE_X_PATH_ARG(with_randr, --with-randr-ext, RANDR) + +if test "$with_randr" = yes; then + + # first check for Randr.h + AC_CHECK_X_HEADER(X11/extensions/Xrandr.h, [have_randr=yes],, + [#include ]) + + # if that succeeded, then check for the XRR code in the libraries + if test "$have_randr" = yes; then + + # RANDR probably needs -lXrender + xrender_libs= + AC_CHECK_X_LIB(Xrender, XRenderSetSubpixelOrder, + [xrender_libs="-lXrender"], [true], -lXext -lX11) + + # first look for RANDR in -lXext + have_randr=no + AC_CHECK_X_LIB(Xext, XRRGetScreenInfo, + [have_randr=yes; SAVER_LIBS="$SAVER_LIBS $xrender_libs"], + [true], $xrender_libs -lXext -lX11) + + # if that failed, look in -lXrandr + if test "$have_randr" = no; then + AC_CHECK_X_LIB(Xrandr, XRRGetScreenInfo, + [have_randr=yes; SAVER_LIBS="$SAVER_LIBS -lXrandr $xrender_libs"], + [true], $xrender_libs -lXext -lX11) + fi + fi + + # if that succeeded, then we've really got it. + if test "$have_randr" = yes; then + AC_DEFINE(HAVE_RANDR) + fi + +elif test "$with_randr" != no; then + echo "error: must be yes or no: --with-randr-ext=$with_randr" + exit 1 +fi + + +############################################################################### +# +# Check for XF86MiscSetGrabKeysState (but only bother if we are already +# using other XF86 stuff.) +# +############################################################################### + +have_xf86miscsetgrabkeysstate=no +if test "$have_xf86gamma" = yes -o "$have_xf86vmode" = yes; then + AC_CHECK_X_LIB(Xxf86misc, XF86MiscSetGrabKeysState, + [have_xf86miscsetgrabkeysstate=yes], + [true], -lXext -lX11) + if test "$have_xf86miscsetgrabkeysstate" = yes ; then + SAVER_LIBS="$SAVER_LIBS -lXxf86misc" + AC_DEFINE(HAVE_XF86MISCSETGRABKEYSSTATE) + fi +fi + + ############################################################################### # # Check for HP XHPDisableReset and XHPEnableReset. # ############################################################################### +AC_MSG_CHECKING([for XHPDisableReset in X11/XHPlib.h]) AC_EGREP_X_HEADER(XHPDisableReset, X11/XHPlib.h, [AC_DEFINE(HAVE_XHPDISABLERESET) - SAVER_LIBS="-lXhp11 $SAVER_LIBS"]) + SAVER_LIBS="-lXhp11 $SAVER_LIBS" + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) ############################################################################### @@ -1384,6 +1533,15 @@ else exit 1 fi +# We can't lock on MacOS X, so don't even bother compiling in support for it. +# +if test "$ac_macosx" = yes; then + if test "$enable_locking" = yes; then + AC_MSG_RESULT(locking disabled: it doesn't work on MacOS X) + enable_locking=no + AC_DEFINE(NO_LOCKING) + fi +fi ############################################################################### @@ -1467,6 +1625,13 @@ if test "$enable_locking" = yes -a "$with_pam" = yes; then # those are in libc. On Linux and Solaris, they're in libdl. AC_CHECK_LIB(dl, dlopen, [PASSWD_LIBS="${PASSWD_LIBS} -ldl"]) + # On Linux, sigtimedwait() is in libc; on Solaris, it's in librt. + have_timedwait=no + AC_CHECK_LIB(c, sigtimedwait, [have_timedwait=yes]) + if test "$have_timedwait" = no ; then + AC_CHECK_LIB(rt, sigtimedwait, [PASSWD_LIBS="${PASSWD_LIBS} -lrt"]) + fi + AC_MSG_CHECKING(how to call pam_strerror) AC_CACHE_VAL(ac_cv_pam_strerror_args, [AC_TRY_COMPILE([#include @@ -1528,16 +1693,40 @@ if test "$enable_locking" = yes -a "$with_kerberos" = yes; then fi if test "$ac_cv_kerberos5" = yes ; then - have_kerberos=yes - have_kerberos5=yes - AC_DEFINE(HAVE_KERBEROS) - AC_DEFINE(HAVE_KERBEROS5) + + # Andrew Snare wrote: + # + # You were assuming that if kerberosV (krb5) was found, then kerberosIV + # (krb4) was also available. This turns out not to be the case with + # mit-krb-1.2.7; apparently backwards-compatibility with KerberosIV + # is optional. + # + # So, disable kerberosV support if libkrb4 can't be found. + # This is not the best solution, but it makes the compile not fail. + # + AC_CHECK_X_LIB(krb4, krb_get_tf_realm, + [have_kerberos=yes], + [have_kerberos=no]) + if test "$have_kerberos" = yes ; then + have_kerberos5=yes + AC_DEFINE(HAVE_KERBEROS) + AC_DEFINE(HAVE_KERBEROS5) + else + have_kerberos5=no + AC_MSG_WARN([Cannot find compat lib (libkrb4) needed to use Kerberos 5]) + fi + fi if test "$have_kerberos5" = yes ; then # from Matt Knopp # (who got it from amu@mit.edu) - PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err" + + PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err" + + # jwz: MacOS X uses -lkrb5, but not -lcrypt + AC_CHECK_X_LIB(crypt, crypt, [PASSWD_LIBS="$PASSWD_LIBS -lcrypt"]) + elif test "$have_kerberos" = yes ; then # from Tim Showalter for FreeBSD 4.2 PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes -lcom_err" @@ -1768,6 +1957,44 @@ elif test "$have_shadow" = yes ; then fi +############################################################################### +# +# Check for external password helper +# On SuSE, instead of having xscreensaver be a setuid program, they +# fork an external program that takes the password on stdin, and +# returns true if that password is a valid one. Then only that +# smaller program needs to be setuid. +# +# (Note that this external program is not a GUI: the GUI is still +# all in xscreensaver itself; the external program just does auth.) +# +############################################################################### + +have_passwd_helper=no +with_passwd_helper_req=unspecified + +AC_ARG_WITH(passwd-helper, +[ --with-passwd-helper Include support for an external password + verification helper program.], + [with_passwd_helper="$withval"; with_passwd_helper_req="$withval"],[with_passwd_helper=no]) +# no HANDLE_X_PATH_ARG for this one + +if test "$enable_locking" = no ; then + with_passwd_helper_req=no + with_passwd_helper=no +fi + +case "$with_passwd_helper" in + ""|no) : ;; + /*) + AC_DEFINE_UNQUOTED(PASSWD_HELPER_PROGRAM, "$with_passwd_helper") + have_passwd_helper=yes;; + *) + echo "error: --with-passwd-helper needs full pathname of helper (not '$with_passwd_helper')." >&2 + exit 1 +esac + + ############################################################################### # # Check for -lXm. @@ -1781,7 +2008,7 @@ User interface options: --with-motif Use the Motif toolkit for the user interface (not recommended.)], - [with_motif="$withval"; with_motif_req="$withval"],[with_motif=yes]) + [with_motif="$withval"; with_motif_req="$withval"],[with_motif=no]) HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif) @@ -1882,6 +2109,8 @@ parse_gtk_version_string() { jurassic_gtk=no +gtk2_halfassed=no + if test "$with_gtk" = yes; then have_gtk=no @@ -1909,7 +2138,6 @@ if test "$with_gtk" = yes; then # the new way... # run pkg-config based tests. # - pkgs='' pkg_check_version() { if test "$ok" = yes ; then @@ -1935,31 +2163,42 @@ if test "$with_gtk" = yes; then fi } + AC_MSG_RESULT(checking for GTK 2.x with pkg-config based tests...) + ok="yes" - pkg_check_version gtk+-2.0 2.0.1 ; ac_gtk_version_string="$vers" - pkg_check_version gmodule-2.0 2.0.0 - pkg_check_version libxml-2.0 2.4.6 - pkg_check_version libglade-2.0 1.99.0 + pkg_check_version gtk+-2.0 2.0.1 ; ac_gtk_version_string="$vers" + pkg_check_version gmodule-2.0 2.0.0 + pkg_check_version libxml-2.0 2.4.6 + pkg_check_version libglade-2.0 1.99.0 +# pkg_check_version gdk_pixbuf 0.1 have_gtk="$ok" if test "$have_gtk" = yes; then have_gtk2=yes AC_DEFINE(HAVE_GTK2) + else + if test -n "$ac_gtk_version_string" ; then + gtk2_halfassed="$ac_gtk_version_string" + gtk2_halfassed_lib="$req" + fi fi if test "$have_gtk" = no; then # # we don't have GTK 2. Let's look for GTK 1. # + AC_MSG_RESULT(checking for GTK 1.x with pkg-config based tests...) + pkgs='' ok="yes" - pkg_check_version gtk+ 1.2 ; ac_gtk_version_string="$vers" - pkg_check_version glib 1.0 + pkg_check_version gtk+ 1.2 ; ac_gtk_version_string="$vers" + pkg_check_version glib 1.0 + pkg_check_version gdk_pixbuf 0.1 have_gtk="$ok" # Now check for Gnome... # - if test "$have_gtk" = yes; then + if test "$have_gtk" = yes -a "$with_gnome" = yes; then old_pkgs="$pkgs" ok=yes pkg_check_version capplet 1.0 @@ -1999,6 +2238,7 @@ if test "$with_gtk" = yes; then # the old way... # run {gnome,gtk}-config based tests. # + AC_MSG_RESULT(checking for GTK 1.x with gtk-config based tests...) AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path) AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path) @@ -2018,15 +2258,16 @@ if test "$with_gtk" = yes; then AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string, [ac_cv_gtk_version_string=`$gtk_config --version`]) ac_gtk_version_string=$ac_cv_gtk_version_string + parse_gtk_version_string fi - parse_gtk_version_string - - if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002 - then - have_gtk=no - have_gnome=no - jurassic_gtk=yes + if test "$have_gtk" = yes; then + if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002 + then + have_gtk=no + have_gnome=no + jurassic_gtk=yes + fi fi if test "$have_gtk" = yes; then @@ -2039,12 +2280,17 @@ if test "$with_gtk" = yes; then ac_gtk_config_libs=$ac_cv_gtk_config_libs # Check for Gnome Capplet support. + # Note that this is only needed with Gnome 1.x, not Gnome 2.x. + # In a Gnome 2.x world, libcapplet will not exist. + # (In fact, this likely won't even be checked, since in a Gnome 2.x + # world, we will probably be up in the "$pkg_config" branch instead + # of here in the "$gnome_config" branch.) # if test "$have_gnome" = yes -a "$have_gtk" = yes; then gnome_config_libs="gtk capplet gnomeui gdk_pixbuf" AC_MSG_CHECKING(for Gnome capplet includes) AC_CACHE_VAL(ac_cv_gnome_config_cflags, - [if ( $gnome_config --cflags $gnome_config_libs >/dev/null 2>&1 | \ + [if ( $gnome_config --cflags $gnome_config_libs 2>&1 | \ grep Unknown >/dev/null ) ; then ac_cv_gnome_config_cflags='' else @@ -2062,7 +2308,7 @@ if test "$with_gtk" = yes; then if test "$have_gnome" = yes -a "$have_gtk" = yes; then AC_MSG_CHECKING(for Gnome capplet libs) AC_CACHE_VAL(ac_cv_gnome_config_libs, - [if ( $gnome_config --libs $gnome_config_libs >/dev/null 2>&1 | + [if ( $gnome_config --libs $gnome_config_libs 2>&1 | grep Unknown >/dev/null ) ; then ac_cv_gnome_config_libs='' else @@ -2090,6 +2336,7 @@ if test "$with_gtk" = yes; then if test "$have_gtk" = yes -a "$have_gtk2" = no; then # check for this function that was not in libcapplet 1.2. + # (only needed in Gnome/Gtk 1.x, not Gnome/Gtk 2.x) AC_CHECK_X_LIB(capplet, capplet_widget_changes_are_immediate, [AC_DEFINE(HAVE_CRAPPLET_IMMEDIATE)], [true], $ac_gnome_config_libs) @@ -2097,14 +2344,17 @@ if test "$with_gtk" = yes; then GNOME_DATADIR="" - if test "$have_gnome" = yes -a "$have_gtk" = yes; then - if test -n "$gnome_config"; then - GNOME_DATADIR=`$gnome_config --datadir` + if test "$have_gtk" = yes; then + if test -n "$pkg_config"; then + if test "$have_gtk2" = yes; then + GNOME_DATADIR=`$pkg_config --variable=prefix gtk+-2.0` + else + GNOME_DATADIR=`$pkg_config --variable=prefix gtk+` + fi else - #### is this right? - GNOME_DATADIR=`$pkg_config --variable=prefix gtk+` - GNOME_DATADIR="$GNOME_DATADIR/share" + GNOME_DATADIR=`$gtk_config --prefix` fi + GNOME_DATADIR="$GNOME_DATADIR/share" fi # .desktop files go in different places in Gnome 1.x and Gnome 2.x... @@ -2132,10 +2382,11 @@ fi # Check for the Gnome Help Browser. # -if test "$have_gnome" = yes; then - AC_CHECK_PROG(have_gnome_help, gnome-help-browser, yes, no) -else - have_gnome_help=no +if test "$have_gtk" = yes; then + AC_CHECK_PROGS(have_gnome_help, yelp gnome-help-browser, no) + if test "$have_gnome_help" != no; then + have_gnome_help=yes + fi fi @@ -2200,11 +2451,21 @@ if test "$with_xml" = yes; then # pkgs="" ok="yes" - pkg_check_version xml2 1.0 - if test "$ok" = no; then + # If we have Gtk 2.x, then *only* XML 2.x will work. + # If we have Gtk 1.x, or don't have Gtk at all, then + # either XML 1.x or 2.x will work. + + # First check for XML 2.x. + # + pkg_check_version libxml-2.0 2.4.6 + + # If that didn't work (we don't have XML 2.x) and we *don't* have + # Gtk 2.x, then check to see if we have XML 1.x + # + if test "$ok" = no -a "$have_gtk2" = no; then ok=yes - pkg_check_version xml 1.0 + pkg_check_version libxml 1.0 fi have_xml="$ok" @@ -2221,7 +2482,7 @@ if test "$with_xml" = yes; then else # # the old way... - # run {gnome,gtk}-config based tests. + # run {xml2,xml}-config based tests. # AC_PATH_PROGS(xml_config, xml2-config xml-config,, $xml_path) @@ -2272,7 +2533,7 @@ if test "$with_xml" = yes; then # we have the header, now check for the library have_xml=no xml_halfassed=yes - AC_CHECK_X_LIB(xml, xmlParseChunk, + AC_CHECK_X_LIB(c, xmlParseChunk, [have_xml=yes xml_halfassed=no XML_LIBS="$ac_xml_config_libs" @@ -2498,15 +2759,15 @@ if test "$with_gl" = yes; then if test "$ac_have_mesa_gl" = yes ; then AC_CHECK_X_LIB(MesaGL, glXCreateContext, [gl_lib_1="MesaGL" - GL_LIBS="-lMesaGL -lMesaGLU $GL_LIBS"], - [], -lMesaGLU $GL_LIBS -lX11 -lXext -lm) + GL_LIBS="-lMesaGL -lMesaGLU $VIDMODE_LIBS $GL_LIBS"], + [], -lMesaGLU $GL_LIBS -lX11 -lXext $VIDMODE_LIBS -lm) fi if test "$gl_lib_1" = "" ; then AC_CHECK_X_LIB(GL, glXCreateContext, [gl_lib_1="GL" - GL_LIBS="-lGL -lGLU $GL_LIBS"], - [], -lGLU $GL_LIBS -lX11 -lXext -lm) + GL_LIBS="-lGL -lGLU $VIDMODE_LIBS $GL_LIBS"], + [], -lGLU $GL_LIBS -lX11 -lXext $VIDMODE_LIBS -lm) fi if test "$gl_lib_1" = "" ; then @@ -2540,8 +2801,29 @@ if test "$with_gl" = yes; then #include #ifndef MESA_MAJOR_VERSION # include -# define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION -# define MESA_MINOR_VERSION XMESA_MINOR_VERSION +# ifdef XMESA_MAJOR_VERSION + /* Around Mesa 3.2, they took out the Mesa version number, so instead, + we have to check the XMesa version number (the number of the X protocol + support, which seems to be the same as the Mesa version number.) + */ +# define MESA_MAJOR_VERSION XMESA_MAJOR_VERSION +# define MESA_MINOR_VERSION XMESA_MINOR_VERSION +# else + /* Oh great. Some time after 3.4, they took out the xmesa.h header file, + so we have no way of telling what version of Mesa this is at all. + So, we'll guess that the osmesa version (the "offscreen protocol") + is less than or equal to the real mesa version number. Except that + if OSmesa is 3.3, assume at least Mesa 3.4, since OSmesa was 3.3 in + Mesa 3.4. And Mesa 3.3 had xmesa.h. What a complete load of shit! + */ +# include +# define MESA_MAJOR_VERSION OSMESA_MAJOR_VERSION +# define MESA_MINOR_VERSION OSMESA_MINOR_VERSION or newer, probably? +# if OSMESA_MAJOR_VERSION == 3 && OSMESA_MINOR_VERSION == 3 +# undef MESA_MINOR_VERSION +# define MESA_MINOR_VERSION 4 or newer, probably? +# endif +# endif #endif configure: MESA_MAJOR_VERSION MESA_MINOR_VERSION EOF @@ -2557,7 +2839,7 @@ EOF # M4 sucks!! changequote(X,Y) mglv=`echo "$mglv" | sed -n \ - 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'` + 's/^configure: *\([0-9][0-9]*\) *\([0-9].*\)$/\1.\2/p'` changequote([,]) rm -f conftest.$ac_ext @@ -2568,9 +2850,12 @@ EOF 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_string="$mglv" + # M4 sucks!! + changequote(X,Y) + maj=`echo "$mglv" | sed -n 's/^\([0-9][0-9]*\)\..*$/\1/p'` + min=`echo "$mglv" | sed -n 's/^.*\.\([0-9][0-9]*\).*$/\1/p'` + changequote([,]) ac_mesagl_version=`echo "$maj * 1000 + $min" | bc` if test -z "$ac_mesagl_version"; then ac_mesagl_version=unknown @@ -2615,7 +2900,9 @@ HANDLE_X_PATH_ARG(with_gle, --with-gle, GLE) GLE_LIBS="" -if test "$with_gle" = yes; then +if test "$have_gl" = no ; then + true +elif test "$with_gle" = yes; then AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no, [#include ]) @@ -2717,7 +3004,6 @@ if test "$have_motif" = yes -a "$have_xpm" = yes ; then fi fi - ############################################################################### # # Check for -lgdk_pixbuf. @@ -2763,20 +3049,35 @@ if test "$with_gdk_pixbuf" = yes; then # pkgs='' ok="yes" - pkg_check_version gdk-pixbuf-2.0 2.0.0 - pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0 - have_gdk_pixbuf="$ok" - have_gdk_pixbuf2="$ok" - if test "$have_gdk_pixbuf2" = no; then + # If we have Gtk 2.x, then *only* gdk-pixbuf 2.x will work. + # If we have Gtk 1.x, then *only* gdk-pixbuf 1.x will work. + # If we don't have Gtk at all, then either will work. + + if test "$have_gtk" = no -o "$have_gtk2" = yes; then # - # We don't have pixbuf 2.x; check for 1.x. + # we don't have Gtk; or we have Gtk 2.x. Check for pixbuf 2.x. # - pkgs='' - ok="yes" - pkg_check_version gdk-pixbuf 0.0 - pkg_check_version gdk-pixbuf-xlib 0.0 + AC_MSG_RESULT(checking for gdk_pixbuf 2.x with gtk-config based tests...) + pkg_check_version gdk-pixbuf-2.0 2.0.0 + pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0 have_gdk_pixbuf="$ok" + have_gdk_pixbuf2="$ok" + fi + + if test "$have_gtk" = no -o "$have_gtk2" = no; then + # + # we don't have Gtk; or we have Gtk 1.x. + # If we don't have pixbuf 2.x, then check for pixbuf 1.x. + # + if test "$have_gdk_pixbuf2" = no; then + pkgs='' + ok="yes" + AC_MSG_RESULT(checking for gdk_pixbuf 1.x with gtk-config based tests...) + pkg_check_version gdk_pixbuf 0.0 + pkg_check_version gdk_pixbuf_xlib 0.0 + have_gdk_pixbuf="$ok" + fi fi if test "$have_gdk_pixbuf" = yes; then @@ -2789,6 +3090,7 @@ if test "$with_gdk_pixbuf" = yes; then ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs fi + if test "$have_gdk_pixbuf" = no; then # # the old way... @@ -2798,6 +3100,8 @@ if test "$with_gdk_pixbuf" = yes; then # pkg-config exists, but doesn't know about pixbuf. # + AC_MSG_RESULT(checking for gdk_pixbuf with gdk-pixbuf-config based tests...) + # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then # look in /foo/bin/ for for gdk-pixbuf-config. # @@ -2850,10 +3154,10 @@ if test "$with_gdk_pixbuf" = yes; then have_gdk_pixbuf=no - # check for header 1... + # check for header A... AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes]) - # if that worked, check for header 2... + # if that worked, check for header B... if test "$have_gdk_pixbuf" = yes; then have_gdk_pixbuf=no gdk_pixbuf_halfassed=yes @@ -2861,7 +3165,7 @@ if test "$with_gdk_pixbuf" = yes; then [have_gdk_pixbuf=yes gdk_pixbuf_halfassed=no]) - # yay, it has a new name in GTK2... + # yay, it has a new name in Gtk 2.x... if test "$have_gdk_pixbuf" = no; then have_gdk_pixbuf=no gdk_pixbuf_halfassed=yes @@ -2879,10 +3183,10 @@ if test "$with_gdk_pixbuf" = yes; then have_gdk_pixbuf=no gdk_pixbuf_halfassed=yes - # library 1... + # library A... AC_CHECK_X_LIB(c, gdk_pixbuf_new_from_file, [have_gdk_pixbuf=yes],, $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm) - # library 2... + # library B... if test "$have_gdk_pixbuf" = yes; then have_gdk_pixbuf=no AC_CHECK_X_LIB(c, gdk_pixbuf_xlib_init, @@ -2912,9 +3216,7 @@ have_jpeg=no with_jpeg_req=unspecified jpeg_halfassed=no AC_ARG_WITH(jpeg, -[ --with-jpeg Include support for the JPEG library in some demos. - (If this library is available, webcollage will be a - . lot faster.)], +[ --with-jpeg Include support for the JPEG library.], [with_jpeg="$withval"; with_jpeg_req="$withval"], [with_jpeg=yes]) @@ -2943,6 +3245,19 @@ if test "$with_jpeg" = yes; then fi +############################################################################### +# +# Check for pty support for 'phosphor' +# +############################################################################### + +PTY_LIBS= +AC_CHECK_HEADERS(pty.h util.h) +AC_CHECK_X_LIB(util, forkpty, + [PTY_LIBS="-lutil" + AC_DEFINE(HAVE_FORKPTY)]) + + ############################################################################### # # Check for the XSHM server extension. @@ -3077,7 +3392,7 @@ AC_ARG_WITH(fortune,[ --with-fortune=PROGRAM Some demos are able to run an external program and display its text; this names the program to use by default (though it can be overridden with X - resources.) Default is \"/usr/games/fortune\".], + resources.) Default is "/usr/games/fortune".], [with_fortune_req="$withval"; with_fortune="$withval"],[with_fortune=yes]) if test "$with_fortune" = no || test "$with_fortune" = yes ; then @@ -3164,7 +3479,7 @@ AC_DEFINE_UNQUOTED(FORTUNE_PROGRAM, "$ac_cv_fortune_program") setuid_hacks_default=no setuid_hacks="$setuid_hacks_default" AC_ARG_WITH(setuid-hacks, -[ --with-setuid-hacks Allow some demos to be installed \`setuid root' +[ --with-setuid-hacks Allow some demos to be installed `setuid root' (which is needed in order to ping other hosts.) ], [setuid_hacks="$withval"], [setuid_hacks="$setuid_hacks_default"]) @@ -3200,7 +3515,7 @@ if test \! -z "$libdir" ; then fi -PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm +PREFERRED_DEMO_PROGRAM='' ALL_DEMO_PROGRAMS= if test "$have_motif" = yes; then PREFERRED_DEMO_PROGRAM=xscreensaver-demo-Xm @@ -3220,6 +3535,10 @@ if test "$have_pam" = yes; then PASSWD_SRCS="$PASSWD_SRCS \$(PAM_SRCS)" PASSWD_OBJS="$PASSWD_OBJS \$(PAM_OBJS)" INSTALL_PAM="install-pam" +fi +if test "$have_passwd_helper" = yes; then + PASSWD_SRCS="$PASSWD_SRCS \$(PWHELPER_SRCS)" + PASSWD_OBJS="$PASSWD_OBJS \$(PWHELPER_OBJS)" fi PASSWD_SRCS="$PASSWD_SRCS \$(PWENT_SRCS)" PASSWD_OBJS="$PASSWD_OBJS \$(PWENT_OBJS)" @@ -3233,6 +3552,17 @@ else LOCK_OBJS='$(NOLOCK_OBJS_1)' fi +if test "$ac_macosx" = yes; then + EXES_OSX='$(EXES_OSX)' + SCRIPTS_OSX='$(SCRIPTS_OSX)' + MEN_OSX='$(MEN_OSX)' +else + EXES_OSX= + SCRIPTS_OSX= + MEN_OSX= +fi + + INSTALL_SETUID='$(INSTALL_PROGRAM) $(SUID_FLAGS)' if test "$need_setuid" = yes; then @@ -3259,7 +3589,6 @@ fi if test "$have_gle" = yes; then GLE_EXES='$(GLE_EXES)' - GLE_MEN='$(GLE_MEN)' GLE_KLUDGE="${tab} " else GLE_KLUDGE="-${tab} " @@ -3297,19 +3626,77 @@ fi # After computing $HACK_CONF_DIR, make sure $GLADE_DATADIR has a value # so that we know where to install the Gtk pixmaps. # +# It should usually be "/usr/share/pixmaps/", but we can't just use +# "$(prefix)/share/pixmaps" because that would usually result in +# "/usr/X11R6/share/pixmaps/", which is wrong. It needs to be the +# Gnome/Gtk prefix, not the overall prefix. +# if test -n "$GNOME_DATADIR" ; then GLADE_DATADIR='$(GNOME_DATADIR)/xscreensaver' elif test "$have_gtk" = yes; then - # should this be "$(prefix)/share/pixmaps"? But /usr/X11R6/share/ is wrong... - GLADE_DATADIR='/usr/share/xscreensaver' + if test -n "$pkg_config"; then + if test "$have_gtk2" = yes; then + GLADE_DATADIR=`$pkg_config --variable=prefix gtk+-2.0` + else + GLADE_DATADIR=`$pkg_config --variable=prefix gtk+` + fi + else + GLADE_DATADIR=`$gtk_config --prefix` + fi + GLADE_DATADIR="$GLADE_DATADIR/share/xscreensaver" else GLADE_DATADIR='' fi +# Set PO_DATADIR to something sensible. +# +AC_MSG_CHECKING([for locale directory]) +if test -n "$GNOME_DATADIR" ; then + PO_DATADIR="$GNOME_DATADIR" +elif test "$have_gtk" = yes; then + if test -n "$pkg_config"; then + if test "$have_gtk2" = yes; then + PO_DATADIR=`$pkg_config --variable=prefix gtk+-2.0` + else + PO_DATADIR=`$pkg_config --variable=prefix gtk+` + fi + else + PO_DATADIR=`$gtk_config --prefix` + fi + PO_DATADIR="$PO_DATADIR/share" +fi + +if test -z "$PO_DATADIR" ; then + # + # #### Total fucking kludge -- + # Map /build/prefix/usr/X11R6/share/ to /build/prefix/usr/share/ + # but of course we need to expand all the nested variables to do that... + # + dd=$datadir + eval dd=${dd} + eval dd=${dd} + eval dd=${dd} + eval dd=${dd} + eval dd=${dd} + PO_DATADIR=`echo $dd | sed 's@/X11R6/@/@'` +fi + +AC_MSG_RESULT($PO_DATADIR/locale) + + # canonicalize slashes. HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'` +# gcc 3.0 likes to issue this warning for every file: +# +# cc1: warning: changing search order for system directory "/usr/local/include" +# cc1: warning: as it has already been specified as a non-system directory +# +# Yay. We can only avoid that by deleting "-I${prefix}/include" from the list. +# Which *should* be totally redundant, and thus an ok thing to delete? +# +INCLUDES=`echo "$INCLUDES" | sed 's@ -I${prefix}/include@@g;'` ############################################################################### @@ -3329,6 +3716,7 @@ AC_SUBST(XML_LIBS) AC_SUBST(JPEG_LIBS) AC_SUBST(HACK_LIBS) AC_SUBST(XPM_LIBS) +AC_SUBST(PTY_LIBS) AC_SUBST(GL_LIBS) AC_SUBST(GLE_LIBS) AC_SUBST(XDPMS_LIBS) @@ -3339,6 +3727,11 @@ AC_SUBST(INSTALL_DIRS) AC_SUBST(NEED_SETUID) AC_SUBST(INSTALL_PAM) +AC_SUBST(OBJCC) +AC_SUBST(EXES_OSX) +AC_SUBST(SCRIPTS_OSX) +AC_SUBST(MEN_OSX) + AC_SUBST(PASSWD_SRCS) AC_SUBST(PASSWD_OBJS) AC_SUBST(XMU_SRCS) @@ -3355,13 +3748,13 @@ AC_SUBST(GL_UTIL_EXES) AC_SUBST(GL_MEN) AC_SUBST(GL_KLUDGE) AC_SUBST(GLE_EXES) -AC_SUBST(GLE_MEN) AC_SUBST(GLE_KLUDGE) AC_SUBST(GNOMEHELP_Y) AC_SUBST(GNOMEHELP_N) AC_SUBST(HACKDIR) AC_SUBST(GNOME_DATADIR) AC_SUBST(GLADE_DATADIR) +AC_SUBST(PO_DATADIR) AC_SUBST(GNOME_PANELDIR) AC_SUBST(HACK_CONF_DIR) AC_SUBST(GTK_EXTRA_OBJS) @@ -3380,7 +3773,8 @@ AC_OUTPUT(Makefile hacks/Makefile hacks/glx/Makefile po/Makefile.in - driver/XScreenSaver.ad) + driver/XScreenSaver.ad + driver/xscreensaver.kss) ############################################################################### # @@ -3474,14 +3868,38 @@ if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then warn 'The XF86VMODE extension was requested, but was not found.' fi +if test "$with_randr_req" = yes -a "$have_randr" = no ; then + warn 'The RANDR extension was requested, but was not found.' +fi + if test "$with_proc_interrupts_req" = yes -a "$have_proc_interrupts" = no; then warn "Checking of /proc/interrupts was requested, but it's bogus." fi +motif_warn2() { + warn2 'Though the Motif front-end to xscreensaver is still' + warn2 'maintained, it is no longer being updated with new' + warn2 'features: all new development on the xscreensaver-demo' + warn2 'program is happening in the GTK version, and not in the' + warn2 'Motif version. It is recommended that you build against' + warn2 'GTK instead of Motif. See .' +} if test "$have_motif" = no -a "$have_gtk" = no; then - warnL "Neither Motif nor Gtk seem to be available;" - warn2 "the \`xscreensaver-demo' program requires one of these." + + if test "$with_motif" = yes; then + warnL "Neither the GTK nor Motif libraries were found; the" + warn2 "\`xscreensaver-demo' program requires one of these." + echo '' + motif_warn2 + else + warnL "The GTK libraries do not seem to be available; the" + warn2 "\`xscreensaver-demo' program requires them." + echo '' + warn2 'You can use Motif or Lesstif instead of GTK (use the' + warn2 "\`--with-motif' option) but that is NOT recommended." + motif_warn2 + fi elif test "$with_motif_req" = yes -a "$have_motif" = no ; then warnL "Use of Motif was requested, but it wasn't found;" @@ -3500,15 +3918,28 @@ elif test "$jurassic_gtk" = yes ; then warnL "Gtk was found on this system, but it is version $v;" fi - warn2 "Gtk $pref_gtk or newer is required. Motif will be used instead." + warn2 "Gtk $pref_gtk or newer is required." elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then - warnL "Use of Gtk was requested, but it wasn't found;" - warn2 "Motif will be used instead." + warnL "Use of Gtk was requested, but it wasn't found." +fi + +if test "$gtk2_halfassed" != no ; then + warnL "GTK version $gtk2_halfassed was found, but at least one supporting" + warn2 "library ($gtk2_halfassed_lib) was not, so GTK 2.x can't be used." + if test "$have_gtk" = yes ; then + v="$ac_gtk_version_string" + warn2 "GTK $v is also installed, so it will be used instead." + warn2 "Please read the above output and the \`config.log' file" + warn2 "for more details." + fi fi -if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then +if test "$with_gnome_req" = yes -a "$have_gnome" = no \ + -a "$have_gtk2" = no; then + # don't issue this warning if we have GTK2 -- in that case, the + # Gnome-specific code isn't needed. warn 'Use of the Gnome Control Panel was requested, but the necessary' warn2 'headers and/or libraries were not found.' fi @@ -3544,6 +3975,12 @@ if test "$have_gtk" = yes ; then fi fi +if test "$have_gtk" = yes -a "$have_gdk_pixbuf" = no ; then + warn "GTK is being used, but the GDK-Pixbuf library and/or" + warn2 "headers were not found. That can't be good. Please" + warn2 "install the GDK-Pixbuf development kit and re-configure." +fi + if test "$have_motif" = yes -a "$have_lesstif" = yes ; then preferred_lesstif=0.92 @@ -3566,12 +4003,7 @@ fi if test "$have_motif" = yes -a "$have_gtk" = no ; then warn 'Motif is being used, and GTK is not.' echo '' - warn2 'Though the Motif front-end to xscreensaver is still' - warn2 'maintained, it is no longer being updated with new' - warn2 'features: all new development on the xscreensaver-demo' - warn2 'program is happening in the GTK version, and not in the' - warn2 'Motif version. It is recommended that you build against' - warn2 'GTK instead of Motif. See .' + motif_warn2 fi @@ -3613,8 +4045,7 @@ if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no || \ echo '' warn2 'Some of the demos will not be as colorful as they' warn2 'could be. You should consider installing Pixbuf or' - warn2 'XPM and re-running configure. (Remember to delete' - warn2 'the config.cache file first.) The Pixbuf library is' + warn2 'XPM and re-running configure. The Pixbuf library is' warn2 'a part of GNOME. The XPM library comes with most' warn2 'X11 installations; you can also find it at the X11' warn2 'archive sites, such as .' @@ -3642,7 +4073,13 @@ if test "$have_jpeg" = no ; then echo '' fi - warn2 "This means the \`webcollage' program will be much slower." + if test "$have_gdk_pixbuf" = no ; then + warn2 "This means that it won't be possible for the image-manipulating" + warn2 "display modes to load files from disk; and it also means that" + warn2 "the \`webcollage' program will be much slower." + else + warn2 "This means the \`webcollage' program will be much slower." + fi fi @@ -3656,13 +4093,14 @@ if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then warn2 "Make sure you are using version $preferred_mesagl or newer." elif test \! "$ac_mesagl_version" -gt 2006; then - warnL "MesaGL version $mgv is being used. MesaGL 2.6 and earlier" - warn2 "have a security bug. It is strongly recommended that you" - warn2 "upgrade to at least version $preferred_mesagl." + warnL "MesaGL version number is $mgv --" + warn2 "MesaGL 2.6 and earlier have a security bug. It is strongly" + warn2 "recommended that you upgrade to at least version $preferred_mesagl." elif test \! "$ac_mesagl_version" -gt 3003; then - warnL "MesaGL version $mgv is being used. That version has some" - warn2 "bugs; it is recommended that you upgrade to $pgl or newer." + warnL "MesaGL version number is $mgv --" + warn2 "MesaGL 3.3 and earlier have some bugs; it is recommended" + warn2 "that you upgrade to $pgl or newer." fi fi @@ -3686,8 +4124,7 @@ if test "$have_gl" = no ; then 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 "re-running configure. If your vendor doesn't ship" warn2 'their own implementation of OpenGL, you can get a free' warn2 'version at . For general OpenGL' warn2 'info, see .' @@ -3696,6 +4133,11 @@ fi if test "$have_gl" = yes -a "$have_gle" = no ; then + + # nobody cares about this; don't print the warning unless it was + # requested and not found, or halfway-found. + if test "$with_gle_req" = yes -o "$gle_halfassed" = yes ; then + if test "$with_gle_req" = yes ; then noteL 'Use of the GLE (GL Extrusion) library was requested, but' warn2 'it was not found (though the OpenGL library was found, and' @@ -3719,11 +4161,11 @@ if test "$have_gl" = yes -a "$have_gle" = no ; then echo '' warn2 'Some of the OpenGL (3D) demos (those that depend on GLE)' warn2 'will not be built or installed. You might want to consider' - warn2 'installing GLE and re-running configure. (Remember to delete' - warn2 'the config.cache file first.) You can find the GLE library' - warn2 'at . For general OpenGL info,' - warn2 'see .' + warn2 'installing GLE and re-running configure. You can find the' + warn2 'GLE library at . For general' + warn2 'OpenGL info, see .' + fi fi @@ -3839,7 +4281,7 @@ if test "$do_dir_warning" = yes; then echo ' "xscreensaver-demo", and "xscreensaver-command" executables' echo " will be installed in ${bindir}/." echo "" - echo " The various graphics demos (140+ different executables) will" + echo " The various graphics demos (180+ different executables) will" echo " be installed in ${HACKDIR}/." echo "" echo " If you would prefer the demos to be installed elsewhere,"