This patch removes the use of xml2-config and instead uses PKG_CHECK_MODULES to detect the libxml2 library. As noted in [1], Debian is removing xml2-config and is progressively updating its repository to use pkg-config and its helper macros. This patch builds on Andreas Hasenack's initial patch in [1] and addresses feedback from Ian Kent [2]. [1] https://www.spinics.net/lists/autofs/msg02204.html [2] https://www.spinics.net/lists/autofs/msg02206.html --- a/Makefile.conf.in +++ b/Makefile.conf.in @@ -36,7 +36,7 @@ SSSD = @HAVE_SSS_AUTOFS@ # SASL support: yes (1) no (0) XML_LIBS = @XML_LIBS@ -XML_FLAGS = @XML_FLAGS@ +XML_CFLAGS = @XML_CFLAGS@ SASL = @HAVE_SASL@ LIBSASL= @LIBSASL@ SASL_FLAGS = @SASL_FLAGS@ diff --git a/aclocal.m4 b/aclocal.m4 index ec362bb..33561aa 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -272,38 +272,6 @@ else fi]) ]) -dnl -------------------------------------------------------------------------- -dnl AF_CHECK_LIBXML -dnl -dnl Check for lib xml -dnl -------------------------------------------------------------------------- -AC_DEFUN([AF_CHECK_LIBXML], -[AC_PATH_PROGS(XML_CONFIG, xml2-config, no) -AC_MSG_CHECKING(for libxml2) -if test "$XML_CONFIG" = "no" -then - AC_MSG_RESULT(no) - HAVE_LIBXML=0 -else - AC_MSG_RESULT(yes) - HAVE_LIBXML=1 - XML_LIBS=`$XML_CONFIG --libs` - XML_FLAGS=`$XML_CONFIG --cflags` - XML_VER=`$XML_CONFIG --version` - XML_MAJOR=`echo $XML_VER|cut -d\. -f1` - if test $XML_MAJOR -le 99 - then - XML_MINOR=`echo $XML_VER|cut -d\. -f2` - if test $XML_MINOR -le 99 - then - XML_REV=`echo $XML_VER|cut -d\. -f3` - if test $XML_REV -le 99; then - AC_DEFINE(LIBXML2_WORKAROUND,1, [Use libxml2 tsd usage workaround]) - fi - fi - fi -fi]) - dnl -------------------------------------------------------------------------- dnl AF_CHECK_KRB5 dnl diff --git a/configure.in b/configure.in index 525f79b..9e211c9 100644 --- a/configure.in +++ b/configure.in @@ -210,7 +210,11 @@ fi AC_SUBST(ENABLE_FEDFS) # LDAP SASL auth needs libxml and Kerberos -AF_CHECK_LIBXML() +PKG_CHECK_MODULES([XML], [libxml-2.0], [ + HAVE_LIBXML=1 + AC_DEFINE(LIBXML2_WORKAROUND, 1, [Use libxml2 tsd usage workaround]) +], [HAVE_LIBXML=0]) + AF_CHECK_KRB5() AC_SEARCH_LIBS([versionsort],[]) @@ -344,7 +348,7 @@ then fi fi -AC_SUBST(XML_FLAGS) +AC_SUBST(XML_CFLAGS) AC_SUBST(XML_LIBS) AC_SUBST(SASL_FLAGS) AC_SUBST(HAVE_SASL) diff --git a/daemon/Makefile b/daemon/Makefile index a7ce430..d8e2d6a 100644 --- a/daemon/Makefile +++ b/daemon/Makefile @@ -28,7 +28,7 @@ ifeq ($(SYSTEMD), 1) endif ifeq ($(LDAP), 1) - CFLAGS += $(XML_FLAGS) + CFLAGS += $(XML_CFLAGS) LIBS += $(XML_LIBS) endif diff --git a/lib/Makefile b/lib/Makefile index 518b483..b20b95b 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -25,7 +25,7 @@ CFLAGS += -DAUTOFS_MAP_DIR=\"$(autofsmapdir)\" CFLAGS += -DAUTOFS_CONF_DIR=\"$(autofsconfdir)\" ifeq ($(LDAP), 1) - CFLAGS += $(XML_FLAGS) $(XML_LIBS) + CFLAGS += $(XML_CFLAGS) $(XML_LIBS) endif .PHONY: all install clean diff --git a/modules/Makefile b/modules/Makefile index 0447559..989c6c1 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -47,7 +47,7 @@ endif ifeq ($(LDAP), 1) SRCS += lookup_ldap.c MODS += lookup_ldap.so - LDAP_FLAGS += $(XML_FLAGS) -DLDAP_THREAD_SAFE + LDAP_FLAGS += $(XML_CFLAGS) -DLDAP_THREAD_SAFE LIBLDAP += $(XML_LIBS) ifeq ($(SASL), 1) SASL_OBJ = cyrus-sasl.o cyrus-sasl-extern.o