X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=configure.in;h=8397156d7df721751e7d875ea2236f4ed0705b2d;hb=96a411663168b0ba5432b407a83be55f3df0c802;hp=dc100ebccc3c4e4a0df0ba2f12ca1cd7b5ae6903;hpb=2c902d6065f9856adf31e8540a94f1e42e68e905;p=xscreensaver diff --git a/configure.in b/configure.in index dc100ebc..8397156d 100644 --- a/configure.in +++ b/configure.in @@ -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" + 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, @@ -617,10 +631,10 @@ 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 ;; @@ -838,6 +852,16 @@ 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) + + ############################################################################### # @@ -1180,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 @@ -1358,15 +1383,37 @@ elif test "$with_xf86gamma" != no; then 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)]) ############################################################################### @@ -1425,6 +1472,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 ############################################################################### @@ -1569,10 +1625,29 @@ 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 @@ -1827,7 +1902,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) @@ -1957,7 +2032,6 @@ if test "$with_gtk" = yes; then # the new way... # run pkg-config based tests. # - pkgs='' pkg_check_version() { if test "$ok" = yes ; then @@ -1983,11 +2057,14 @@ 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 @@ -2004,10 +2081,13 @@ if test "$with_gtk" = yes; 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... @@ -2052,6 +2132,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) @@ -2871,6 +2952,7 @@ if test "$with_gdk_pixbuf" = yes; then # # we don't have Gtk; or we have Gtk 2.x. Check for pixbuf 2.x. # + 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" @@ -2885,8 +2967,9 @@ if test "$with_gdk_pixbuf" = yes; then if test "$have_gdk_pixbuf2" = no; then 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 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 @@ -2911,6 +2994,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. # @@ -3025,9 +3110,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]) @@ -3313,7 +3396,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 @@ -3346,6 +3429,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 @@ -3509,6 +3603,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) @@ -3649,10 +3748,30 @@ 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;" @@ -3671,26 +3790,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." - if test "$have_motif" = yes; then - warn2 "Motif will be used instead." - fi 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." - 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." + 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 @@ -3754,12 +3875,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 @@ -3829,7 +3945,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 @@ -4031,7 +4153,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 (150+ different executables) will" + echo " The various graphics demos (175+ different executables) will" echo " be installed in ${HACKDIR}/." echo "" echo " If you would prefer the demos to be installed elsewhere,"