Makefile.am | 4 ++--
configure.ac | 5 +----
m4/libxml2.m4 | 46 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 49 insertions(+), 6 deletions(-)
New commits:
commit 86463799ee38c006f2751f9eb69b7edc3398df74
Author: Jim Meyering <meyering(a)redhat.com>
Date: Wed Feb 16 20:28:03 2011 +0100
configure.ac didn't did not honor xml2-config's settings
In particular, before this change, configure did not use any CFLAGS
for libxml2, and would fail to use the CFLAGS and ld options
recommended (sometimes required) by libxml2.
* m4/libxml2.m4 (gl_LIBXML2): New file.
* configure.ac: Use new macro, gl_LIBXML2.
* Makefile.am (iwhd_CPPFLAGS): Add $(LIBXML_CFLAGS)
(iwhd_LDADD): Use new variable, $(LIBXML_LIBS), not $(XML2_LIB).
diff --git a/Makefile.am b/Makefile.am
index 334ad02..e93545a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -89,7 +89,7 @@ rpm: dist iwhd.spec
*) rpmbuild -ta $(distdir).tar.gz ;; \
esac
-iwhd_CPPFLAGS = $(HAIL_CFLAGS) -I$(top_srcdir)/lib
+iwhd_CPPFLAGS = $(HAIL_CFLAGS) $(LIBXML_CFLAGS) -I$(top_srcdir)/lib
iwhd_LDADD = \
lib/libiwhd.a \
-lgc -lpthread \
@@ -100,7 +100,7 @@ iwhd_LDADD = \
$(JANSSON_LIB) \
$(UHTTPD_LIB) \
$(PTHREAD_LIB) \
- $(XML2_LIB) \
+ $(LIBXML_LIBS) \
$(HAIL_LIBS)
MOSTLYCLEANFILES += qlexer.c
diff --git a/configure.ac b/configure.ac
index e4a6014..84cdf2d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,10 +70,7 @@ PKG_CHECK_MODULES([HAIL],[libhail >= 0.8])
AC_SUBST([HAIL_LIBS])
AC_SUBST([HAIL_CFLAGS])
-AC_CHECK_LIB([xml2], [xmlInitParser],
- [XML2_LIB=-lxml2],
- [AC_MSG_ERROR([Missing required XML2 lib])])
-AC_SUBST([XML2_LIB])
+gl_LIBXML2([2.6.0])
AC_CHECK_HEADER([gc.h], ,
[AC_MSG_ERROR([Missing GC development library: gc-devel or libgc-dev])])
diff --git a/m4/libxml2.m4 b/m4/libxml2.m4
new file mode 100644
index 0000000..2ec2538
--- /dev/null
+++ b/m4/libxml2.m4
@@ -0,0 +1,46 @@
+dnl ==========================================================================
+dnl find libxml2 compile and link flags, derived from code in libvirt
+dnl ==========================================================================
+
+# gl_LIBXML2([MINIMUM_VERSION])
+# -----------------------------
+AC_DEFUN([gl_LIBXML2],
+[
+ gl_xml_min_ver=$1
+ gl_xml_config=xml2-config
+ gl_libxml_found=no
+ LIBXML_CFLAGS=
+ LIBXML_LIBS=
+
+ AC_ARG_WITH([libxml], AC_HELP_STRING([--with-libxml=@<:@PFX@:>@],
+ [libxml2 location]))
+ if test "x$with_libxml" = "xno"; then
+ AC_MSG_CHECKING(for libxml2 libraries >= $gl_xml_min_ver)
+ AC_MSG_ERROR([libxml2 >= $gl_xml_min_ver is required])
+ fi
+
+ if test "$gl_libxml_found" = no; then
+ if test "x$with_libxml" != x; then
+ gl_xml_config=$with_libxml/bin/$gl_xml_config
+ fi
+ AC_MSG_CHECKING([libxml2 $gl_xml_config >= $gl_xml_min_ver])
+ if ! $gl_xml_config --version > /dev/null 2>&1; then
+ AC_MSG_ERROR([Could not find libxml2 (see config.log for details).])
+ fi
+ gl_ver=`$gl_xml_config --version |
+ awk -F. '{ printf "%d", ([$]1 * 1000 + [$]2) * 1000 + [$]3}'`
+ gl_min_ver=`echo $gl_xml_min_ver |
+ awk -F. '{ printf "%d", ([$]1 * 1000 + [$]2) * 1000 + [$]3}'`
+ if test "$gl_ver" -ge "$gl_min_ver"; then
+ LIBXML_LIBS="`$gl_xml_config --libs`"
+ LIBXML_CFLAGS="`$gl_xml_config --cflags`"
+ gl_libxml_found=yes
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_ERROR([You need at least libxml2 $gl_xml_min_ver])
+ fi
+ fi
+
+ AC_SUBST([LIBXML_CFLAGS])
+ AC_SUBST([LIBXML_LIBS])
+])
Show replies by date