https://sourceforge.net/p/xmlrpc-c/code/3151 https://bugs.gentoo.org/870253 --- a/common.mk +++ b/common.mk @@ -281,7 +281,7 @@ -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \ -L$(BLDDIR)/lib/expat/xmltok -lxmlrpc_xmltok else - LDLIBS_XML = $(shell xml2-config --libs) + LDLIBS_XML = $(shell ${PKG_CONFIG} libxml-2.0 --libs) endif # LIBXMLRPC_UTIL_LIBDEP is the string of linker options you need on the link --- a/configure +++ b/configure @@ -628,9 +628,8 @@ CC_WARN_FLAGS CXX_COMPILER_GNU C_COMPILER_GNU +HAVE_LIBWWW_SSL_DEFINE ENABLE_LIBXML2_BACKEND -have_xml2_config -HAVE_LIBWWW_SSL_DEFINE HAVE_ABYSS_OPENSSL_DEFINE MUST_BUILD_ABYSS_OPENSSL HAVE_OPENSSL @@ -781,8 +780,8 @@ enable_cplusplus enable_abyss_threads enable_abyss_openssl +enable_libxml2_backend with_libwww_ssl -enable_libxml2_backend ' ac_precious_vars='build_alias host_alias @@ -6053,62 +6053,39 @@ fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Libxml2 library" >&5 +$as_echo_n "checking for Libxml2 library... " >&6; } + +if ${PKG_CONFIG} libxml-2.0; then + HAVE_LIBXML2=yes +else + HAVE_LIBXML2=no +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_LIBXML2" >&5 +$as_echo "$HAVE_LIBXML2" >&6; } + +# Check whether --enable-libxml2-backend was given. +if test "${enable_libxml2_backend+set}" = set; then : + enableval=$enable_libxml2_backend; +else + enable_libxml2_backend=no +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the libxml2 backend" >&5 +$as_echo_n "checking whether to build the libxml2 backend... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libxml2_backend" >&5 +$as_echo "$enable_libxml2_backend" >&6; } + +if test $enable_libxml2_backend = yes; then + if test $HAVE_LIBXML2 = no; then + as_fn_error $? "You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no pkg-config file for it in your pkg-config search path), so we cannot not build for libxml2" "$LINENO" 5 + fi +fi + +ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend + + -# Check whether --enable-libxml2-backend was given. -if test "${enable_libxml2_backend+set}" = set; then : - enableval=$enable_libxml2_backend; -else - enable_libxml2_backend=no -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the libxml2 backend" >&5 -$as_echo_n "checking whether to build the libxml2 backend... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libxml2_backend" >&5 -$as_echo "$enable_libxml2_backend" >&6; } - -if test $enable_libxml2_backend = yes; then - # Extract the first word of "xml2-config", so it can be a program name with args. -set dummy xml2-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_have_xml2_config+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$have_xml2_config"; then - ac_cv_prog_have_xml2_config="$have_xml2_config" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_have_xml2_config="yes" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_have_xml2_config" && ac_cv_prog_have_xml2_config="no" -fi -fi -have_xml2_config=$ac_cv_prog_have_xml2_config -if test -n "$have_xml2_config"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_xml2_config" >&5 -$as_echo "$have_xml2_config" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test $have_xml2_config = no; then - as_fn_error $? "You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no working xml2-config in your command search path), so we cannot not build for libxml2" "$LINENO" 5 - fi -fi -ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend C_COMPILER_GNU=$ac_cv_c_compiler_gnu --- a/configure.in +++ b/configure.in @@ -742,6 +742,36 @@ dnl ======================================================================= +dnl Finding Libxml2 +dnl ======================================================================= + +AC_MSG_CHECKING(for Libxml2 library) + +if ${PKG_CONFIG} libxml-2.0; then + HAVE_LIBXML2=yes +else + HAVE_LIBXML2=no +fi + +AC_MSG_RESULT($HAVE_LIBXML2) + +AC_ARG_ENABLE(libxml2-backend, + [ --enable-libxml2-backend Use libxml2 instead of built-in expat], , +enable_libxml2_backend=no) +AC_MSG_CHECKING(whether to build the libxml2 backend) +AC_MSG_RESULT($enable_libxml2_backend) + +if test $enable_libxml2_backend = yes; then + if test $HAVE_LIBXML2 = no; then + AC_MSG_ERROR([You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no pkg-config file for it in your pkg-config search path), so we cannot not build for libxml2]) + fi +fi + +ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend +AC_SUBST(ENABLE_LIBXML2_BACKEND) + + +dnl ======================================================================= dnl Checks for build options. dnl ======================================================================= @@ -763,22 +793,6 @@ fi AC_SUBST(HAVE_LIBWWW_SSL_DEFINE) -dnl Check to see if we should build the libxml2 backend. -AC_ARG_ENABLE(libxml2-backend, - [ --enable-libxml2-backend Use libxml2 instead of built-in expat], , -enable_libxml2_backend=no) -AC_MSG_CHECKING(whether to build the libxml2 backend) -AC_MSG_RESULT($enable_libxml2_backend) - -if test $enable_libxml2_backend = yes; then - AC_CHECK_PROG(have_xml2_config, xml2-config, yes, no) - if test $have_xml2_config = no; then - AC_MSG_ERROR([You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no working xml2-config in your command search path), so we cannot not build for libxml2]) - fi -fi -ENABLE_LIBXML2_BACKEND=$enable_libxml2_backend -AC_SUBST(ENABLE_LIBXML2_BACKEND) - dnl ======================================================================= dnl Compiler information dnl ======================================================================= --- a/src/Makefile +++ b/src/Makefile @@ -68,7 +68,7 @@ ifeq ($(ENABLE_LIBXML2_BACKEND),yes) XMLRPC_XML_PARSER = xmlrpc_libxml2 - XML_PARSER_LIBDEP = $(shell xml2-config --libs) + XML_PARSER_LIBDEP = $(shell ${PKG_CONFIG} libxml-2.0 --libs) XML_PARSER_LIBDEP_DEP = XML_PKGCONFIG_REQ = libxml-2.0 else @@ -276,7 +276,7 @@ -Isrcdir/lib/util/include \ ifeq ($(ENABLE_LIBXML2_BACKEND),yes) - LIBXML_INCLUDES = $(shell xml2-config --cflags) + LIBXML_INCLUDES = $(shell ${PKG_CONFIG} libxml-2.0 --cflags) else LIBXML_INCLUDES = -Isrcdir/lib/expat/xmlparse endif --- a/src/cpp/Makefile +++ b/src/cpp/Makefile @@ -46,7 +46,7 @@ endif ifeq ($(ENABLE_LIBXML2_BACKEND),yes) - XML_PARSER_LIBDEP = $(shell xml2-config --libs) + XML_PARSER_LIBDEP = $(shell ${PKG_CONFIG} libxml-2.0 --libs) else XML_PARSER_LIBDEP = \ -L$(BLDDIR)/lib/expat/xmlparse -lxmlrpc_xmlparse \