summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaleb S. KEITHLEY <kkeithle@redhat.com>2013-03-25 08:22:16 -0400
committerAnand Avati <avati@redhat.com>2013-03-25 14:50:25 -0700
commit544945a128b4de9c6b767939fb4c4c216b095d23 (patch)
tree6fc197ab8e0053eef9e3d88103bd3451d4768460
parent8db38ffbb887e3ba7661b97ebb4ac072f2d0ca8f (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-xautogen.sh6
-rw-r--r--cli/src/Makefile.am4
-rw-r--r--configure.ac9
-rw-r--r--xlators/mgmt/glusterd/src/Makefile.am4
4 files changed, 8 insertions, 15 deletions
diff --git a/autogen.sh b/autogen.sh
index dca5308f2..d3e513a0c 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 7054f1120..ae5231026 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 76f2b1a59..0c8cc38f1 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 df15453dc..a6f49ae01 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)