Description: Use PKG_CHECK_MODULES to detect libxml2, libxslt and libexslt. Also remove the STATIC_LIBS build option, since Debian doesn't ship static libraries for libxslt or libexslt. Author: Hugh McMaster Bug-Debian: https://bugs.debian.org/948791 Bug-Debian: https://bugs.debian.org/949513 Forwarded: no Last-Update: 2020-05-31 --- configure.ac +++ configure.ac @@ -11,16 +11,6 @@ [LIBXML_REQUIRED_VERSION=2.6.27] [LIBXSLT_REQUIRED_VERSION=1.1.9] -XSTAR_LIB_ARGS_WITH([LIBXML], [with-src]) -XSTAR_LIB_ARGS_WITH([LIBXSLT], [with-src]) -XSTAR_LIB_ARGS_WITH([LIBICONV]) - -AC_ARG_ENABLE([static-libs], - [AS_HELP_STRING([--enable-static-libs], - [link statically with libxml2 and lib(e)xslt @<:@default=no@:>@])], - [STATIC_LIBS=$enableval], - [STATIC_LIBS=no]) - AS_IF([test -r doc/xmlstarlet.1], [LACK_DOCS=no], [LACK_DOCS=yes]) AC_ARG_ENABLE([build_docs], @@ -42,33 +32,14 @@ AC_ARG_PROGRAM dnl Transforming Program Names When Installing AC_PROG_SED AC_PROG_AWK +PKG_PROG_PKG_CONFIG -XSTAR_LIB_CHECK([LIBXML], [xml2-config]) +PKG_CHECK_MODULES([LIBXML], [libxml-2.0 >= $LIBXML_REQUIRED_VERSION]) +PKG_CHECK_EXISTS([libexslt], + [PKG_CHECK_MODULES([LIBXSLT], [libexslt])], + [PKG_CHECK_MODULES([LIBXSLT], [libxslt >= $LIBXSLT_REQUIRED_VERSION])]) -AS_IF([test "x$LIBXML_SRCDIR" != x], - [LIBXML_INCDIR="$LIBXML_SRCDIR/include"]) -[: ${LIBXML_INCDIR="$LIBXML_PREFIX/include/libxml2"}] - -AS_IF([test "x$STATIC_LIBS" != xno], - [LIBXML_CPPFLAGS="-I$LIBXML_INCDIR -DLIBXML_STATIC"], - [LIBXML_CPPFLAGS="-I$LIBXML_INCDIR"]) - -AS_IF([test "x$STATIC_LIBS" != xno], - [LIBXML_LIBS="$LIBXML_LIBDIR/libxml2.a"], - [LIBXML_LIBS="-lxml2"]) - - -XSTAR_LIB_CHECK([LIBXSLT], [xslt-config]) - -AS_IF([test "x$LIBXSLT_SRCDIR" != x], - [XSLTPROC_PATH="$LIBXSLT_SRCDIR/xsltproc:$PATH" - LIBXSLT_INCDIR="$LIBXSLT_SRCDIR" - LIBXSLT_LDFLAGS="-L$LIBXSLT_SRCDIR/libexslt/.libs -L$LIBXSLT_SRCDIR/libxslt/.libs" - AS_IF([test "x$STATIC_LIBS" != xno], - [LIBXSLT_LIBS="$LIBXSLT_SRCDIR/libexslt/.libs/libexslt.a $LIBXSLT_SRCDIR/libxslt/.libs/libxslt.a"])], - [XSLTPROC_PATH="$PATH" - AS_IF([test "x$STATIC_LIBS" != xno], - [LIBXSLT_LIBS="$LIBXSLT_LIBDIR/libexslt.a $LIBXSLT_LIBDIR/libxslt.a"])]) +XSLTPROC_PATH="$PATH" AS_IF([test x"$enable_build_docs" = xyes], [AC_PATH_PROG(XSLTPROC, xsltproc, [none], [$XSLTPROC_PATH]) @@ -87,13 +58,8 @@ AM_CONDITIONAL([BUILD_DOCS], [test x"$enable_build_docs" = xyes]) - -AS_IF([test "x$STATIC_LIBS" = xno], - [LIBXSLT_LIBS="-lexslt -lxslt"]) - -[: ${LIBXSLT_INCDIR="$LIBXSLT_PREFIX/include"}] -[LIBXSLT_CPPFLAGS="-I$LIBXSLT_INCDIR"] - +[LIBXML_CPPFLAGS="$LIBXML_CFLAGS"] +[LIBXSLT_CPPFLAGS="$LIBXSLT_CFLAGS"] [WIN32_EXTRA_LDFLAGS=] [WIN32_EXTRA_LIBS=] @@ -116,20 +82,6 @@ # replace the libraries from ./configure [USER_LIBS="$LIBS"] [LIBS=] -# shared libraries link to dependant libraries automatically -AS_IF([test "x$STATIC_LIBS" != xno], - [AC_SEARCH_LIBS([dlopen], [dl], [], [], "$USER_LIBS") - AC_SEARCH_LIBS([sqrt], [m], [], [], "$USER_LIBS") - AC_SEARCH_LIBS([iconv_open], [iconv], [], - [AC_SEARCH_LIBS([libiconv_open], [iconv], [], [], "$USER_LIBS")], "$USER_LIBS") - AC_SEARCH_LIBS([clock_gettime], [rt], [], [], "$USER_LIBS") - AC_SEARCH_LIBS([deflate], [z], [], [], "$USER_LIBS") - AC_SEARCH_LIBS([gcry_cipher_encrypt], [gcrypt], [], [], "$USER_LIBS") - - # Checks for inet libraries: - AC_SEARCH_LIBS([gethostent], [nsl], [], [], "$USER_LIBS") - AC_SEARCH_LIBS([setsockopt], [socket net network], [], [], "$USER_LIBS") - AC_SEARCH_LIBS([connect], [inet], [], [], "$USER_LIBS")]) AC_CHECK_FUNCS_ONCE([lstat stat])