-# configure.in --- xscreensaver, Copyright (c) 1997-2003 Jamie Zawinski.
+# configure.in --- xscreensaver, Copyright (c) 1997-2005 Jamie Zawinski.
#
AC_PREREQ(2.52)
[AC_PROG_CC
if test -z "$GCC"; then
+ # not using GCC
AC_MSG_CHECKING(how to request ANSI compilation)
case "$host" in
*-hpux* )
AC_MSG_RESULT(AIX: adding -qlanglvl=ansi -qhalt=e)
CC="$CC -qlanglvl=ansi -qhalt=e"
;;
-
*-dec-* )
AC_MSG_RESULT(DEC: adding -std1 -ieee)
CC="$CC -std1"
;;
-
*)
AC_MSG_RESULT(no idea)
;;
esac
+ else
+ # using GCC
+ case "$host" in
+ *-solaris*)
+ AC_MSG_RESULT(Solaris: adding -D__EXTENSIONS__)
+ CC="$CC -D__EXTENSIONS__"
+ ;;
+ 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),
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]* )
# 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,
###############################################################################
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
])
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
#
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
;;
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
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)
+
+
###############################################################################
#
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"
###############################################################################
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
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.
+ Default: `GTK_PREFIX/control-center/screensavers/'
+ or `PREFIX/lib/xscreensaver/config/', depending on
+ whether GTK is available.
],
[with_configdir="$withval"; with_configdir_req="$withval"],
[with_configdir=yes])
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.
# first check for dpms.h
AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes],,
- [#include <X11/Xlib.h>])
+ [#include <X11/Xlib.h>
+ #include <X11/Xmd.h>])
# if that succeeded, then check for the DPMS code in the libraries
if test "$have_dpms" = 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
HANDLE_X_PATH_ARG(with_xf86vmode, --with-xf86vmode-ext, xf86vmode)
+VIDMODE_LIBS=""
+
if test "$with_xf86vmode" = yes; then
# first check for xf86vmode.h
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
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 <X11/Xlib.h>])
+
+ # 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
AC_CACHE_CHECK([whether /proc/interrupts contains keyboard data],
ac_cv_have_proc_interrupts,
[ac_cv_have_proc_interrupts=no
- if grep keyboard /proc/interrupts >/dev/null 2>&1 ; then
+ if grep 'keyboard\|i8042' /proc/interrupts >/dev/null 2>&1 ; then
ac_cv_have_proc_interrupts=yes
fi
])
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
###############################################################################
# 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 <stdio.h>
fi
if test "$ac_cv_kerberos5" = yes ; then
- have_kerberos=yes
- have_kerberos5=yes
- AC_DEFINE(HAVE_KERBEROS)
- AC_DEFINE(HAVE_KERBEROS5)
+
+ # Andrew Snare <ajs@pigpond.com> 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
###############################################################################
#
-# Check for -lXm.
+# 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_motif=no
-with_motif_req=unspecified
-AC_ARG_WITH(motif,[
-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])
+have_passwd_helper=no
+with_passwd_helper_req=unspecified
-HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
-
-if test "$with_motif" != yes -a "$with_motif" != no ; then
- echo "error: must be yes or no: --with-motif=$with_motif"
- exit 1
-fi
+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 "$with_motif" = yes; then
- have_motif=no
- AC_CHECK_X_HEADER(Xm/Xm.h,
- [have_motif=yes
- AC_DEFINE(HAVE_MOTIF)
- MOTIF_LIBS="$MOTIF_LIBS -lXm"],,
- [#include <stdlib.h>
- #include <stdio.h>
- #include <X11/Intrinsic.h>])
+if test "$enable_locking" = no ; then
+ with_passwd_helper_req=no
+ with_passwd_helper=no
fi
-
-if test "$have_motif" = yes; then
- AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)],,
- [#include <stdlib.h>
- #include <stdio.h>
- #include <X11/Intrinsic.h>])
-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
###############################################################################
###############################################################################
have_gtk=no
-have_gtk2=no
with_gtk_req=unspecified
-AC_ARG_WITH(gtk,
-[ --with-gtk Use the Gtk toolkit for the user interface.],
+AC_ARG_WITH(gtk,[
+User interface options:
+
+ --with-gtk Use the Gtk toolkit for the user interface.],
[with_gtk="$withval"; with_gtk_req="$withval"],[with_gtk=yes])
# if --with-gtk=/directory/ was specified, remember that directory so that
exit 1
fi
-have_gnome=no
-with_gnome_req=unspecified
-AC_ARG_WITH(gnome,
-[ --with-gnome Include support for the Gnome 1.x Control Center.
- (This option is not needed with GTK 2.x / Gnome 2.x.)
-],
- [with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes])
-
-# if --with-gnome=/directory/ was specified, remember that directory so that
-# we can also look for the `gnome-config' program in that directory.
-case "$with_gnome" in
- /*)
- gnome_dir="$with_gnome"
- ;;
- *)
- gnome_dir=""
- ;;
-esac
-
-HANDLE_X_PATH_ARG(with_gnome, --with-gnome, Gnome)
-
-if test "$with_gnome" != yes -a "$with_gnome" != no ; then
- echo "error: must be yes or no: --with-gnome=$with_gnome"
- exit 1
-fi
parse_gtk_version_string() {
# M4 sucks!!
fi
}
+# Find pkg-config... (need this for both gtk and gdk_pixbuf.)
+# if the user specified --with-gtk=/foo/ then look there.
+#
+gtk_path="$PATH"
+if test ! -z "$gtk_dir"; then
+ # canonicalize slashes.
+ foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+ gtk_path="$foo:$gtk_path"
+fi
-jurassic_gtk=no
-gtk2_halfassed=no
-
-if test "$with_gtk" = yes; then
- have_gtk=no
-
- # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
- # look in /foo/bin/ for glib-config, gtk-config, and gnome-config.
- #
- gtk_path="$PATH"
-
- if test ! -z "$gtk_dir"; then
- # canonicalize slashes.
- foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
- gtk_path="$foo:$gtk_path"
- fi
-
- if test ! -z "$gnome_dir"; then
- # canonicalize slashes.
- foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
- gtk_path="$foo:$gtk_path"
- fi
-
- AC_PATH_PROGS(pkg_config, pkg-config,, $gtk_path)
-
- if test -n "$pkg_config" ; then
- #
- # the new way...
- # run pkg-config based tests.
- #
+AC_PATH_PROGS(pkg_config, pkg-config,, $gtk_path)
- pkgs=''
- pkg_check_version() {
- if test "$ok" = yes ; then
- req="$1"
- min="$2"
- AC_MSG_CHECKING(for $req)
- if $pkg_config --exists "$req" ; then
- vers=`$pkg_config --modversion "$req"`
- if $pkg_config --exists "$req >= $min" ; then
- AC_MSG_RESULT($vers)
- pkgs="$pkgs $req"
- return 1
- else
- AC_MSG_RESULT($vers (wanted >= $min))
- ok=no
- return 0
- fi
- else
- AC_MSG_RESULT(no)
- ok=no
- return 0
- fi
- fi
- }
-
- 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
- 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 -z "$pkg_config" ; then
+ AC_MSG_WARN([pkg-config not found!])
+ pkg_config="false"
+fi
- if test "$have_gtk" = no; then
- #
- # we don't have GTK 2. Let's look for GTK 1.
- #
- pkgs=''
- ok="yes"
- pkg_check_version gtk+ 1.2 ; ac_gtk_version_string="$vers"
- pkg_check_version glib 1.0
- have_gtk="$ok"
- # Now check for Gnome...
- #
- if test "$have_gtk" = yes -a "$with_gnome" = yes; then
- old_pkgs="$pkgs"
- ok=yes
- pkg_check_version capplet 1.0
- pkg_check_version gnomeui 1.0
- pkg_check_version gdk_pixbuf 0.1
- have_gnome="$ok"
-
- if test "$have_gnome" = no; then
- pkgs="$old_pkgs"
- else
- AC_DEFINE(HAVE_CRAPPLET)
- fi
+# Utility function for running pkg-config-based tests...
+#
+pkgs=''
+pkg_check_version() {
+ if test "$ok" = yes ; then
+ req="$1"
+ min="$2"
+ AC_MSG_CHECKING(for $req)
+ if $pkg_config --exists "$req" ; then
+ vers=`$pkg_config --modversion "$req"`
+ if $pkg_config --exists "$req >= $min" ; then
+ AC_MSG_RESULT($vers)
+ pkgs="$pkgs $req"
+ return 1
+ else
+ AC_MSG_RESULT($vers (wanted >= $min))
+ ok=no
+ return 0
fi
- fi
-
- if test "$have_gtk" = yes; then
- parse_gtk_version_string
- jurassic_gtk=no
else
- have_gnome=no
- fi
-
- if test "$have_gtk" = yes; then
- AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
- [ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`])
- AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
- [ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`])
- fi
- ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
- ac_gtk_config_libs=$ac_cv_gtk_config_libs
-
- ac_gnome_config_cflags=$ac_gtk_config_cflags
- ac_gnome_config_libs=$ac_gtk_config_libs
-
- else
- #
- # the old way...
- # run {gnome,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)
-
- if test "$with_gnome" = yes; then
- AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
- fi
-
- if test -n "$glib_config" -a -n "$gtk_config" ; then
- have_gtk=yes
- if test "$with_gnome" = yes -a -n "$gnome_config" ; then
- have_gnome=yes
- fi
- fi
-
- if test "$have_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
+ AC_MSG_RESULT(no)
+ ok=no
+ return 0
fi
+ fi
+}
- 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
- AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
- [ac_cv_gtk_config_cflags=`$gtk_config --cflags`])
- AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
- [ac_cv_gtk_config_libs=`$gtk_config --libs`])
- fi
- ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
- 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 2>&1 | \
- grep Unknown >/dev/null ) ; then
- ac_cv_gnome_config_cflags=''
- else
- ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
- fi])
- ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
- if test "$ac_gnome_config_cflags" = "" ; then
- have_gnome=no
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT($ac_gnome_config_cflags)
- fi
- fi
-
- 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 2>&1 |
- grep Unknown >/dev/null ) ; then
- ac_cv_gnome_config_libs=''
- else
- ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
- fi])
- ac_gnome_config_libs=$ac_cv_gnome_config_libs
- if test "$ac_gnome_config_libs" = "" ; then
- have_gnome=no
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT($ac_gnome_config_libs)
- fi
- fi
+jurassic_gtk=no
+gtk_halfassed=no
- # If we have Gnome, then override the gtk-config values with
- # the gnome-config values.
- #
- if test "$have_gnome" = yes -a "$have_gtk" = yes; then
- ac_gtk_config_cflags=$ac_gnome_config_cflags
- ac_gtk_config_libs=$ac_gnome_config_libs
- AC_DEFINE(HAVE_CRAPPLET)
+if test "$with_gtk" = yes; then
+ have_gtk=no
+
+ 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 gdk-pixbuf-2.0 2.0.0
+ pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0
+ have_gtk="$ok"
+
+ if test "$have_gtk" = no; then
+ if test -n "$ac_gtk_version_string" ; then
+ gtk_halfassed="$ac_gtk_version_string"
+ gtk_halfassed_lib="$req"
fi
+ fi
- fi # end of {gnome,gtk}-config based tests
-
- 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)
+ if test "$have_gtk" = yes; then
+ parse_gtk_version_string
+ jurassic_gtk=no
fi
+ if test "$have_gtk" = yes; then
+ AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
+ [ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`])
+ AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
+ [ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`])
+ fi
+ ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
+ ac_gtk_config_libs=$ac_cv_gtk_config_libs
+ GTK_EXTRA_OBJS=""
GNOME_DATADIR=""
+ GNOME_PANELDIR='$(GNOME_PANELDIR2)'
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
- GNOME_DATADIR=`$gtk_config --prefix`
- fi
+ GNOME_DATADIR=`$pkg_config --variable=prefix gtk+-2.0`
GNOME_DATADIR="$GNOME_DATADIR/share"
fi
- # .desktop files go in different places in Gnome 1.x and Gnome 2.x...
- if test "$have_gtk2" = yes; then
- GNOME_PANELDIR='$(GNOME_PANELDIR2)'
- else
- GNOME_PANELDIR='$(GNOME_PANELDIR1)'
- fi
-
-
if test "$have_gtk" = yes; then
INCLUDES="$INCLUDES $ac_gtk_config_cflags"
GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
AC_DEFINE(HAVE_GTK)
-
- if test "$have_gtk2" = yes; then
- GTK_EXTRA_OBJS=""
- else
- GTK_EXTRA_OBJS="\$(GTK_EXTRA_OBJS)"
- fi
+ AC_DEFINE(HAVE_GTK2)
+ AC_DEFINE(HAVE_XML)
fi
fi
-# Check for the Gnome Help Browser.
+# Check for the various Gnome help and URL loading programs.
#
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
+ AC_CHECK_PROGS(gnome_open_program, gnome-open)
+ AC_CHECK_PROGS(gnome_url_show_program, gnome-url-show)
fi
###############################################################################
#
-# Check for -lxml
+# Check for -lXm.
#
###############################################################################
-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. Without it, the configuration
- interface will be much less featureful.],
-[with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes])
-
-# if --with-xml=/directory/ was specified, remember that directory so that
-# we can also look for the `xml-config' program in that directory.
-case "$with_xml" in
- /*)
- xml_dir="$with_xml"
- ;;
- *)
- xml_dir=""
- ;;
-esac
+have_motif=no
+with_motif_req=unspecified
+AC_ARG_WITH(motif,[ --with-motif Use the Motif toolkit for the user interface
+ (not recommended.)],
+ [with_motif="$withval"; with_motif_req="$withval"],[with_motif=no])
-HANDLE_X_PATH_ARG(with_xml, --with-xml, XML)
+HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
-if test "$with_xml" != yes -a "$with_xml" != no ; then
- echo "error: must be yes or no: --with-xml=$with_xml"
+if test "$with_motif" != yes -a "$with_motif" != no ; then
+ echo "error: must be yes or no: --with-motif=$with_motif"
exit 1
fi
-if test "$with_xml" = yes; then
- have_xml=no
- have_old_xml=no
-
- # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
- # look in /foo/bin/ for for xml-config.
- #
- xml_path="$PATH"
-
- if test ! -z "$gtk_dir"; then
- # canonicalize slashes.
- foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
- xml_path="$foo:$xml_path"
- fi
-
- if test ! -z "$gnome_dir"; then
- # canonicalize slashes.
- foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
- xml_path="$foo:$xml_path"
- fi
-
- if test -n "$pkg_config" ; then
- #
- # the new way...
- # run pkg-config based tests.
- #
- pkgs=""
- ok="yes"
-
- # 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 libxml 1.0
- fi
-
- have_xml="$ok"
-
- if test "$have_xml" = yes; then
- AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags,
- [ac_cv_xml_config_cflags=`$pkg_config --cflags $pkgs`])
- AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs,
- [ac_cv_xml_config_libs=`$pkg_config --libs $pkgs`])
- ac_xml_config_cflags=$ac_cv_xml_config_cflags
- ac_xml_config_libs=$ac_cv_xml_config_libs
- fi
-
- else
- #
- # the old way...
- # run {xml2,xml}-config based tests.
- #
-
- AC_PATH_PROGS(xml_config, xml2-config xml-config,, $xml_path)
-
- # If we found the xml-config program, run it to get flags.
- #
- if test -n "$xml_config" ; then
- AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags,
- [ac_cv_xml_config_cflags=`$xml_config --cflags`])
- AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs,
- [ac_cv_xml_config_libs=`$xml_config --libs`])
- ac_xml_config_cflags=$ac_cv_xml_config_cflags
- ac_xml_config_libs=$ac_cv_xml_config_libs
- fi
-
- ac_save_xml_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $ac_xml_config_cflags"
-
- # first try <libxml/parser.h> which is the new way...
- #
- AC_CHECK_X_HEADER(libxml/xmlIO.h, [have_xml=yes],,
- [#include <libxml/parser.h>])
-
- # if that didn't work, then try just <parser.h> which is the old way...
- #
- if test "$have_xml" = no; then
- AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes; have_old_xml=yes],,
- [#include <parser.h>])
- fi
-
- CPPFLAGS="$ac_save_xml_CPPFLAGS"
- fi
-
+if test "$with_motif" = yes; then
+ have_motif=no
+ AC_CHECK_X_HEADER(Xm/Xm.h,
+ [have_motif=yes
+ AC_DEFINE(HAVE_MOTIF)
+ MOTIF_LIBS="$MOTIF_LIBS -lXm"],,
+ [#include <stdlib.h>
+ #include <stdio.h>
+ #include <X11/Intrinsic.h>])
+fi
- have_zlib=no
- if test "$have_xml" = yes; then
- # we have the XML headers; now make sure zlib is around.
- # yes, it's stupid we have to do this too, but there is
- # dependency screwage in Gnome.
- AC_CHECK_X_LIB(z, zlibVersion, [have_zlib=yes])
- if test "$have_zlib" = no; then
- xml_halfassed=yes
- have_xml=no
- fi
- fi
-
- 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(c, xmlParseChunk,
- [have_xml=yes
- xml_halfassed=no
- XML_LIBS="$ac_xml_config_libs"
- AC_DEFINE(HAVE_XML)],
- [true],
- $ac_xml_config_libs)
- fi
-
- if test "$have_xml" = yes; then
- INCLUDES="$INCLUDES $ac_xml_config_cflags"
- GTK_LIBS="$GTK_LIBS $ac_xml_config_libs"
- AC_DEFINE(HAVE_XML)
- if test "$have_old_xml" = yes; then
- AC_DEFINE(HAVE_OLD_XML_HEADERS)
- fi
- fi
+if test "$have_motif" = yes; then
+ AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)],,
+ [#include <stdlib.h>
+ #include <stdio.h>
+ #include <X11/Intrinsic.h>])
fi
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
fi
-
-###############################################################################
-#
-# Check for -lXpm.
-#
-###############################################################################
-
-have_xpm=no
-with_xpm_req=unspecified
-AC_ARG_WITH(xpm,
-[ --with-xpm Include support for XPM files in some demos.
- (Not needed if Pixbuf is used.)],
- [with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
-
-HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
-
-if test "$with_xpm" = yes; then
- AC_CHECK_X_HEADER(X11/xpm.h,
- [have_xpm=yes
- AC_DEFINE(HAVE_XPM)
- XPM_LIBS="-lXpm"],,
- [#include <X11/Xlib.h>])
-elif test "$with_xpm" != no; then
- echo "error: must be yes or no: --with-xpm=$with_xpm"
- exit 1
-fi
-
-# See comment near $motif_requires_xpm, above.
-# Need to do this here, after both Motif and XPM have been checked for.
-#
-if test "$have_motif" = yes -a "$have_xpm" = yes ; then
- if test "$motif_requires_xpm" = yes ; then
- MOTIF_LIBS="$MOTIF_LIBS $XPM_LIBS"
- fi
-fi
-
###############################################################################
#
# Check for -lgdk_pixbuf.
+# These tests are for gdk_pixbuf usage of the hacks,
+# not xscreensaver-demo (thus we have to test again to get
+# the libraries right: don't want to pull in all of GTK
+# for the hacks.)
#
###############################################################################
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. (The path here is
- ignored if GTK 2.x is being used.)],
+ GIF, JPEG, and PNG files as well.],
[with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"],
[with_gdk_pixbuf=yes])
if test "$with_gdk_pixbuf" = yes; then
have_gdk_pixbuf=no
- have_gdk_pixbuf2=no
- if test -n "$pkg_config" ; then
- #
- # the new way...
- # run pkg-config based tests.
- #
- pkgs=''
- ok="yes"
-
- # 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 Gtk; or we have Gtk 2.x. Check for pixbuf 2.x.
- #
- 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
+ pkgs=''
+ ok="yes"
- 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"
- pkg_check_version gdk-pixbuf 0.0
- pkg_check_version gdk-pixbuf-xlib 0.0
- have_gdk_pixbuf="$ok"
- fi
- fi
+ 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"
- if test "$have_gdk_pixbuf" = yes; then
- AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
- [ac_cv_gdk_pixbuf_config_cflags=`$pkg_config --cflags $pkgs`])
- AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
- [ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`])
- fi
- ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
- ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
- fi
-
-
- if test "$have_gdk_pixbuf" = no; then
- #
- # the old way...
- # run gdk-pixbuf-config based tests.
- # note that we can't assume that the existence of "pkg-config" means
- # that we don't have to look for gdk-pixbuf-config -- in Gnome 1.4,
- # pkg-config exists, but doesn't know about pixbuf.
- #
-
- # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
- # look in /foo/bin/ for for gdk-pixbuf-config.
- #
- gdk_pixbuf_path="$PATH"
-
- if test ! -z "$gtk_dir"; then
- # canonicalize slashes.
- foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
- gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
- fi
-
- if test ! -z "$gnome_dir"; then
- # canonicalize slashes.
- foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
- gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
- fi
-
- AC_PATH_PROGS(gdk_pixbuf_config, gdk-pixbuf-config,, $gdk_pixbuf_path)
-
- # If we found the gdk-pixbuf-config program, run it to get flags.
- #
- if test -n "$gdk_pixbuf_config" ; then
- AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
- [ac_cv_gdk_pixbuf_config_cflags=`$gdk_pixbuf_config --cflags`])
- AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
- [ac_cv_gdk_pixbuf_config_libs=`$gdk_pixbuf_config --libs`])
-
- # note that "gdk-pixbuf-config --libs" produces a link line including
- # -lgdk_pixbuf, but there's no way to get it to produce one that also
- # includes -lgdk_pixbuf_xlib. Since we don't know *exactly* what the
- # name of the library will be, construct it with sed...
- # M4 sucks!!
- changequote(X,Y)
- ac_cv_gdk_pixbuf_config_libs=`echo $ac_cv_gdk_pixbuf_config_libs | \
- sed 's@ \(-lgdk_pixbuf\([-_a-zA-Z0-9.]*\)\) @ \1 -lgdk_pixbuf_xlib\2 @'`
- changequote([,])
-
- ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
- ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
- fi
+ if test "$have_gdk_pixbuf" = yes; then
+ AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
+ [ac_cv_gdk_pixbuf_config_cflags=`$pkg_config --cflags $pkgs`])
+ AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
+ [ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`])
fi
+ ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
+ ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
- ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
- if test "$have_gdk_pixbuf" = no; then
+ if test "$have_gdk_pixbuf" = yes; then
#
# we appear to have pixbuf; check for headers/libs to be sure.
#
+ ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
have_gdk_pixbuf=no
gdk_pixbuf_halfassed=no])
fi
fi
+ CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS"
fi
- CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS"
-
if test "$have_gdk_pixbuf" = yes; then
# we have the headers, now check for the libraries
have_gdk_pixbuf=no
gdk_pixbuf_halfassed=yes
+ AC_MSG_RESULT(checking for gdk_pixbuf usability...)
+
# library A...
AC_CHECK_X_LIB(c, gdk_pixbuf_new_from_file, [have_gdk_pixbuf=yes],,
$ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
XPM_LIBS="$ac_gdk_pixbuf_config_libs"
AC_DEFINE(HAVE_GDK_PIXBUF)
else
- have_gdk_pixbuf2=no
+ AC_MSG_RESULT(checking for gdk_pixbuf usability... no)
+ fi
+fi
+
+
+###############################################################################
+#
+# Check for -lXpm.
+#
+###############################################################################
+
+have_xpm=no
+with_xpm_req=unspecified
+AC_ARG_WITH(xpm,
+[ --with-xpm Include support for XPM files in some demos.
+ (Not needed if Pixbuf is used.)],
+ [with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
+
+HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
+
+if test "$with_xpm" = yes; then
+ AC_CHECK_X_HEADER(X11/xpm.h,
+ [have_xpm=yes
+ AC_DEFINE(HAVE_XPM)
+ XPM_LIBS="-lXpm $XPM_LIBS"],,
+ [#include <X11/Xlib.h>])
+elif test "$with_xpm" != no; then
+ echo "error: must be yes or no: --with-xpm=$with_xpm"
+ exit 1
+fi
+
+# See comment near $motif_requires_xpm, above.
+# Need to do this here, after both Motif and XPM have been checked for.
+#
+if test "$have_motif" = yes -a "$have_xpm" = yes ; then
+ if test "$motif_requires_xpm" = yes ; then
+ MOTIF_LIBS="$MOTIF_LIBS $XPM_LIBS"
fi
fi
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.
--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
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"])
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
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)"
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
# Another substitution in the XScreenSaver.ad.in file:
#
-if test "$have_gnome_help" = yes; then
- GNOMEHELP_Y=''
- GNOMEHELP_N='! '
+if test "$gnome_open_program" != ''; then
+ GNOME24=''
+ GNOME22='! '
+ NOGNOME='! '
+elif test "$gnome_url_show_program" != ''; then
+ GNOME24='! '
+ GNOME22=''
+ NOGNOME='! '
else
- GNOMEHELP_Y='! '
- GNOMEHELP_N=''
+ GNOME24='! '
+ GNOME22='! '
+ NOGNOME=''
fi
# 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.
+# Gtk prefix, not the overall prefix.
#
if test -n "$GNOME_DATADIR" ; then
GLADE_DATADIR='$(GNOME_DATADIR)/xscreensaver'
elif test "$have_gtk" = yes; then
- 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=`$pkg_config --variable=prefix gtk+-2.0`
GLADE_DATADIR="$GLADE_DATADIR/share/xscreensaver"
else
GLADE_DATADIR=''
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=`$pkg_config --variable=prefix gtk+-2.0`
PO_DATADIR="$PO_DATADIR/share"
fi
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)
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)
AC_SUBST(GL_KLUDGE)
AC_SUBST(GLE_EXES)
AC_SUBST(GLE_KLUDGE)
-AC_SUBST(GNOMEHELP_Y)
-AC_SUBST(GNOMEHELP_N)
+AC_SUBST(GNOME24)
+AC_SUBST(GNOME22)
+AC_SUBST(NOGNOME)
AC_SUBST(HACKDIR)
AC_SUBST(GNOME_DATADIR)
AC_SUBST(GLADE_DATADIR)
hacks/Makefile
hacks/glx/Makefile
po/Makefile.in
- driver/XScreenSaver.ad
- driver/xscreensaver.kss)
+ driver/XScreenSaver.ad)
###############################################################################
#
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
+if test "$pkg_config" = false ; then
+ warnL 'The "pkg-config" program was not found. Without that,'
+ warn2 "detection of the various GTK libraries won't work."
+else
+ pkgerr=`$pkg_config --list-all 2>&1 >/dev/null`
+ if test "x$pkgerr" != "x" ; then
+ warnL 'The "pkg-config" program produces errors. This often causes'
+ warn2 "detection of the various GTK libraries to malfunction."
+ warn2 "The errors are:"
+ echo ''
+ echo "$pkgerr" | sed 's/^/ > /g'
+ fi
+fi
+
+if test "$gtk_halfassed" != no ; then
+ warnL "GTK version $gtk_halfassed was found, but at least one supporting"
+ warn2 "library ($gtk_halfassed_lib) was not, so GTK can't be used."
+ warn2 "Perhaps some of the development packages are not installed?"
+ 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
+
+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 <http://www.gtk.org/>.'
+}
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;"
elif test "$jurassic_gtk" = yes ; then
- pref_gtk=1.2
+ pref_gtk=2.0
v="$ac_gtk_version_string"
if test "$with_gtk_req" = yes -a "$ac_gtk_version" = "unknown" ; 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."
-fi
-
-
-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
-
-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
-
- if test "$have_zlib" = yes ; then
- which="XML libraries"
- else
- which="\`zlib' library"
- fi
-
- echo ''
- warn2 'More specifically, we found the headers, but not the'
- warn2 "$which; 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_gtk" = yes -a "$have_gdk_pixbuf" = no ; then
warn "GTK is being used, but the GDK-Pixbuf library and/or"
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 <http://www.gtk.org/>.'
+ motif_warn2
fi
warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
fi
-if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no || \
- test "$gdk_pixbuf_halfassed" = yes; then
+if test "$have_gdk_pixbuf" = no -o "$gdk_pixbuf_halfassed" = yes || \
+ test "$have_gdk_pixbuf" = no -a "$have_xpm" = no ; then
+
+ 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
if test "$with_xpm_req" = yes -o "$have_xpm" = yes ; then
true
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.'
+ if test "$have_gdk_pixbuf" = no -a "$have_xpm" = yes ; then
+ warn2 'The XPM library is being used instead.'
fi
if test "$gdk_pixbuf_halfassed" = yes ; then
fi
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. 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 <http://sunsite.unc.edu/>.'
- echo ''
- warn2 'GDK-Pixbuf is recommended over XPM, as it provides'
- warn2 'support for more image formats.'
+ warn2 'Some of the demos will not use images as much as they could.'
+ warn2 'You should consider installing GDK-Pixbuf and re-running'
+ warn2 'configure. (GDK-Pixbuf is recommended over XPM, as it'
+ warn2 'provides support for more image formats.)'
fi
echo ""
warn2 "Alternately, you could build this version of xscreensaver"
warn2 'as an RPM, and then install that. An "xscreensaver.spec"'
- warn2 "file is included. See the RPM documentation for more info."
+ warn2 'file is included. Try "rpmbuild -v -ba xscreensaver.spec".'
+ warn2 "See the RPM documentation for more info."
echo ""
if test "$rpmbdir" = "$rpmhdir" ; then
warn2 "The RPM version was installed in $rpmbdir/."
+ do_dir_warning=yes
else
warn2 "The RPM version was installed in $rpmbdir/,"
warn2 "with demos in $rpmhdir/."
fi
-
- do_dir_warning=yes
fi
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 (190+ different executables) will"
echo " be installed in ${HACKDIR}/."
echo ""
echo " If you would prefer the demos to be installed elsewhere,"