From a6200ded4c697408d00eb79cbc712acceb8aef83 Mon Sep 17 00:00:00 2001 From: Miklos Vajna 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 9b252ff..c42b984 100644 --- a/Makefile.in +++ b/Makefile.in @@ -452,8 +452,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 7690e7a..f2c98e3 100644 --- a/configure.in +++ b/configure.in @@ -188,8 +188,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] @@ -198,6 +198,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) @@ -246,6 +248,8 @@ if test "z$LIBXML_FOUND" = "zno" ; then fi fi +fi + AC_SUBST(LIBXML_CFLAGS) AC_SUBST(LIBXML_LIBS) AC_SUBST(LIBXML_CONFIG) @@ -570,12 +574,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 @@ -602,6 +620,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]) @@ -633,8 +661,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" @@ -655,21 +683,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" @@ -740,7 +768,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" @@ -759,7 +787,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 #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