# configure.in --- xscreensaver, Copyright (c) 1997-2000 Jamie Zawinski.
#
-AC_PREREQ(2.53)
+AC_PREREQ(2.52)
AC_INIT(driver/subprocs.c)
AC_CONFIG_HEADER(config.h)
[if test -n "$GCC"; then
AC_CACHE_CHECK([whether gcc accepts -std],
ac_cv_gcc_accepts_std,
- [if ( gcc -E -std=c89 - </dev/null >/dev/null 2>&1 | \
+ [if ( ( gcc -E -std=c89 - </dev/null >/dev/null ) 2>&1 | \
grep unrecognized >/dev/null ); then
ac_cv_gcc_accepts_std=no
else
AC_DEFINE_UNQUOTED(PACKAGE, "$GETTEXT_PACKAGE")
AC_SUBST(GETTEXT_PACKAGE)
-ALL_LINGUAS="ca de et fr it ko pl pt sv da es fi hu ja no pt pt_BR ru wa"
+# #### no sign of en_GB
+#ALL_LINGUAS="ca de en_GB et fr it ko pl sv da es fi hu ja no pt pt_BR ru wa"
+ALL_LINGUAS="ca de et fr it ko pl sv da es fi hu ja no pt pt_BR ru wa"
AM_GLIB_GNU_GETTEXT
Screen locking options:
--enable-locking Compile in support for locking the display.
- --disable-locking Do not allow locking at all.
-],
+ --disable-locking Do not allow locking at all.],
[enable_locking="$enableval"],[enable_locking=yes])
if test "$enable_locking" = yes; then
true
#fi
-
###############################################################################
#
# Check for PAM.
AC_ARG_WITH(motif,[
User interface options:
- --with-motif Use the Motif toolkit for the user interface.],
+ --with-motif Use the Motif toolkit for the user interface
+ (not recommended.)],
[with_motif="$withval"; with_motif_req="$withval"],[with_motif=yes])
HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
###############################################################################
have_gtk=no
+have_gtk2=no
with_gtk_req=unspecified
AC_ARG_WITH(gtk,
[ --with-gtk Use the Gtk toolkit for the user interface.],
have_gnome=no
with_gnome_req=unspecified
AC_ARG_WITH(gnome,
-[ --with-gnome Include support for the Gnome Control Center.],
+[ --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
exit 1
fi
+parse_gtk_version_string() {
+ # M4 sucks!!
+ changequote(X,Y)
+ maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'`
+ min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'`
+ changequote([,])
+ ac_gtk_version=`echo "$maj * 1000 + $min" | bc`
+ if test -z "$ac_gtk_version"; then
+ ac_gtk_version=unknown
+ ac_gtk_version_string=unknown
+ fi
+}
+
jurassic_gtk=no
if test "$with_gtk" = yes; then
gtk_path="$foo:$gtk_path"
fi
- AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path)
- AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path)
+ AC_PATH_PROGS(pkg_config, pkg-config,, $gtk_path)
- if test "$with_gnome" = yes; then
- AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
- fi
+ if test -n "$pkg_config" ; then
+ #
+ # the new way...
+ # run pkg-config based tests.
+ #
- 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
+ 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)
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
- # M4 sucks!!
- changequote(X,Y)
- maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'`
- min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'`
- changequote([,])
- ac_gtk_version=`echo "$maj * 1000 + $min" | bc`
- if test -z "$ac_gtk_version"; then
- ac_gtk_version=unknown
- ac_gtk_version_string=unknown
+ 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; 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
+ 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
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
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.
- #
- 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 >/dev/null 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)
+ 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
- fi
+ ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
+ ac_gtk_config_libs=$ac_cv_gtk_config_libs
- 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 |
- 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)
+ # Check for Gnome Capplet support.
+ #
+ 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 >/dev/null 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
- fi
- GNOME_DATADIR=""
- if test "$have_gnome" = yes -a "$have_gtk" = yes; then
- GNOME_DATADIR=`$gnome_config --datadir`
- 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 >/dev/null 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
+ # 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)
+ fi
- # 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)
+ 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.
AC_CHECK_X_LIB(capplet, capplet_widget_changes_are_immediate,
[AC_DEFINE(HAVE_CRAPPLET_IMMEDIATE)], [true],
fi
+ GNOME_DATADIR=""
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ if test -n "$gnome_config"; then
+ GNOME_DATADIR=`$gnome_config --datadir`
+ else
+ #### is this right?
+ GNOME_DATADIR=`$pkg_config --variable=prefix gtk+`
+ GNOME_DATADIR="$GNOME_DATADIR/share"
+ fi
+ 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
fi
fi
xml_halfassed=no
AC_ARG_WITH(xml,
[ --with-xml The XML toolkit is needed for some parts of
- the Gtk interface.],
+ 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
xml_path="$foo:$xml_path"
fi
- AC_PATH_PROGS(xml_config, xml2-config xml-config,, $xml_path)
+ if test -n "$pkg_config" ; then
+ #
+ # the new way...
+ # run pkg-config based tests.
+ #
+ pkgs=""
+ ok="yes"
+ pkg_check_version xml2 1.0
- # 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
+ if test "$ok" = no; then
+ ok=yes
+ pkg_check_version xml 1.0
+ fi
- ac_save_xml_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $ac_xml_config_cflags"
+ have_xml="$ok"
- # 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 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
- # 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>])
+ else
+ #
+ # the old way...
+ # run {gnome,gtk}-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
- CPPFLAGS="$ac_save_xml_CPPFLAGS"
have_zlib=no
if test "$have_xml" = yes; then
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-# With autoconf 2.13 we could do this:
-#
-# changequote(X,Y)
-# mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | sed -n \
-# 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
-# changequote([,])
-#
-# but with autoconf 2.52+ (m4 1.4) that causes an error:
-# m4: ERROR: Recursion limit of 1024 exceeded, use -L<N> to change it
-#
-# So, we need to use the autoconf line-noise macros @<:@ for [ and @:>@ for ]
-#
- mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | sed -n \
- 's/^configure:.*\(@<:@0-9@:>@@<:@0-9@:>@*\).*\(@<:@0-9@:>@@<:@0-9@:>@*\).*$/\1.\2/p'`
+ mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | grep configure:`
+ # M4 sucks!!
+ changequote(X,Y)
+ mglv=`echo "$mglv" | sed -n \
+ 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
+ changequote([,])
rm -f conftest.$ac_ext
have_xpm=no
with_xpm_req=unspecified
AC_ARG_WITH(xpm,
-[ --with-xpm Include support for XPM files in some demos.],
+[ --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)
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.],
+ GIF, JPEG, and PNG files as well. (The path here is
+ ignored if GTK 2.x is being used.)],
[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 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 -n "$pkg_config" ; then
+ #
+ # the new way...
+ # run pkg-config based tests.
+ #
+ pkgs=''
+ ok="yes"
+ 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"
+
+ if test "$have_gdk_pixbuf2" = no; then
+ #
+ # We don't have pixbuf 2.x; check for 1.x.
+ #
+ pkgs=''
+ ok="yes"
+ pkg_check_version gdk-pixbuf 0.0
+ pkg_check_version gdk-pixbuf-xlib 0.0
+ have_gdk_pixbuf="$ok"
+ fi
- if test ! -z "$gtk_dir"; then
- # canonicalize slashes.
- foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
- gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
+ 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 ! -z "$gnome_dir"; then
- # canonicalize slashes.
- foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
- gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
- 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.
+ #
- AC_PATH_PROGS(gdk_pixbuf_config, gdk-pixbuf-config,, $gdk_pixbuf_path)
+ # 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 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`])
- ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
- ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
+ 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
fi
ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
- # check for header 1...
- AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes])
+ if test "$have_gdk_pixbuf" = no; then
+ #
+ # we appear to have pixbuf; check for headers/libs to be sure.
+ #
- # if that worked, check for header 2...
- 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])
+
+ # check for header 1...
+ AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes])
+
+ # if that worked, check for header 2...
+ if test "$have_gdk_pixbuf" = yes; then
+ have_gdk_pixbuf=no
+ gdk_pixbuf_halfassed=yes
+ AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h,
+ [have_gdk_pixbuf=yes
+ gdk_pixbuf_halfassed=no])
+
+ # yay, it has a new name in GTK2...
+ if test "$have_gdk_pixbuf" = no; then
+ have_gdk_pixbuf=no
+ gdk_pixbuf_halfassed=yes
+ AC_CHECK_X_HEADER(gdk-pixbuf-xlib/gdk-pixbuf-xlib.h,
+ [have_gdk_pixbuf=yes
+ gdk_pixbuf_halfassed=no])
+ fi
+ fi
fi
CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS"
# we have the headers, now check for the libraries
have_gdk_pixbuf=no
gdk_pixbuf_halfassed=yes
+
# library 1...
- AC_CHECK_X_LIB(gdk_pixbuf, gdk_pixbuf_new_from_file,
- [have_gdk_pixbuf=yes], [true],
- $ac_gdk_pixbuf_config_libs)
+ AC_CHECK_X_LIB(c, gdk_pixbuf_new_from_file, [have_gdk_pixbuf=yes],,
+ $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
# library 2...
if test "$have_gdk_pixbuf" = yes; then
- AC_CHECK_X_LIB(gdk_pixbuf_xlib, gdk_pixbuf_xlib_init,
+ have_gdk_pixbuf=no
+ AC_CHECK_X_LIB(c, gdk_pixbuf_xlib_init,
[have_gdk_pixbuf=yes
- gdk_pixbuf_halfassed=no],
- [true],
- $ac_gdk_pixbuf_config_libs)
+ gdk_pixbuf_halfassed=no],,
+ $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
fi
fi
if test "$have_gdk_pixbuf" = yes; then
INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags"
- XPM_LIBS="$ac_gdk_pixbuf_config_libs -lgdk_pixbuf -lgdk_pixbuf_xlib"
+ XPM_LIBS="$ac_gdk_pixbuf_config_libs"
AC_DEFINE(HAVE_GDK_PIXBUF)
+ else
+ have_gdk_pixbuf2=no
fi
fi
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 Include support for the JPEG library in some demos.
+ (If this library is available, webcollage will be a
+ . lot faster.)],
[with_jpeg="$withval"; with_jpeg_req="$withval"],
[with_jpeg=yes])
-# After computing $HACK_CONF_DIR, make sure $GTK_ICONDIR has a value
+# After computing $HACK_CONF_DIR, make sure $GLADE_DATADIR has a value
# so that we know where to install the Gtk pixmaps.
#
if test -n "$GNOME_DATADIR" ; then
- GTK_ICONDIR='$(GNOME_DATADIR)/pixmaps'
+ GLADE_DATADIR='$(GNOME_DATADIR)/xscreensaver'
elif test "$have_gtk" = yes; then
# should this be "$(prefix)/share/pixmaps"? But /usr/X11R6/share/ is wrong...
- GTK_ICONDIR='/usr/share/pixmaps'
+ GLADE_DATADIR='/usr/share/xscreensaver'
else
- GTK_ICONDIR=''
+ GLADE_DATADIR=''
fi
AC_SUBST(GNOMEHELP_N)
AC_SUBST(HACKDIR)
AC_SUBST(GNOME_DATADIR)
-AC_SUBST(GTK_ICONDIR)
+AC_SUBST(GLADE_DATADIR)
+AC_SUBST(GNOME_PANELDIR)
AC_SUBST(HACK_CONF_DIR)
+AC_SUBST(GTK_EXTRA_OBJS)
APPDEFAULTS=$ac_x_app_defaults
AC_SUBST(APPDEFAULTS)
elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then
warnL "Use of Gtk was requested, but it wasn't found;"
warn2 "Motif will be used instead."
-
fi
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 -a "$have_gdk_pixbuf" = no || \
+ test "$gdk_pixbuf_halfassed" = yes; then
- if test "$with_xpm_req" = yes ; then
+ if test "$with_xpm_req" = yes -o "$have_xpm" = yes ; then
true
elif test "$with_xpm_req" = no ; then
warnL 'The XPM library is not being used.'