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"
+ # 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,
#
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
;;
# 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
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
--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)
# the new way...
# run pkg-config based tests.
#
-
pkgs=''
pkg_check_version() {
if test "$ok" = 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
#
# 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...
# 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)
#
# 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"
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
# 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.
#
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
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 <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;"
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
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
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,"