X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.in;h=335afa2f57b60e219ed7c881b64b63c61febaa7b;hb=a94197e76a5dea5cb60542840809d6c20d0abbf3;hp=342988f7f9cd447006979626f285af9922729cda;hpb=82c5080773aae5e72ec155327c075775e023d2ee;p=xscreensaver diff --git a/configure.in b/configure.in index 342988f7..335afa2f 100644 --- a/configure.in +++ b/configure.in @@ -46,7 +46,7 @@ AC_DEFUN(AC_PROG_CC_ANSI, ;; *-dec-* ) - AC_MSG_RESULT(DEC: adding -std1) + AC_MSG_RESULT(DEC: adding -std1 -ieee) CC="$CC -std1" ;; @@ -344,7 +344,7 @@ AC_DEFUN(AC_CHECK_ICMPHDR, struct ip ip; i.type = ICMP_ECHO; i.code = 0; - i.cksum = 0; + i.checksum = 0; i.un.echo.id = 0; i.un.echo.sequence = 0; si.sin_family = AF_INET; @@ -516,15 +516,15 @@ AC_DEFUN(AC_X_RANDOM_PATHS, # 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 + if test -d /usr/include/$version || test -d /usr/contrib/$version/include then # if contrib exists, use it... - if test -d /usr/contrib/$version/lib ; then + if test -d /usr/contrib/$version/include ; 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 + if test -d /usr/include/$version ; then X_CFLAGS="$X_CFLAGS -I/usr/include/$version" X_LIBS="$X_LIBS -L/usr/lib/$version" fi @@ -536,21 +536,29 @@ AC_DEFUN(AC_X_RANDOM_PATHS, # Now find Motif. Thanks for not making xmkmf find this by # default, you losers. # - if test -d /usr/lib/Motif1.2 ; then + if test -d /usr/include/Motif2.1 ; then + X_CFLAGS="$X_CFLAGS -I/usr/include/Motif2.1" + X_LIBS="$X_LIBS -L/usr/lib/Motif2.1" + elif test -d /usr/include/Motif1.2 ; then 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 + elif test -d /usr/include/Motif1.1 ; then 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 + if test -d /opt/graphics/OpenGL/include ; then + # HP-UX 10.20 puts it here + X_CFLAGS="-I/opt/graphics/OpenGL/include $X_CFLAGS" + X_LIBS="-L/opt/graphics/OpenGL/lib $X_LIBS" + elif test -d /opt/Mesa/lib ; then X_CFLAGS="-I/opt/Mesa/include $X_CFLAGS" X_LIBS="-L/opt/Mesa/lib $X_LIBS" fi + 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" @@ -745,6 +753,13 @@ AC_PROG_INSTALL AC_PROG_INSTALL_DIRS AC_PROG_MAKE_SET +# By default, autoconf sets INSTALL_SCRIPT to '${INSTALL_PROGRAM}'. +# That's wrong: it should be set to '${INSTALL}', so that one can +# implement the "install-strip" target properly (strip executables, +# but do not try to strip scripts.) +# +INSTALL_SCRIPT='${INSTALL}' + # random libc stuff AC_HEADER_STDC AC_CHECK_HEADERS(unistd.h) @@ -758,7 +773,7 @@ AC_HEADER_DIRENT AC_GETTIMEOFDAY_ARGS AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv) -AC_CHECK_FUNCS(sigaction syslog realpath) +AC_CHECK_FUNCS(sigaction syslog realpath setrlimit) AC_CHECK_ICMP AC_CHECK_ICMPHDR AC_CHECK_HEADERS(crypt.h sys/select.h) @@ -792,13 +807,11 @@ AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes]) if test "$have_xmu" = no ; then XMU_SRCS='$(UTILS_SRC)/xmu.c' XMU_OBJS='$(UTILS_BIN)/xmu.o' + XMU_LIBS='' else XMU_SRCS='' XMU_OBJS='' - SAVER_LIBS="-lXmu $SAVER_LIBS" - HACK_LIBS="-lXmu $HACK_LIBS" - MOTIF_LIBS="-lXmu $MOTIF_LIBS" - GTK_LIBS="-lXmu $GTK_LIBS" + XMU_LIBS='-lXmu' AC_DEFINE(HAVE_XMU) fi @@ -848,43 +861,88 @@ fi ############################################################################### # -# Handle the --enable-subdir option +# Handle the --with-hackdir option # ############################################################################### -AC_ARG_ENABLE(subdir,[ +have_hackdir=yes +with_hackdir_req=unspecified +AC_ARG_WITH(hackdir,[ Installation options: - --enable-subdir=DIR Put the demo programs in a subdirectory of \`bindir', - instead of putting them in bindir itself. You can - specify the name of the subdirectory. For example, - \`--exec-prefix=/usr/local --enable-subdir=demos' - would put xscreensaver in /usr/local/bin/, and would - put the demos in /usr/local/bin/demos/. (If DIR - begins with /, then bindir will not be prepended.) - - --disable-subdir Just put the demos in \`bindir' (this is the default.) + --with-hackdir=DIR Where to install the hundreds of demo executables. + Default: \`PREFIX/lib/xscreensaver/' ], - [enable_subdir="$enableval"],[enable_subdir=no]) -if test x"$enable_subdir" = xno; then + [with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes]) + +if test x"$with_hackdir" = xyes; then + HACKDIR='${exec_prefix}/lib/xscreensaver' +elif test x"$with_hackdir" = xno; then HACKDIR='${bindir}' -elif test x"$enable_subdir" = xyes -o x"$enable_subdir" = x ; then - echo "error: must be a subdirectory name: --enable-subdir=$enable_subdir" - exit 1 else # there must be a better way than this... - if test -z "`echo $enable_subdir | sed 's@^/.*@@'`" ; then + if test -z "`echo $with_hackdir | sed 's@^/.*@@'`" ; then # absolute path - HACKDIR=$enable_subdir + HACKDIR=$with_hackdir else # relative path - HACKDIR='${bindir}/'$enable_subdir + HACKDIR="\${exec_prefix}$with_hackdir" fi fi # canonicalize slashes. HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'` +# This option used to be called --enable-subdir; make sure that is no longer +# used, since configure brain-damagedly ignores unknown --enable options. + +obsolete_enable= +AC_ARG_ENABLE(subdir,,[obsolete_enable=yes]) +if test -n "$obsolete_enable"; then + echo "error: the --enable-subdir option has been replaced with" + echo " the new --with-hackdir option; see \`configure --help'" + echo " for more information." + exit 1 +fi + + +############################################################################### +# +# Handle the --with-configdir option +# +############################################################################### + +have_configdir=yes +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 + whether GNOME is available. +], + [with_configdir="$withval"; with_configdir_req="$withval"], + [with_configdir=yes]) + +if test x"$with_configdir" = xyes; then + # filled in later... + HACK_CONF_DIR='' +elif test x"$with_configdir" = xno; then + echo "error: must be yes, or a pathname: --with-configdir=$with_configdir" + exit 1 +else + # there must be a better way than this... + if test -z "`echo $with_configdir | sed 's@^/.*@@'`" ; then + # absolute path + HACK_CONF_DIR=$with_configdir + else + # relative path + HACK_CONF_DIR="\${exec_prefix}$with_configdir" + fi +fi + + + ############################################################################### # @@ -1087,7 +1145,53 @@ fi ############################################################################### # -# Check for the XF86VMODE server extension. +# Check for the XINERAMA server extension. +# +############################################################################### + +have_xinerama=no +with_xinerama_req=unspecified +AC_ARG_WITH(xinerama-ext, +[ --with-xinerama-ext Include support for the XINERAMA extension.], + [with_xinerama="$withval"; with_xinerama_req="$withval"],[with_xinerama=yes]) + +HANDLE_X_PATH_ARG(with_xinerama, --with-xinerama-ext, XINERAMA) + +if test "$with_xinerama" = yes; then + + # first check for Xinerama.h + AC_CHECK_X_HEADER(X11/extensions/Xinerama.h, [have_xinerama=yes]) + + # if that succeeded, then check for the XINERAMA code in the libraries + if test "$have_xinerama" = yes; then + + # first look in -lXext + have_xinerama=no + AC_CHECK_X_LIB(Xext, XineramaQueryExtension, [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, + [have_xinerama=yes; SAVER_LIBS="$SAVER_LIBS -lXinerama"], + [true], -lXext -lX11) + fi + fi + + # if that succeeded, then we've really got it. + if test "$have_xinerama" = yes; then + AC_DEFINE(HAVE_XINERAMA) + fi + +elif test "$with_xinerama" != no; then + echo "error: must be yes or no: --with-xinerama-ext=$with_xinerama" + exit 1 +fi + + +############################################################################### +# +# Check for the XF86VMODE server extension (for virtual screens.) # ############################################################################### @@ -1124,6 +1228,67 @@ elif test "$with_xf86vmode" != no; then fi +############################################################################### +# +# Check for the XF86VMODE server extension (for gamma fading.) +# +############################################################################### + +have_xf86gamma=no +have_xf86gamma_ramp=no +with_xf86gamma_req=unspecified +AC_ARG_WITH(xf86gamma-ext, +[ --with-xf86gamma-ext Include support for XFree86 gamma fading.], + [with_xf86gamma="$withval"; with_xf86gamma_req="$withval"], + [with_xf86gamma=yes]) + +HANDLE_X_PATH_ARG(with_xf86gamma, --with-xf86gamma-ext, xf86gamma) + +if test "$with_xf86gamma" = yes; then + + # first check for xf86vmode.h, if we haven't already + if test "$have_xf86vmode" = yes; then + have_xf86gamma=yes + else + AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes]) + fi + + # if that succeeded, then check for the -lXxf86vm + if test "$have_xf86gamma" = yes; then + have_xf86gamma=no + AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGamma, + [have_xf86gamma=yes], + [true], -lXext -lX11) + fi + + # check for the Ramp versions of the functions too. + if test "$have_xf86gamma" = yes; then + have_xf86gamma_ramp=no + AC_CHECK_X_LIB(Xxf86vm, XF86VidModeSetGammaRamp, + [have_xf86gamma_ramp=yes], + [true], -lXext -lX11) + fi + + # if those tests succeeded, then we've really got the functions. + if test "$have_xf86gamma" = yes; then + AC_DEFINE(HAVE_XF86VMODE_GAMMA) + fi + + if test "$have_xf86gamma_ramp" = yes; then + AC_DEFINE(HAVE_XF86VMODE_GAMMA_RAMP) + fi + + # pull in the lib, if we haven't already + if test "$have_xf86gamma" = yes -a "$have_xf86vmode" = no; then + SAVER_LIBS="$SAVER_LIBS -lXxf86vm" + fi + +elif test "$with_xf86gamma" != no; then + echo "error: must be yes or no: --with-xf86gamma-ext=$with_xf86vmode" + exit 1 +fi + + ############################################################################### # # Check for HP XHPDisableReset and XHPEnableReset. @@ -1348,8 +1513,8 @@ if test "$enable_locking" = yes -a "$with_kerberos" = yes; then # (who got it from amu@mit.edu) PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err" elif test "$have_kerberos" = yes ; then - # from Tim Showalter - PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes" + # from Tim Showalter for FreeBSD 4.2 + PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes -lcom_err" fi if test "$have_kerberos" = yes ; then @@ -1736,7 +1901,7 @@ if test "$with_gtk" = yes; then # Check for Gnome Capplet support. # if test "$have_gnome" = yes -a "$have_gtk" = yes; then - gnome_config_libs="capplet gnomeui" + gnome_config_libs="gtk capplet gnomeui xml gdk_pixbuf" AC_MSG_CHECKING(for Gnome capplet includes) AC_CACHE_VAL(ac_cv_gnome_config_cflags, [if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \ @@ -1785,6 +1950,11 @@ if test "$with_gtk" = yes; then ac_gtk_config_cflags=$ac_gnome_config_cflags ac_gtk_config_libs=$ac_gnome_config_libs AC_DEFINE(HAVE_CRAPPLET) + + # check for this function that was not in libcapplet 1.2. + AC_CHECK_X_LIB(capplet, capplet_widget_changes_are_immediate, + [AC_DEFINE(HAVE_CRAPPLET_IMMEDIATE)], [true], + $ac_gnome_config_libs) fi @@ -1797,6 +1967,69 @@ if test "$with_gtk" = yes; then 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 +fi + + +############################################################################### +# +# Check for -lxml (if we have Gtk) +# +############################################################################### + +have_xml=no +with_xml_req=unspecified +xml_halfassed=no +AC_ARG_WITH(xml, +[ --with-xml The XML toolkit is needed for some parts of + the Gtk interface.], +[with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes]) + +HANDLE_X_PATH_ARG(with_xml, --with-xml, XML) + +if test "$with_xml" != yes -a "$with_xml" != no ; then + echo "error: must be yes or no: --with-xml=$with_xml" + exit 1 +fi + +if test "$have_gtk" != yes; then + # don't bother if no GTK + with_xml=no +fi + +if test "$with_xml" = yes; then + have_xml=no + + # the XML stuff is likely to be in GTK paths. + ac_save_X_CFLAGS="$X_CFLAGS" + ac_save_X_LIBS="$X_LIBS" + X_CFLAGS="$X_CFLAGS $ac_gtk_config_cflags" + X_LIBS="$X_LIBS $ac_gtk_config_libs" + + AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes]) + + if test "$have_xml" = yes; then + # we have the header, now check for the library + have_xml=no + xml_halfassed=yes + AC_CHECK_X_LIB(xml, xmlParseChunk, + [have_xml=yes + xml_halfassed=no + XML_LIBS="-lxml" + AC_DEFINE(HAVE_XML)]) + fi + + X_CFLAGS="$ac_save_X_CFLAGS" + X_LIBS="$ac_save_X_LIBS" + +fi + + ############################################################################### # # Checking whether Motif is really Lesstif. @@ -2214,6 +2447,92 @@ if test "$have_motif" = yes -a "$have_xpm" = yes ; then fi +############################################################################### +# +# Check for -lgdk_pixbuf. +# +############################################################################### + +have_gdk_pixbuf=no +with_gdk_pixbuf_req=unspecified +AC_ARG_WITH(pixbuf, +[ --with-pixbuf Include support for the GDK-Pixbuf library in some + demos, which will make it possible for them to read + GIF, JPEG, and PNG files as well.], + [with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"], + [with_gdk_pixbuf=yes]) + +HANDLE_X_PATH_ARG(with_gdk_pixbuf, --with-pixbuf, GDK_PIXBUF) + +if test "$with_gdk_pixbuf" = yes; then + + if test "$have_gtk" = yes; then + + ac_save_gdk_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $ac_gtk_config_cflags" + + have_gdk_pixbuf=no + AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes]) + if test "$have_gdk_pixbuf" = yes; then + have_gdk_pixbuf=no + AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h, [have_gdk_pixbuf=yes]) + fi + + CPPFLAGS="$ac_save_gdk_CPPFLAGS" + + if test "$have_gdk_pixbuf" = yes; then + AC_DEFINE(HAVE_GDK_PIXBUF) + XPM_LIBS="-lgdk_pixbuf -lgdk_pixbuf_xlib" + fi + fi + +elif test "$with_gdk_pixbuf" != no; then + echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf" + exit 1 +fi + + +############################################################################### +# +# Check for -ljpeg +# +############################################################################### + +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, + which will make it possible for them to read JPEG + files as well.], + [with_jpeg="$withval"; with_jpeg_req="$withval"], + [with_jpeg=yes]) + +HANDLE_X_PATH_ARG(with_jpeg, --with-jpeg, JPEG) + +if test "$with_jpeg" != yes -a "$with_jpeg" != no ; then + echo "error: must be yes or no: --with-jpeg=$with_jpeg" + exit 1 +fi + +if test "$with_jpeg" = yes; then + + have_jpeg=no + AC_CHECK_X_HEADER(jpeglib.h, [have_jpeg=yes]) + + if test "$have_jpeg" = yes; then + # we have the header, now check for the library + have_jpeg=no + jpeg_halfassed=yes + AC_CHECK_X_LIB(jpeg, jpeg_start_compress, + [have_jpeg=yes + jpeg_halfassed=no + JPEG_LIBS="-ljpeg" + AC_DEFINE(HAVE_JPEGLIB)]) + fi +fi + + ############################################################################### # # Check for the XSHM server extension. @@ -2223,7 +2542,7 @@ fi have_xshm=no with_xshm_req=unspecified AC_ARG_WITH(xshm-ext, -[ --with-xshm-ext Include support for the XSHM extension.], +[ --with-xshm-ext Include support for the Shared Memory extension.], [with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes]) HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM) @@ -2328,194 +2647,98 @@ elif test "$with_readdisplay" != no; then fi -############################################################################### -# -# Check for the SGI Iris Video Library. -# -############################################################################### - -have_sgivideo=no -with_sgivideo_req=unspecified -AC_ARG_WITH(sgivideo, -[ --with-sgivideo Include support for SGI's Iris Video 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 - have_sgivideo=no - AC_CHECK_LIB(vl, vlOpenVideo, [have_sgivideo=yes]) - if test "$have_sgivideo" = yes; then - SGI_VIDEO_OBJS="$(UTILS_BIN)/sgivideo.o" - SGI_VIDEO_LIBS="-lvl" - AC_DEFINE(HAVE_SGI_VIDEO) - fi - fi -elif test "$with_sgivideo" != no; then - echo "error: must be yes or no: --with-sgivideo=$with_sgivideo" - exit 1 -fi - - ############################################################################### # # Check for a program to generate random text. # # Zippy is funnier than the idiocy generally spat out by `fortune', -# so try to find that, by invoking Emacs and asking it where its -# libexec directory is ("yow" lives in there.) +# so first see if "fortune zippy" works. Else, use plain "fortune". # -# If that doesn't work, see if fortune, zippy, or yow are on $PATH, -# and if so, use them. -# -# If that doesn't work, look in /usr/games, and if it's there, use -# the full pathname. +# We used to dig around in Emacs to look for the "yow" program, but +# most people who have Emacs also have "fortune zippy", so nevermind. # ############################################################################### -with_zippy_req="" -AC_ARG_WITH(zippy,[ - --with-zippy=PROGRAM Some demos are able to run an external program and +with_fortune_req="" +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.) If you don't specify this, the default - is to use \"yow\" from the Emacs distribution (if you - have it) or else to use \"fortune\".], - [with_zippy_req="$withval"; with_zippy="$withval"],[with_zippy=yes]) + resources.) Default is \"/usr/games/fortune\".], + [with_fortune_req="$withval"; with_fortune="$withval"],[with_fortune=yes]) -if test "$with_zippy" = no || test "$with_zippy" = yes ; then - with_zippy="" - with_zippy_req="" +if test "$with_fortune" = no || test "$with_fortune" = yes ; then + with_fortune="" + with_fortune_req="" fi -if test -n "$with_zippy_req" ; then - ac_cv_zippy_program="" - case "$with_zippy_req" in +if test -n "$with_fortune_req" ; then + ac_cv_fortune_program="" + case "$with_fortune_req" in /*) - AC_MSG_CHECKING([for $with_zippy_req]) - if test -x "$with_zippy_req" ; then + + set dummy $with_fortune_req ; fortune_tmp=$2 + AC_MSG_CHECKING([for $fortune_tmp]) + if test -x "$fortune_tmp" ; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) - with_zippy="" + with_fortune="" fi ;; *) + set dummy $with_fortune_req ; fortune_tmp=$2 # don't cache - unset ac_cv_path_zip2 - AC_PATH_PROG(zip2, $with_zippy_req, []) - if test "$zip2" = ""; then - with_zippy="" + unset ac_cv_path_fortune_tmp + AC_PATH_PROG(fortune_tmp, $fortune_tmp, []) + if test -z "$fortune_tmp" ; then + with_fortune="" fi ;; esac - ac_cv_zippy_program="$with_zippy" + ac_cv_fortune_program="$with_fortune" -elif test -n "$ac_cv_zippy_program"; then - AC_MSG_RESULT([checking for zippy... (cached) $ac_cv_zippy_program]) +elif test -n "$ac_cv_fortune_program"; then + AC_MSG_RESULT([checking for fortune... (cached) $ac_cv_fortune_program]) fi -if test ! -n "$ac_cv_zippy_program"; then +unset ac_cv_path_fortune_tmp +unset fortune_tmp - AC_CHECK_PROGS(emacs_exe, emacs) - AC_CHECK_PROGS(xemacs_exe, xemacs) +if test -z "$ac_cv_fortune_program" ; then - ac_cv_zippy_program="" - eargs='-batch -q -nw --eval' + # first look for fortune in /usr/games/ (and use absolute path) + AC_PATH_PROGS(fortune_tmp, fortune,, "/usr/games") - if test -n "$emacs_exe" ; then - AC_MSG_CHECKING([for emacs yow]) - # - # get emacs to tell us where the libexec directory is. - # - dir=`$emacs_exe $eargs '(princ (concat exec-directory "\n"))' \ - 2>/dev/null | tail -1` - dir=`echo "$dir" | sed 's@///*@/@g;s@/$@@'` - # - # try running libexec/yow and see if it exits without error. - # - if test x"$dir" != x -a -x "$dir/yow" ; then - if $dir/yow >&- 2>&- ; then - ac_cv_zippy_program="$dir/yow" - AC_MSG_RESULT($ac_cv_zippy_program) - else - AC_MSG_RESULT(no) - fi - fi + # if it's not there, look on $PATH (and don't use absolute path) + if test -z "$fortune_tmp" ; then + AC_CHECK_PROGS(fortune_tmp, fortune) fi - if test -z "$ac_cv_zippy_program" ; then - AC_MSG_CHECKING([for xemacs yow]) - if test -n "$xemacs_exe" ; then - # - # get xemacs to tell us where the libexec directory is. - # - dir=`$xemacs_exe $eargs '(princ (concat exec-directory "\n"))' \ - 2>/dev/null | tail -1` - dir=`echo "$dir" | sed 's@///*@/@g;s@/$@@'` - # - # try running libexec/yow and see if it exits without error. - # - if test x"$dir" != x -a -x "$dir/yow" ; then - if $dir/yow >&- 2>&- ; then - ac_cv_zippy_program="$dir/yow" - AC_MSG_RESULT($ac_cv_zippy_program) - else - # - # in some xemacs installations, the pathname of the yow.lines file - # isn't hardcoded into the yow executable, and must be passed on - # the command line. See if it's in libexec/../etc/. - - # M4 sucks!! - changequote(X,Y) - dir_up=`echo "$dir" | sed 's@/[^/]*$@@'` - changequote([,]) - - yowlines="$dir_up/etc/yow.lines" - if $dir/yow -f $yowlines >&- 2>&- ; then - ac_cv_zippy_program="$dir/yow -f $yowlines" - AC_MSG_RESULT($ac_cv_zippy_program) - else - # - # In newer XEmacs releases, yow.lines is in a different place, - # and the easiest way to get it is by calling the new function - # `locate-data-file'. - # - yowlines=`$xemacs_exe $eargs \ - '(princ (concat (locate-data-file "yow.lines") "\n"))' \ - 2>/dev/null | tail -1` - if $dir/yow -f $yowlines >&- 2>&- ; then - ac_cv_zippy_program="$dir/yow -f $yowlines" - AC_MSG_RESULT($ac_cv_zippy_program) - else - AC_MSG_RESULT(no) - fi - fi - fi - fi - fi + # if we didn't find anything, then just assume /usr/games/ + if test -z "$fortune_tmp" ; then + fortune_tmp="/usr/games/fortune" fi - # if that didn't work, try for some other programs... - if test -z "$ac_cv_zippy_program" ; then - fortune='' - AC_CHECK_PROGS(fortune, [fortune zippy yow]) - # if that didn't work, try for those programs in /usr/games... - if test -z "$fortune" ; then - AC_PATH_PROGS(fortune, [fortune zippy yow], fortune, - /usr/games:/usr/local/games:$PATH) - fi + ac_cv_fortune_program="$fortune_tmp" + + # now check to see whether "fortune zippy" works. + # + fortune_tmp="$fortune_tmp zippy" + AC_MSG_CHECKING([for zippy quotes]) + if ( $fortune_tmp >/dev/null 2>&1 ); then + ac_cv_fortune_program="$fortune_tmp" + AC_MSG_RESULT($fortune_tmp) + else + AC_MSG_RESULT(no) fi -fi -if test -z "$ac_cv_zippy_program" ; then - ac_cv_zippy_program=fortune fi -AC_DEFINE_UNQUOTED(ZIPPY_PROGRAM, "$ac_cv_zippy_program") +unset ac_cv_path_fortune_tmp +unset fortune_tmp + +AC_DEFINE_UNQUOTED(FORTUNE_PROGRAM, "$ac_cv_fortune_program") ############################################################################### @@ -2597,7 +2820,7 @@ else LOCK_OBJS='$(NOLOCK_OBJS_1)' fi -INSTALL_SETUID='$(INSTALL) $(SUID_FLAGS)' +INSTALL_SETUID='$(INSTALL_PROGRAM) $(SUID_FLAGS)' if test "$need_setuid" = yes; then NEED_SETUID=yes @@ -2614,6 +2837,7 @@ fi tab=' ' if test "$have_gl" = yes; then GL_EXES='$(GL_EXES)' + GL_UTIL_EXES='$(GL_UTIL_EXES)' GL_MEN='$(GL_MEN)' GL_KLUDGE="${tab} " else @@ -2628,6 +2852,36 @@ else GLE_KLUDGE="-${tab} " fi +if test "$have_jpeg" = yes -a "$have_gdk_pixbuf" = yes; then + JPEG_EXES='$(JPEG_EXES)' +fi + + +# Another substitution in the XScreenSaver.ad.in file: +# +if test "$have_gnome_help" = yes; then + GNOMEHELP_Y='' + GNOMEHELP_N='! ' +else + GNOMEHELP_Y='! ' + GNOMEHELP_N='' +fi + + +# Now that we know whether we have Gnome, we can decide where the XML +# config files get installed. +if test -z "$HACK_CONF_DIR" ; then + if test -n "$GNOME_DATADIR" ; then + HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers' + else + HACK_CONF_DIR='${prefix}/lib/xscreensaver/config' + fi +fi + +# canonicalize slashes. +HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'` + + ############################################################################### # @@ -2642,6 +2896,8 @@ AC_SUBST(ALL_DEMO_PROGRAMS) AC_SUBST(SAVER_LIBS) AC_SUBST(MOTIF_LIBS) AC_SUBST(GTK_LIBS) +AC_SUBST(XML_LIBS) +AC_SUBST(JPEG_LIBS) AC_SUBST(HACK_LIBS) AC_SUBST(XPM_LIBS) AC_SUBST(GL_LIBS) @@ -2653,26 +2909,30 @@ AC_SUBST(SETUID_HACKS) AC_SUBST(INSTALL_DIRS) AC_SUBST(NEED_SETUID) AC_SUBST(INSTALL_PAM) -AC_SUBST(SGI_VIDEO_OBJS) -AC_SUBST(SGI_VIDEO_LIBS) AC_SUBST(PASSWD_SRCS) AC_SUBST(PASSWD_OBJS) AC_SUBST(XMU_SRCS) AC_SUBST(XMU_OBJS) +AC_SUBST(XMU_LIBS) AC_SUBST(SAVER_GL_SRCS) AC_SUBST(SAVER_GL_OBJS) AC_SUBST(SAVER_GL_LIBS) AC_SUBST(LOCK_SRCS) AC_SUBST(LOCK_OBJS) +AC_SUBST(JPEG_EXES) AC_SUBST(GL_EXES) +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(HACK_CONF_DIR) APPDEFAULTS=$ac_x_app_defaults AC_SUBST(APPDEFAULTS) @@ -2773,6 +3033,10 @@ if test "$with_dpms_req" = yes -a "$have_dpms" = no ; then warn 'The DPMS extension was requested, but was not found.' fi +if test "$with_xinerama_req" = yes -a "$have_xinerama" = no ; then + warn 'The Xinerama extension was requested, but was not found.' +fi + if test "$with_xf86vmode_req" = yes -a "$have_xf86vmode" = no ; then warn 'The XF86VMODE extension was requested, but was not found.' fi @@ -2817,10 +3081,33 @@ if test "$with_gnome_req" = yes -a "$have_gnome" = no ; then warn2 'headers and/or libraries were not found.' fi +if test "$have_gtk" = yes ; then + if test "$have_xml" = no ; then + if test "$with_xml_req" = yes ; then + warn 'Use of the XML library was requested, but the necessary' + warn2 'headers and/or libraries were not found.' + else + warn 'GTK is being used, but the XML library was not found.' + fi + + if test "$xml_halfassed" = yes ; then + echo '' + warn2 'More specifically, we found the headers, but not the' + warn2 'libraries; so either XML is half-installed on this' + warn2 "system, or something else went wrong. The \`config.log'" + warn2 'file might contain some clues.' + fi + + echo '' + warn2 "Without XML, the per-display-mode \`Settings' dialogs" + warn2 'will not be available. Specify the location of the XML' + warn2 'library through the --with-xml option to configure.' + fi +fi if test "$have_motif" = yes -a "$have_lesstif" = yes ; then - preferred_lesstif=0.86 + preferred_lesstif=0.92 if test "$lesstif_version" = unknown; then warnL "Unable to determine the LessTif version number!" @@ -2837,37 +3124,97 @@ if test "$have_motif" = yes -a "$have_lesstif" = yes ; then 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 .' +fi + + +if test "$with_xpm_req" = yes ; then + warnL 'Use of XPM was requested, but it was not found.' +fi + +if test "$with_gdk_pixbuf_req" = yes ; then + warnL 'Use of GDK-Pixbuf was requested, but it was not found.' +fi + +if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no; then -if test "$have_xpm" = no ; then if test "$with_xpm_req" = yes ; then - warnL 'Use of XPM was requested, but it was not found.' + true elif test "$with_xpm_req" = no ; then - noteL 'The XPM library is not being used.' + warnL 'The XPM library is not being used.' else - noteL 'The XPM library was not found.' + warnL 'The XPM library was not found.' + fi + + if test "$with_gdk_pixbuf_req" = yes ; then + true + elif test "$with_gdk_pixbuf_req" = no ; then + warnL 'The GDK-Pixbuf library is not being used.' + else + warnL 'The GDK-Pixbuf 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 .' + 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 '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 .' + echo '' + warn2 'GDK-Pixbuf is recommended over XPM, as it provides' + warn2 'support for more image formats.' +fi + + +if test "$have_jpeg" = no ; then + if test "$with_jpeg_req" = yes ; then + warnL 'Use of libjpeg was requested, but it was not found.' + elif test "$with_jpeg_req" = no ; then + noteL 'The JPEG library is not being used.' + else + noteL 'The JPEG library was not found.' + fi + + if test "$jpeg_halfassed" = yes ; then + echo '' + warn2 'More specifically, we found the headers, but not the' + warn2 'library; so either JPEG is half-installed on this' + warn2 "system, or something else went wrong. The \`config.log'" + warn2 'file might contain some clues.' + echo '' + fi + + warn2 "This means the \`webcollage' program will be much slower." fi if test "$have_gl" = yes -a "$ac_have_mesa_gl" = yes ; then - preferred_mesagl=3.0 + preferred_mesagl=3.4 + mgv="$ac_mesagl_version_string" + pgl="$preferred_mesagl" 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." + 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." + + 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." fi fi @@ -2936,13 +3283,9 @@ if test "$with_readdisplay_req" = yes -a "$have_readdisplay" = no ; then warn 'Use of XReadDisplay was requested, but it was not found.' fi -if test "$with_sgivideo_req" = yes -a "$have_sgivideo" = no ; then - warn 'Use of the Iris Video Library was requested, but it was not found.' -fi - -if test -n "$with_zippy_req"; then - if test "$with_zippy_req" != "$ac_cv_zippy_program" ; then - warnL "$with_zippy_req was requested as the Zippy program," +if test -n "$with_fortune_req"; then + if test "$with_fortune_req" != "$ac_cv_fortune_program" ; then + warnL "$with_fortune_req was requested as the Fortune program," warn2 "but was not found. The default will be used instead." fi fi @@ -2975,17 +3318,24 @@ eval HACKDIR=${HACKDIR} eval HACKDIR=${HACKDIR} eval HACKDIR=${HACKDIR} eval HACKDIR=${HACKDIR} +eval HACK_CONF_DIR=${HACK_CONF_DIR} +eval HACK_CONF_DIR=${HACK_CONF_DIR} +eval HACK_CONF_DIR=${HACK_CONF_DIR} +eval HACK_CONF_DIR=${HACK_CONF_DIR} +eval HACK_CONF_DIR=${HACK_CONF_DIR} +eval HACK_CONF_DIR=${HACK_CONF_DIR} # canonicalize slashes. -bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'` -HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'` +bindir=`echo "${bindir}" | sed 's@/$@@;s@//*@/@g'` +HACKDIR=`echo "${HACKDIR}" | sed 's@/$@@;s@//*@/@g'` +HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'` -# Sanity check the subdir +# Sanity check the hackdir for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then echo "" - AC_MSG_ERROR([\"--enable-subdir=${bindir}/${bad_choice}\" won't work. + AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work. There will be an executable installed with that name, so that can't be the name of a directory as well. Please re-configure with a different directory name.]) @@ -3000,7 +3350,7 @@ do_dir_warning=no # M4 sucks!! changequote(X,Y) rpmv=`(rpm -qv xscreensaver) 2>&- | \ - sed 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/'` + sed -n 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/p'` changequote([,]) if test \! -z "$rpmv" ; then @@ -3019,29 +3369,16 @@ if test \! -z "$rpmv" ; then echo "" if test "$rpmbdir" = "$rpmhdir" ; then - warn2 "The RPM version was installed in $rpmbdir." + warn2 "The RPM version was installed in $rpmbdir/." else - warn2 "The RPM version was installed in $rpmbdir," - warn2 "with demos in $rpmhdir." + warn2 "The RPM version was installed in $rpmbdir/," + warn2 "with demos in $rpmhdir/." fi do_dir_warning=yes fi -# Warn about egregious GNOME bogosity. -# -#if (rpm -qv control-center) >&- 2>&- ; then -# warning=no -# warnL "The Gnome Control Center seems to be installed." -# echo "" -# warn2 "Note that simply installing this version of xscreensaver" -# warn2 "will not cause GNOME to know about the newly-added display" -# warn2 "modes -- GNOME is just lame that way. Instead of using the" -# warn2 "Control Center, try using the \`xscreensaver-demo' command." -#fi - - if test "${bindir}" = "${HACKDIR}" ; then do_dir_warning=yes fi @@ -3052,14 +3389,14 @@ if test "$do_dir_warning" = yes; then echo "" echo ' When you run "make install", the "xscreensaver",' echo ' "xscreensaver-demo", and "xscreensaver-command" executables' - echo " will be installed in ${bindir}." + echo " will be installed in ${bindir}/." echo "" - echo " The various graphics demos (120+ different executables) will" - echo " also be installed in ${HACKDIR}." + echo " The various graphics demos (140+ different executables) will" + echo " also be installed in ${HACKDIR}/." echo "" echo " If you would prefer the demos to be installed elsewhere" echo " (for example, in a dedicated directory) you should re-run" - echo " configure with the --enable-subdir=DIR option. For more" + echo " configure with the --with-hackdir=DIR option. For more" echo " information, run $0 --help." warning=yes fi @@ -3067,3 +3404,13 @@ fi if test "$warning" != no; then echo '' ; echo "$warnsep" ; echo '' fi + +if test "$do_dir_warning" = no; then + if test "$warning" = no; then + echo '' + fi + echo "User programs will be installed in ${bindir}/" + echo "Screen savers will be installed in ${HACKDIR}/" + echo "Configuration will be installed in ${HACK_CONF_DIR}/" + echo '' +fi