summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-12-03 14:34:52 +0000
committerRichard W.M. Jones <rjones@redhat.com>2011-12-03 14:34:52 +0000
commit615924abaa968398d6529529fa2f31ae23de825b (patch)
tree42fa028aa2b2765c0cebf2fab30d3f0654689a11
parentcd1322e30d6c34d7d9f87d72dfa1660aa5d8af38 (diff)
downloadlibguestfs-615924abaa968398d6529529fa2f31ae23de825b.tar.gz
libguestfs-615924abaa968398d6529529fa2f31ae23de825b.tar.xz
libguestfs-615924abaa968398d6529529fa2f31ae23de825b.zip
daemon: Use pkg-config to locate Augeas CFLAGS / libraries.
Augeas 0.10 depends on libxml2, so this is now required in the appliance (in fact, it was already present). However this exposed two bugs: (1) In libguestfs we use a home-brewed recipe for Augeas flags, resulting in this error: /usr/include/augeas.h:24:25: fatal error: libxml/tree.h: No such file or directory (2) Augeas's own augeas.pc didn't include the libxml2 flags, so it was broken. This requires a patch to Augeas 0.10, see: https://www.redhat.com/archives/augeas-devel/2011-December/msg00008.html Change to using pkg-config to detect Augeas. It is still an optional library.
-rw-r--r--appliance/packagelist.in1
-rw-r--r--configure.ac29
-rw-r--r--daemon/Makefile.am4
3 files changed, 16 insertions, 18 deletions
diff --git a/appliance/packagelist.in b/appliance/packagelist.in
index 9b723d0a..550ba8bd 100644
--- a/appliance/packagelist.in
+++ b/appliance/packagelist.in
@@ -105,6 +105,7 @@ gawk
grep
gzip
jfsutils
+libxml2
lsof
lvm2
lzop
diff --git a/configure.ac b/configure.ac
index 6e67eb0f..19eb601f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -315,22 +315,19 @@ AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
])
-dnl Check for Augeas (now optional).
-AC_CHECK_LIB([augeas],[aug_match],[
- have_augeas=yes
- AUGEAS_LIB="-laugeas"
-
- old_LIBS="$LIBS"
- LIBS="$LIBS $AUGEAS_LIB"
- dnl Check for functions not available in earlier versions of Augeas.
- AC_CHECK_FUNCS([aug_load aug_defvar aug_defnode])
- LIBS="$old_LIBS"
-
- ],[have_augeas=no])
-if test "x$have_augeas" = "xyes"; then
- AC_DEFINE([HAVE_AUGEAS],[1],[Define to 1 if you have Augeas])
-fi
-AC_SUBST([AUGEAS_LIB])
+dnl Check for Augeas (optional).
+PKG_CHECK_MODULES([AUGEAS], [augeas],
+ [AC_SUBST([AUGEAS_CFLAGS])
+ AC_SUBST([AUGEAS_LIBS])
+ AC_DEFINE([HAVE_AUGEAS],[1],[Define to 1 if you have Augeas])
+
+ old_LIBS="$LIBS"
+ LIBS="$LIBS $AUGEAS_LIBS"
+ dnl Check for functions not available in earlier versions of Augeas.
+ AC_CHECK_FUNCS([aug_load aug_defvar aug_defnode])
+ LIBS="$old_LIBS"
+ ],
+ [AC_MSG_WARN([augeas not found, some core features will be disabled])])
dnl Check for libselinux (optional).
AC_CHECK_HEADERS([selinux/selinux.h])
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 71d6a637..a19a1570 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -166,7 +166,7 @@ guestfsd_LDADD = \
liberrnostring.a \
libprotocol.a \
$(SELINUX_LIB) \
- $(AUGEAS_LIB) \
+ $(AUGEAS_LIBS) \
$(top_builddir)/gnulib/lib/.libs/libgnu.a \
$(GETADDRINFO_LIB) \
$(HOSTENT_LIB) \
@@ -177,6 +177,6 @@ guestfsd_LDADD = \
$(SERVENT_LIB)
guestfsd_CPPFLAGS = -I$(top_srcdir)/gnulib/lib -I$(top_builddir)/gnulib/lib
-guestfsd_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+guestfsd_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) $(AUGEAS_CFLAGS)
.PHONY: force