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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
From a6200ded4c697408d00eb79cbc712acceb8aef83 Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Fri, 4 Mar 2016 16:06:19 +0100
Subject: [PATCH] xmlsec1-configure.patch
Conflicts:
configure.in
---
Makefile.am | 5 +++--
Makefile.in | 5 +++--
configure.in | 52 ++++++++++++++++++++++++++++++++++++++++------------
win32/Makefile.msvc | 2 +-
4 files changed, 47 insertions(+), 17 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 669f996..0cf0798 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,8 +1,9 @@
NULL =
SAFE_VERSION = @XMLSEC_VERSION_SAFE@
-SUBDIRS = include src apps man docs
-TEST_APP = apps/xmlsec1$(EXEEXT)
+#Do not build xmlsec1 app. It is not needed. Also the libtool includes
+#a -L/path_to_lib_dir which may contain an incompatible lixbml2.
+SUBDIRS = include src man docs
DEFAULT_CRYPTO = @XMLSEC_CRYPTO@
bin_SCRIPTS = xmlsec1-config
diff --git a/Makefile.in b/Makefile.in
index 25e6087..f9aa108 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -372,8 +372,9 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NULL =
SAFE_VERSION = @XMLSEC_VERSION_SAFE@
-SUBDIRS = include src apps man docs
-TEST_APP = apps/xmlsec1$(EXEEXT)
+#Do not build xmlsec1 app. It is not needed. Also the libtool includes
+#a -L/path_to_lib_dir which may contain an incompatible lixbml2.
+SUBDIRS = include src man docs
DEFAULT_CRYPTO = @XMLSEC_CRYPTO@
bin_SCRIPTS = xmlsec1-config
pkgconfig_DATA = xmlsec1.pc @XMLSEC_CRYPTO_PC_FILES_LIST@
diff --git a/configure.in b/configure.in
index 1b46a92..92c4cc2 100644
--- a/configure.in
+++ b/configure.in
@@ -185,8 +185,8 @@ dnl find libxml
dnl ==========================================================================
LIBXML_MIN_VERSION="2.7.4"
LIBXML_CONFIG="xml2-config"
-LIBXML_CFLAGS=""
-LIBXML_LIBS=""
+LIBXML_CFLAGS="$LIBXML_CFLAGS"
+LIBXML_LIBS="$LIBXML_LIBS"
LIBXML_FOUND="no"
AC_ARG_WITH(libxml,
[ --with-libxml=[PFX] libxml2 location]
@@ -195,6 +195,8 @@ AC_ARG_WITH(libxml-src,
[ --with-libxml-src=[PFX] not installed yet libxml2 location]
)
+if test "z$LIBXML_CFLAGS" = "z" -o "z$LIBXML_LIBS" = "z"; then
+
if test "z$with_libxml" = "zno" -o "z$with_libxml_src" = "zno"; then
AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_MIN_VERSION)
AC_MSG_ERROR(libxml2 >= $LIBXML_MIN_VERSION is required for $XMLSEC_PACKAGE)
@@ -243,6 +245,8 @@ if test "z$LIBXML_FOUND" = "zno" ; then
fi
fi
+fi
+
AC_SUBST(LIBXML_CFLAGS)
AC_SUBST(LIBXML_LIBS)
AC_SUBST(LIBXML_CONFIG)
@@ -551,12 +555,26 @@ dnl ==========================================================================
XMLSEC_NO_NSS="1"
SEAMONKEY_MIN_VERSION="1.0"
MOZILLA_MIN_VERSION="1.4"
+if test "z$MOZ_FLAVOUR" = "zfirefox" ; then
+ MOZILLA_MIN_VERSION="1.0"
+fi
NSS_MIN_VERSION="3.9"
NSPR_MIN_VERSION="4.4.1"
NSS_CFLAGS=""
NSS_LIBS=""
-NSS_LIBS_LIST="-lnss3 -lsmime3"
-NSPR_LIBS_LIST="-lnspr4 -lplds4 -lplc4"
+
+case $host_os in
+cygwin* | mingw* | pw32*)
+ NSS_LIBS_LIST="-lnss3 -lsmime3"
+ NSPR_LIBS_LIST="-lnspr4"
+ ;;
+
+*)
+ NSS_LIBS_LIST="-lnss3 -lsmime3"
+ NSPR_LIBS_LIST="-lnspr4 -lplds4 -lplc4"
+ ;;
+esac
+
NSS_CRYPTO_LIB="$XMLSEC_PACKAGE-nss"
NSS_FOUND="no"
NSPR_PACKAGE=mozilla-nspr
@@ -583,6 +601,16 @@ elif test "z$with_nss" = "z" -a "z$with_nspr" = "z" -a "z$with_mozilla_ver" = "z
dnl We are going to try all options
dnl
if test "z$NSS_FOUND" = "zno" ; then
+ PKG_CHECK_MODULES(NSS, $MOZ_FLAVOUR-nspr >= $MOZILLA_MIN_VERSION $MOZ_FLAVOUR >= $MOZILLA_MIN_VERSION,
+ [NSS_FOUND=yes NSPR_PACKAGE=$MOZ_FLAVOUR-nspr NSS_PACKAGE=$MOZ_FLAVOUR-nss],
+ [NSS_FOUND=no])
+ fi
+ if test "z$NSS_FOUND" = "zno" ; then
+ PKG_CHECK_MODULES(NSS, nss >= 3.9.3 nspr >= 4.8,
+ [NSS_FOUND=yes NSPR_PACKAGE=nspr NSS_PACKAGE=nss],
+ [NSS_FOUND=no])
+ fi
+ if test "z$NSS_FOUND" = "zno" ; then
PKG_CHECK_MODULES(NSS, seamonkey-nspr >= $NSPR_MIN_VERSION seamonkey-nss >= $SEAMONKEY_MIN_VERSION,
[NSS_FOUND=yes NSPR_PACKAGE=seamonkey-nspr NSS_PACKAGE=seamonkey-nss],
[NSS_FOUND=no])
@@ -614,8 +642,8 @@ if test "z$NSS_FOUND" = "zno" ; then
ac_mozilla_name=mozilla-$MOZILLA_MIN_VERSION
fi
- ac_nss_lib_dir="/usr/lib /usr/lib64 /usr/local/lib /usr/lib/$ac_mozilla_name /usr/local/lib/$ac_mozilla_name"
- ac_nss_inc_dir="/usr/include /usr/include/mozilla /usr/local/include /usr/local/include/mozilla /usr/include/$ac_mozilla_name /usr/local/include/$ac_mozilla_name"
+ ac_nss_lib_dir="${WORKDIR}/UnpackedTarball/nss/dist/out/lib"
+ ac_nss_inc_dir="${WORKDIR}/UnpackedTarball/nss/dist/out/include ${WORKDIR}/UnpackedTarball/nss/dist/public"
AC_MSG_CHECKING(for nspr libraries >= $NSPR_MIN_VERSION)
NSPR_INCLUDES_FOUND="no"
@@ -636,21 +664,21 @@ if test "z$NSS_FOUND" = "zno" ; then
NSPR_PRINIT_H="$with_nspr/include/prinit.h"
else
for dir in $ac_nss_inc_dir ; do
- if test -f $dir/nspr/prinit.h ; then
+ if test -f $dir/prinit.h ; then
dnl do not add -I/usr/include because compiler does it anyway
if test "z$dir" = "z/usr/include" ; then
NSPR_CFLAGS=""
else
- NSPR_CFLAGS="-I$dir/nspr"
+ NSPR_CFLAGS="-I$dir"
fi
NSPR_INCLUDES_FOUND="yes"
- NSPR_PRINIT_H="$dir/nspr/prinit.h"
+ NSPR_PRINIT_H="$dir/prinit.h"
break
fi
done
for dir in $ac_nss_lib_dir ; do
- if test -f $dir/libnspr4$shrext ; then
+ if test -f $dir/libnspr4.so -o -f $dir/libnspr4.dylib ; then
dnl do not add -L/usr/lib because compiler does it anyway
if test "z$dir" = "z/usr/lib" ; then
NSPR_LIBS="$NSPR_LIBS_LIST"
@@ -721,7 +749,7 @@ if test "z$NSS_FOUND" = "zno" ; then
done
for dir in $ac_nss_lib_dir ; do
- if test -f $dir/libnss3$shrext ; then
+ if test -f $dir/libnss3.so -o -f $dir/libnss3.dylib ; then
dnl do not add -L/usr/lib because compiler does it anyway
if test "z$dir" = "z/usr/lib" ; then
NSS_LIBS="$NSS_LIBS_LIST"
@@ -740,7 +768,7 @@ if test "z$NSS_FOUND" = "zno" ; then
if test "z$NSS_INCLUDES_FOUND" = "zyes" -a "z$NSS_LIBS_FOUND" = "zyes" ; then
OLD_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$NSS_CFLAGS"
+ CPPFLAGS="$NSS_CFLAGS $NSPR_CFLAGS"
AC_EGREP_CPP(yes,[
#include <nss.h>
#if NSS_VMAJOR >= 3 && NSS_VMINOR >= 2
diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc
index 2712a0a..d833497 100644
--- a/win32/Makefile.msvc
+++ b/win32/Makefile.msvc
@@ -394,7 +394,7 @@ APP_LIBS = $(SOLIBS) $(XMLSEC_CRYPTO_SOLIBS)
XMLSEC_OPENSSL_SOLIBS = libeay32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib
XMLSEC_OPENSSL_ALIBS = libeay32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib
-XMLSEC_NSS_SOLIBS = smime3.lib ssl3.lib nss3.lib libnspr4.lib libplds4.lib libplc4.lib kernel32.lib user32.lib gdi32.lib
+XMLSEC_NSS_SOLIBS = smime3.lib nss3.lib nspr4.lib kernel32.lib user32.lib gdi32.lib
XMLSEC_NSS_ALIBS = smime3.lib ssl3.lib nss3.lib libnspr4_s.lib libplds4_s.lib libplc4_s.lib kernel32.lib user32.lib gdi32.lib
XMLSEC_MSCRYPTO_SOLIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib
--
2.6.2
|