1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
From: Aron Xu <aron@debian.org>
Date: Fri, 21 Sep 2012 00:19:41 +0800
Subject: modify xml2-config and pkgconfig behaviour
---
configure.in | 2 +-
libxml-2.0-uninstalled.pc.in | 3 ++-
libxml-2.0.pc.in | 2 +-
xml2-config.1 | 4 ++++
xml2-config.in | 22 ++++++++++------------
5 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/configure.in b/configure.in
index d449b11..668f233 100644
--- a/configure.in
+++ b/configure.in
@@ -1380,7 +1380,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 cab6834..af16ebc 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@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
+Libs: -L${libdir} -lxml2
+Libs.private: @BASE_THREAD_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
Cflags: -I${includedir} @XML_INCLUDEDIR@ @XML_CFLAGS@
diff --git a/libxml-2.0.pc.in b/libxml-2.0.pc.in
index f5f5f03..0de667b 100644
--- a/libxml-2.0.pc.in
+++ b/libxml-2.0.pc.in
@@ -9,5 +9,5 @@ Version: @VERSION@
Description: libXML library version2.
Requires:
Libs: -L${libdir} -lxml2
-Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
+Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@ @LZMA_LIBS@
Cflags: @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
|