From: Aron Xu Date: Sun, 26 Oct 2014 06:02:29 +0800 Subject: modify xml2-config and pkgconfig behaviour --- configure.ac | 2 +- libxml-2.0-uninstalled.pc.in | 3 ++- xml2-config.1 | 4 ++++ xml2-config.in | 22 ++++++++++------------ 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/configure.ac b/configure.ac index 14ac0a8..21d90ab 100644 --- a/configure.ac +++ b/configure.ac @@ -1476,7 +1476,7 @@ case "$host" in *) M_LIBS="-lm" ;; esac -XML_LIBS="-lxml2 $Z_LIBS $THREAD_LIBS $ICONV_LIBS $M_LIBS $LIBS" +XML_LIBS="-lxml2" XML_LIBTOOLLIBS="libxml2.la" AC_SUBST(WITH_ICONV) diff --git a/libxml-2.0-uninstalled.pc.in b/libxml-2.0-uninstalled.pc.in index 60b886b..0d5d6cb 100644 --- a/libxml-2.0-uninstalled.pc.in +++ b/libxml-2.0-uninstalled.pc.in @@ -8,5 +8,6 @@ Name: libXML Version: @VERSION@ Description: libXML library version2. Requires: -Libs: -L${libdir} -lxml2 @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@ +Libs: -L${libdir} -lxml2 +Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@ Cflags: -I${includedir} @XML_INCLUDEDIR@ @XML_CFLAGS@ diff --git a/xml2-config.1 b/xml2-config.1 index 8cf9858..7b4195d 100644 --- a/xml2-config.1 +++ b/xml2-config.1 @@ -8,11 +8,15 @@ xml-config - script to get information about the installed version of GNOME-XML \fIxml-config\fP is a tool that is used to determine the compile and linker flags that should be used to compile and link programs that use \fIGNOME-XML\fP. +It is highly recommended to use pkg-config instead because building in a +multi-arch environment is not well supported in this script. .SH OPTIONS \fIxml-config\fP accepts the following options: .TP 8 .B \-\-version Print the currently installed version of \fIGNOME-XML\fP on the standard output. +Add the \fB\-\-static\fP option to print the linker flags that are necessary +to \fBstatically\fP link a \fIGNOME-XML\fP program. .TP 8 .B \-\-libs Print the linker flags that are necessary to link a \fIGNOME-XML\fP program. diff --git a/xml2-config.in b/xml2-config.in index 1957486..b764d83 100644 --- a/xml2-config.in +++ b/xml2-config.in @@ -15,6 +15,8 @@ Known values for OPTION are: --prefix=DIR change libxml prefix [default $prefix] --exec-prefix=DIR change libxml exec prefix [default $exec_prefix] --libs print library linking information + add --static to print static library linking + information --cflags print pre-processor and compiler flags --modules module support enabled --help display this help and exit @@ -82,18 +84,14 @@ while test $# -gt 0; do ;; --libs) - if [ "`uname`" = "Linux" ] - then - if [ "@XML_LIBDIR@" = "-L/usr/lib" -o "@XML_LIBDIR@" = "-L/usr/lib64" ] - then - echo @XML_LIBS@ @MODULE_PLATFORM_LIBS@ - else - echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@ - fi - else - echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@ @WIN32_EXTRA_LIBADD@ - fi - ;; + LIBS="@XML_LIBS@ @WIN32_EXTRA_LIBADD@" + if [ "$2" = "--static" ] + then + shift + LIBS="${LIBS} @Z_LIBS@ @BASE_THREAD_LIBS@@THREAD_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@" + fi + echo ${LIBS} + ;; *) usage