X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.in;h=411df4ac1634fea83052970c530561b8f742b1e7;hb=96bdd7cf6ea60c418a76921acaf0e34d6f5be930;hp=76ccf0f9f11af1584b2842d877133dac910e4e95;hpb=4cecfc89e5e889c7232693897c06168fb378bd5c;p=xscreensaver diff --git a/configure.in b/configure.in index 76ccf0f9..411df4ac 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -# configure.in --- xscreensaver, Copyright (c) 1997-2002 Jamie Zawinski. +# configure.in --- xscreensaver, Copyright (c) 1997-2003 Jamie Zawinski. # AC_PREREQ(2.52) @@ -140,6 +140,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. @@ -585,10 +617,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 +785,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 @@ -1137,7 +1180,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 @@ -1315,15 +1359,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)]) ############################################################################### @@ -1526,16 +1592,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" @@ -1909,7 +1999,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,11 +2024,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 @@ -1956,10 +2048,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... @@ -2004,6 +2099,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) @@ -2023,15 +2119,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 @@ -2054,7 +2151,7 @@ if test "$with_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 @@ -2072,7 +2169,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 @@ -2603,7 +2700,7 @@ EOF # M4 sucks!! changequote(X,Y) mglv=`echo "$mglv" | sed -n \ - 's/^configure: *\([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 @@ -2822,6 +2919,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" @@ -2836,8 +2934,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 @@ -2862,6 +2961,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. # @@ -2976,9 +3077,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]) @@ -3641,7 +3740,10 @@ if test "$gtk2_halfassed" != no ; then 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 @@ -3780,7 +3882,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 @@ -3834,6 +3942,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' @@ -3861,6 +3974,7 @@ if test "$have_gl" = yes -a "$have_gle" = no ; then warn2 'GLE library at . For general' warn2 'OpenGL info, see .' + fi fi @@ -3976,7 +4090,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 (160+ different executables) will" echo " be installed in ${HACKDIR}/." echo "" echo " If you would prefer the demos to be installed elsewhere,"