+ 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
+
+
+ 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