diff options
author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2013-03-25 08:22:16 -0400 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-03-25 14:50:25 -0700 |
commit | 544945a128b4de9c6b767939fb4c4c216b095d23 (patch) | |
tree | 6fc197ab8e0053eef9e3d88103bd3451d4768460 | |
parent | 8db38ffbb887e3ba7661b97ebb4ac072f2d0ca8f (diff) |
config: better (i.e. more portable) test for libxml2
Over the weekend I tried to build on MacOS X¹ and ran into the following
issues:
1) The recent change to autogen.sh to test for pkg-config falls down.
2) After removing the pkg-config test in autogen.sh, w/o pkg-config the
PKG_CHECK_MODULES macro invocation in configure[.ac] falls down. N.B.
Solaris users run into this too, even through there's a (broken)
pkg-config package that can be installed.
3) There are other problems in the code related to fuse that are beyond the
scope of this.
It seems that pkg-config is only a requirement for the definition of the
PKG_CHECK_MODULES macro used to detect libxml2. Since this seems to be
inherently unportable — at least to MacOS X and Solaris — I'd like to:
A) Change the use of the PKG_CHECK_MODULES macro to the more portable
AM_PATH_XML2 macro provided by the libxml2 package in
/usr/.../share/aclocal/libxml.m4
2) Revisit the decision to add the check for pkg-config in autogen.sh in
BZ 921817.
For now this is just an rfc. If people are agreeable I'll reenter this
change against BZ 921817.
¹Mountain Lion 10.8.3, XCode 4.6.1
Change-Id: I237b1ed8919088345b8fd943423b2a6ad289981b
BUG: 921817
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/4720
Reviewed-by: Justin Clift <jclift@redhat.com>
Tested-by: Justin Clift <jclift@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
-rwxr-xr-x | autogen.sh | 6 | ||||
-rw-r--r-- | cli/src/Makefile.am | 4 | ||||
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/Makefile.am | 4 |
4 files changed, 8 insertions, 15 deletions
diff --git a/autogen.sh b/autogen.sh index dca5308f2fa..d3e513a0c7c 100755 --- a/autogen.sh +++ b/autogen.sh @@ -54,12 +54,6 @@ else fi fi -# Check for pkg-config -env pkg-config --version > /dev/null 2>&1 -if [ $? -ne 0 ]; then - MISSING="$MISSING pkg-config" -fi - # Check for tar env tar --version > /dev/null 2>&1 if [ $? -ne 0 ]; then diff --git a/cli/src/Makefile.am b/cli/src/Makefile.am index 7054f1120c8..ae52310264d 100644 --- a/cli/src/Makefile.am +++ b/cli/src/Makefile.am @@ -10,7 +10,7 @@ endif gluster_LDADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(GF_LDADD)\ $(RLLIBS) $(top_builddir)/rpc/xdr/src/libgfxdr.la \ $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \ - $(GF_GLUSTERFS_LIBS) $(LIBXML2_LIBS) + $(GF_GLUSTERFS_LIBS) $(XML_LIBS) gluster_LDFLAGS = $(GF_LDFLAGS) noinst_HEADERS = cli.h cli-mem-types.h cli-cmd.h @@ -22,7 +22,7 @@ AM_CPPFLAGS = $(GF_CPPFLAGS) \ -DCONFDIR=\"$(sysconfdir)/glusterfs\" \ -DGSYNCD_PREFIX=\"$(libexecdir)/glusterfs\"\ -DSYNCDAEMON_COMPILE=$(SYNCDAEMON_COMPILE) -DSBIN_DIR=\"$(sbindir)\"\ - $(LIBXML2_CFLAGS) + $(XML_CPPFLAGS) AM_CFLAGS = -Wall $(GF_GLUSTERFS_CFLAGS) diff --git a/configure.ac b/configure.ac index 76f2b1a598b..0c8cc38f15e 100644 --- a/configure.ac +++ b/configure.ac @@ -439,12 +439,11 @@ fi #check if libxml is present if so enable HAVE_LIB_XML echo -n "checking if libxml2 is present... " -PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6.19], - [echo "yes (features requiring libxml2 enabled)" AC_DEFINE([HAVE_LIB_XML], [1], [define if libxml2 is present])], - [echo "no"] ) +AM_PATH_XML2([2.6.19]) -AC_SUBST(LIBXML2_CFLAGS) -AC_SUBST(LIBXML2_LIBS) +if test "x${no_xml}" = "x"; then + AC_DEFINE([HAVE_LIB_XML], [1], [Define to 1 if using libxml2.]) +fi dnl FreeBSD > 5 has execinfo as a Ported library for giving a workaround dnl solution to GCC backtrace functionality diff --git a/xlators/mgmt/glusterd/src/Makefile.am b/xlators/mgmt/glusterd/src/Makefile.am index df15453dc90..a6f49ae01b1 100644 --- a/xlators/mgmt/glusterd/src/Makefile.am +++ b/xlators/mgmt/glusterd/src/Makefile.am @@ -16,7 +16,7 @@ glusterd_la_SOURCES = glusterd.c glusterd-handler.c glusterd-sm.c \ glusterd_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \ $(top_builddir)/rpc/xdr/src/libgfxdr.la \ $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \ - $(LIBXML2_LIBS) -lcrypto + $(XML_LIBS) -lcrypto noinst_HEADERS = glusterd.h glusterd-utils.h glusterd-op-sm.h \ glusterd-sm.h glusterd-store.h glusterd-mem-types.h \ @@ -29,7 +29,7 @@ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \ -I$(CONTRIBDIR)/uuid \ -DSBIN_DIR=\"$(sbindir)\" -DDATADIR=\"$(localstatedir)\" \ -DGSYNCD_PREFIX=\"$(libexecdir)/glusterfs\"\ - -DSYNCDAEMON_COMPILE=$(SYNCDAEMON_COMPILE) $(LIBXML2_CFLAGS) + -DSYNCDAEMON_COMPILE=$(SYNCDAEMON_COMPILE) $(XML_CPPFLAGS) AM_CFLAGS = -Wall $(GF_CFLAGS) |