summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Sanin <aleksey@src.gnome.org>2003-05-28 03:15:08 +0000
committerAleksey Sanin <aleksey@src.gnome.org>2003-05-28 03:15:08 +0000
commit73b33fcb046d16c31ca4f4b5fa7afd0981eead9b (patch)
tree776808fa89ee31a57042f700d3dd87c5ca03644f
parent4be13eae07d4c33c70c139476f152aafa7d36079 (diff)
downloadxmlsec1-73b33fcb046d16c31ca4f4b5fa7afd0981eead9b.tar.gz
xmlsec1-73b33fcb046d16c31ca4f4b5fa7afd0981eead9b.tar.bz2
xmlsec1-73b33fcb046d16c31ca4f4b5fa7afd0981eead9b.zip
change xmlsec-config script to let user specify crypto engine (requested
* configure.in xmlsec-config.in xmlsecConf.sh.in src/gnutls/Makefile.am src/nss/Makefile.am src/openssl/Makefile.am: change xmlsec-config script to let user specify crypto engine (requested by John Belmonte)
-rw-r--r--ChangeLog7
-rw-r--r--configure.in56
-rw-r--r--src/gnutls/Makefile.am1
-rw-r--r--src/nss/Makefile.am1
-rw-r--r--src/openssl/Makefile.am1
-rw-r--r--xmlsec-config.in87
-rw-r--r--xmlsecConf.sh.in2
7 files changed, 121 insertions, 34 deletions
diff --git a/ChangeLog b/ChangeLog
index 84caa88c..d4a93383 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue May 27 20:12:41 2003 Aleksey Sanin <aleksey@aleksey.com>
+
+ * configure.in xmlsec-config.in xmlsecConf.sh.in
+ src/gnutls/Makefile.am src/nss/Makefile.am src/openssl/Makefile.am:
+ change xmlsec-config script to let user specify crypto engine
+ (requested by John Belmonte)
+
Sun May 25 22:01:45 2003 Aleksey Sanin <aleksey@aleksey.com>
* apps/xmlsec.c docs/xmlsec-man.html man/xmlsec1-config.1 man/xmlsec1.1:
diff --git a/configure.in b/configure.in
index 124534fe..112e0659 100644
--- a/configure.in
+++ b/configure.in
@@ -189,6 +189,7 @@ XMLSEC_CRYPTO_LIST=""
XMLSEC_CRYPTO_DISABLED_LIST=""
XMLSEC_CRYPTO_LIB=""
XMLSEC_CRYPTO_CFLAGS=""
+XMLSEC_CRYPTO_CFLAGS_APP=""
XMLSEC_CRYPTO_LIBS=""
XMLSEC_CRYPTO_LDADDS=""
@@ -198,14 +199,14 @@ dnl ==========================================================================
ac_openssl_lib_dir="/usr/local/lib /usr/lib /usr/local /usr/local/ssl /usr/local/ssl/lib /usr/pkg"
ac_openssl_inc_dir="/usr/local/include /usr/include /usr/local /usr/local/ssl /usr/pkg /usr/local/ssl/include"
-XMLSEC_OPENSSL_DEFINES=""
OPENSSL_WITHOUT="yes"
OPENSSL_MIN_VERSION="0.9.6"
OPENSSL_VERSION=""
OPENSSL_PREFIX=""
-OPENSSL_CFLAGS=""
+OPENSSL_CFLAGS="-DXMLSEC_CRYPTO=\\\"openssl\\\" -DXMLSEC_CRYPTO_OPENSSL=1"
OPENSSL_LIBS=""
OPENSSL_LDADDS=""
+OPENSSL_CRYPTO_LIB="xmlsec1-openssl"
AC_MSG_CHECKING(for openssl libraries >= $OPENSSL_MIN_VERSION)
AC_ARG_WITH(openssl, [ --with-openssl=[PFX] openssl location])
if test "$with_openssl" = "no" ; then
@@ -215,7 +216,7 @@ if test "$with_openssl" = "no" ; then
else
if test "$with_openssl" != "" ; then
OPENSSL_PREFIX=$with_openssl
- OPENSSL_CFLAGS="-I$OPENSSL_PREFIX/include"
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -I$OPENSSL_PREFIX/include"
OPENSSL_LIBS="-L$OPENSSL_PREFIX/lib -lcrypto"
OPENSSL_LDADDS="$OPENSSL_PREFIX/lib/libcrypto.a"
OPENSSL_INCLUDES_FOUND="yes"
@@ -227,9 +228,9 @@ else
if test -f $dir/openssl/ssl.h; then
dnl do not add -I/usr/include because compiler does it anyway
if test "$dir" = "/usr/include" ; then
- OPENSSL_CFLAGS=""
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS "
else
- OPENSSL_CFLAGS="-I$dir"
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -I$dir"
fi
OPENSSL_INCLUDES_FOUND="yes"
break
@@ -276,7 +277,7 @@ else
OPENSSL_VERSION="0.9.7"
],[
OPENSSL_VERSION="0.9.6"
- XMLSEC_OPENSSL_DEFINES="$XMLSEC_OPENSSL_DEFINES -DXMLSEC_OPENSSL_096=1"
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_096=1"
])
CPPFLAGS=$OLD_CPPFLAGS
OPENSSL_WITHOUT="no"
@@ -285,8 +286,8 @@ else
if test "z$XMLSEC_CRYPTO" = "z"
then
XMLSEC_CRYPTO="openssl"
- XMLSEC_CRYPTO_LIB="xmlsec1-openssl"
- XMLSEC_CRYPTO_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_CRYPTO_OPENSSL=1"
+ XMLSEC_CRYPTO_LIB="$OPENSSL_CRYPTO_LIB"
+ XMLSEC_CRYPTO_CFLAGS="$OPENSSL_CFLAGS"
XMLSEC_CRYPTO_LIBS="$OPENSSL_LIBS"
XMLSEC_CRYPTO_LDADDS="$OPENSSL_LDADDS"
fi
@@ -305,20 +306,21 @@ AC_SUBST(OPENSSL_PREFIX)
AC_SUBST(OPENSSL_CFLAGS)
AC_SUBST(OPENSSL_LIBS)
AC_SUBST(OPENSSL_LDADDS)
-AC_SUBST(XMLSEC_OPENSSL_DEFINES)
+AC_SUBST(OPENSSL_CRYPTO_LIB)
dnl ==========================================================================
dnl See if we can find GnuTLS
dnl ==========================================================================
-XMLSEC_GNUTLS_DEFINES=""
GNUTLS_CONFIG="libgnutls-config"
GNUTLS_WITHOUT="no"
GNUTLS_MIN_VERSION="0.8.1"
GNUTLS_VERSION=""
GNUTLS_PREFIX=""
-GNUTLS_CFLAGS=""
+GNUTLS_CFLAGS="-DXMLSEC_CRYPTO=\\\"gnutls\\\" -DXMLSEC_CRYPTO_GNUTLS=1"
GNUTLS_LIBS=""
GNUTLS_LDADDS=""
+GNUTLS_CRYPTO_LIB="xmlsec1-gnutls"
+
AC_MSG_CHECKING(for gnutls libraries >= $GNUTLS_MIN_VERSION)
AC_ARG_WITH(gnutls, [ --with-gnutls=[PFX] gnutls location])
if test "$with_gnutls" = "no" ; then
@@ -341,8 +343,8 @@ else
minvers=`echo $GNUTLS_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test "$vers" -ge "$minvers"
then
- GNUTLS_LIBS="`$GNUTLS_CONFIG --libs`"
- GNUTLS_CFLAGS="`$GNUTLS_CONFIG --cflags`"
+ GNUTLS_CFLAGS="$GNUTLS_CFLAGS `$GNUTLS_CONFIG --cflags`"
+ GNUTLS_LIBS="$GNUTLS_LIBS `$GNUTLS_CONFIG --libs`"
GNUTLS_VERSION="`$GNUTLS_CONFIG --version`"
else
AC_MSG_ERROR(You need at least gnutls $GNUTLS_MIN_VERSION for this version of $PACKAGE)
@@ -356,8 +358,8 @@ else
if test "z$XMLSEC_CRYPTO" = "z"
then
XMLSEC_CRYPTO="gnutls"
- XMLSEC_CRYPTO_LIB="xmlsec1-gnutls"
- XMLSEC_CRYPTO_CFLAGS="$GNUTLS_CFLAGS -DXMLSEC_CRYPTO_GNUTLS=1"
+ XMLSEC_CRYPTO_LIB="$GNUTLS_CRYPTO_LIB"
+ XMLSEC_CRYPTO_CFLAGS="$GNUTLS_CFLAGS"
XMLSEC_CRYPTO_LIBS="$GNUTLS_LIBS"
XMLSEC_CRYPTO_LDADDS="$GNUTLS_LDADDS"
fi
@@ -376,7 +378,7 @@ AC_SUBST(GNUTLS_PREFIX)
AC_SUBST(GNUTLS_CFLAGS)
AC_SUBST(GNUTLS_LIBS)
AC_SUBST(GNUTLS_LDADDS)
-AC_SUBST(XMLSEC_GNUTLS_DEFINES)
+AC_SUBST(GNUTLS_CRYPTO_LIB)
dnl ==========================================================================
dnl See if we can find NSS and NSPR
@@ -397,17 +399,17 @@ dnl 2 overrides 1
dnl
dnl ==========================================================================
-XMLSEC_NSS_DEFINES=""
NSS_WITHOUT="no"
NSS_MIN_VERSION="3.2"
NSS_VERSION=""
-NSS_CFLAGS=""
+NSS_CFLAGS="-DXMLSEC_CRYPTO=\\\"nss\\\" -DXMLSEC_CRYPTO_NSS=1"
NSS_LIBS=""
NSS_LDADDS=""
NSS_PREFIX=""
NSPR_PREFIX=""
NSS_LIBS_LIST="-lnss3"
NSPR_LIBS_LIST="-lnspr4 -lplds4 -lplc4"
+NSS_CRYPTO_LIB="xmlsec1-nss"
dnl if nss is disabled, bail out early
AC_ARG_WITH(nss, [ --with-nss=[PFX] nss location])
@@ -518,12 +520,12 @@ else
if test "$with_nss" != "" ; then
NSS_PREFIX="$with_nss"
- NSS_CFLAGS="-I$with_nss/include"
+ NSS_CFLAGS="$NSS_CFLAGS -I$with_nss/include"
if test "$with_gnu_ld" = yes
then
- NSS_LIBS="-Wl,-rpath-link -Wl,$with_nss/lib -L$with_nss/lib $NSS_LIBS_LIST"
+ NSS_LIBS="$NSS_LIBS -Wl,-rpath-link -Wl,$with_nss/lib -L$with_nss/lib $NSS_LIBS_LIST"
else
- NSS_LIBS="-L$with_nss/lib $NSS_LIBS_LIST"
+ NSS_LIBS="$NSS_LIBS -L$with_nss/lib $NSS_LIBS_LIST"
fi
NSS_LDADDS="-L$with_nss/lib $NSS_LIBS_LIST"
NSS_INCLUDES_FOUND="yes"
@@ -535,9 +537,9 @@ else
if test -f $dir/nss/nss.h; then
dnl do not add -I/usr/include because compiler does it anyway
if test "$dir" = "/usr/include" ; then
- NSS_CFLAGS=""
+ NSS_CFLAGS="$NSS_CFLAGS"
else
- NSS_CFLAGS="-I$dir/nss"
+ NSS_CFLAGS="$NSS_CFLAGS -I$dir/nss"
fi
NSS_INCLUDES_FOUND="yes"
NSS_NSS_H="$dir/nss/nss.h"
@@ -613,8 +615,8 @@ else
if test "z$XMLSEC_CRYPTO" = "z"
then
XMLSEC_CRYPTO="nss"
- XMLSEC_CRYPTO_LIB="xmlsec1-nss"
- XMLSEC_CRYPTO_CFLAGS="$NSS_CFLAGS -DXMLSEC_CRYPTO_NSS=1"
+ XMLSEC_CRYPTO_LIB="$NSS_CRYPTO_LIB"
+ XMLSEC_CRYPTO_CFLAGS="$NSS_CFLAGS"
XMLSEC_CRYPTO_LIBS="$NSS_LIBS"
XMLSEC_CRYPTO_LDADDS="$NSS_LDADDS"
fi
@@ -634,7 +636,7 @@ AC_SUBST(NSS_LIBS_LIST)
AC_SUBST(NSPR_LIBS_LIST)
AC_SUBST(NSS_PREFIX)
AC_SUBST(NSPR_PREFIX)
-AC_SUBST(XMLSEC_NSS_DEFINES)
+AC_SUBST(NSS_CRYPTO_LIB)
dnl ==========================================================================
dnl Do we have a crypto library?
@@ -891,7 +893,7 @@ AC_SUBST(XMLSEC_STATIC_BINARIES)
dnl ==========================================================================
dnl Final steps: xmlsec config
dnl ==========================================================================
-XMLSEC_CFLAGS="$XMLSEC_DEFINES -I${includedir}/xmlsec1 $LIBXML_CFLAGS $LIBXSLT_CFLAGS $XMLSEC_CRYPTO_CFLAGS -DXMLSEC_CRYPTO=\"@XMLSEC_CRYPTO@\""
+XMLSEC_CFLAGS="$XMLSEC_DEFINES -I${includedir}/xmlsec1 $LIBXML_CFLAGS $LIBXSLT_CFLAGS $XMLSEC_CRYPTO_CFLAGS"
XMLSEC_LIBS="-L${libdir} -l$XMLSEC_CRYPTO_LIB -lxmlsec1 $LIBXML_LIBS $LIBXSLT_LIBS $XMLSEC_CRYPTO_LIBS"
AC_SUBST(XMLSEC_CFLAGS)
diff --git a/src/gnutls/Makefile.am b/src/gnutls/Makefile.am
index e18a7b34..9889534a 100644
--- a/src/gnutls/Makefile.am
+++ b/src/gnutls/Makefile.am
@@ -8,7 +8,6 @@ INCLUDES = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
$(XMLSEC_DEFINES) \
- $(XMLSEC_GNUTLS_DEFINES) \
$(GNUTLS_CFLAGS) \
$(LIBXSLT_CFLAGS) \
$(LIBXML_CFLAGS) \
diff --git a/src/nss/Makefile.am b/src/nss/Makefile.am
index 993038fd..432ee66b 100644
--- a/src/nss/Makefile.am
+++ b/src/nss/Makefile.am
@@ -8,7 +8,6 @@ INCLUDES = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
$(XMLSEC_DEFINES) \
- $(XMLSEC_NSS_DEFINES) \
$(NSS_CFLAGS) \
$(LIBXSLT_CFLAGS) \
$(LIBXML_CFLAGS) \
diff --git a/src/openssl/Makefile.am b/src/openssl/Makefile.am
index 15a957ac..19615f41 100644
--- a/src/openssl/Makefile.am
+++ b/src/openssl/Makefile.am
@@ -8,7 +8,6 @@ INCLUDES = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
$(XMLSEC_DEFINES) \
- $(XMLSEC_OPENSSL_DEFINES) \
$(OPENSSL_CFLAGS) \
$(LIBXSLT_CFLAGS) \
$(LIBXML_CFLAGS) \
diff --git a/xmlsec-config.in b/xmlsec-config.in
index 2d0a9d22..71a12a44 100644
--- a/xmlsec-config.in
+++ b/xmlsec-config.in
@@ -19,11 +19,18 @@ Known values for OPTION are:
--crypto print the default crypto library name
--help display this help and exit
--version output version information
+ --crypto=LIB configure with XMLSEC crypto library (one of the
+ following: none default @XMLSEC_CRYPTO_LIST@)
+ [default "@XMLSEC_CRYPTO@"]
EOF
exit $1
}
+
+#
+# first parse command line aruments
+#
if [ $# -eq 0 ]
then
usage 1 1>&2
@@ -31,7 +38,7 @@ fi
cflags=false
libs=false
-
+crypto="default"
while [ $# -gt 0 ]
do
case "$1" in
@@ -40,6 +47,10 @@ do
esac
case "$1" in
+ --crypto=*)
+ crypto=$optarg
+ ;;
+
--prefix=*)
prefix=$optarg
if [ $exec_prefix_set = no ]
@@ -90,6 +101,15 @@ do
shift
done
+#
+# Get LibXML2 settings
+#
+the_xml_flags="`@LIBXML_CONFIG@ --cflags`"
+the_xml_libs="`@LIBXML_CONFIG@ --libs`"
+
+#
+# Get LibXSLT settings
+#
the_xslt_flags=""
the_xslt_libs=""
if test "@LIBXSLT_WITHOUT@" = "no"; then
@@ -97,8 +117,69 @@ if test "@LIBXSLT_WITHOUT@" = "no"; then
the_xslt_libs="`@LIBXSLT_CONFIG@ --libs`"
fi
-the_flags="$the_flags @XMLSEC_DEFINES@ -I${prefix}/include/xmlsec1 `@LIBXML_CONFIG@ --cflags` $the_xslt_flags @XMLSEC_CRYPTO_CFLAGS@ -DXMLSEC_CRYPTO=\"@XMLSEC_CRYPTO@\""
-the_libs="$the_libs -L${exec_prefix}/lib -l@XMLSEC_CRYPTO_LIB@ -lxmlsec1 `@LIBXML_CONFIG@ --libs` $the_xslt_libs @XMLSEC_CRYPTO_LIBS@"
+#
+# Get crypto library settings
+#
+the_crypto_flags=""
+the_crypto_libs=""
+the_xmlsec_crypto_lib=""
+case "$crypto" in
+none)
+ # no crypto, just the core xmlsec engine (useful when more
+ # than one crypto engine i sused by application)
+ ;;
+
+default)
+ the_crypto_flags="@XMLSEC_CRYPTO_CFLAGS@ -DXMLSEC_CRYPTO=\"@XMLSEC_CRYPTO@\""
+ the_crypto_libs="@XMLSEC_CRYPTO_LIBS@"
+ the_xmlsec_crypto_lib="-l@XMLSEC_CRYPTO_LIB@"
+ ;;
+
+openssl)
+ if test "@OPENSSL_WITHOUT@" = "no"; then
+ the_crypto_flags="@OPENSSL_CFLAGS@"
+ the_crypto_libs="@OPENSSL_LIBS@"
+ the_xmlsec_crypto_lib="-l@OPENSSL_CRYPTO_LIB@"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+gnutls)
+ if test "@GNUTLS_WITHOUT@" = "no"; then
+ the_crypto_flags="@GNUTLS_CFLAGS@"
+ the_crypto_libs="@GNUTLS_LIBS@"
+ the_xmlsec_crypto_lib="-l@GNUTLS_CRYPTO_LIB@"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+nss)
+ if test "@NSS_WITHOUT@" = "no"; then
+ the_crypto_flags="@NSS_CFLAGS@"
+ the_crypto_libs="@NSS_LIBS@"
+ the_xmlsec_crypto_lib="-l@NSS_CRYPTO_LIB@"
+ else
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ fi
+ ;;
+
+*)
+ echo "Error: the \"$crypto\" cryptographic library is not supported"
+ usage 1
+ ;;
+
+esac
+
+#
+# Assemble all the settings together
+#
+the_flags="$the_flags @XMLSEC_DEFINES@ -I${prefix}/include/xmlsec1 $the_xml_flags $the_xslt_flags $the_crypto_flags"
+the_libs="$the_libs -L${exec_prefix}/lib $the_xmlsec_crypto_lib -lxmlsec1 $the_xml_libs $the_xslt_libs $the_crypto_libs"
if $cflags; then
all_flags="$the_flags"
diff --git a/xmlsecConf.sh.in b/xmlsecConf.sh.in
index f38a53b2..f44552d0 100644
--- a/xmlsecConf.sh.in
+++ b/xmlsecConf.sh.in
@@ -2,7 +2,7 @@
# Configuration file for using the XML library in GNOME applications
#
XMLSEC_LIBDIR="@XMLSEC_LIBDIR@"
-XMLSEC_INCLUDEDIR="@XMLSEC_CFLAGS@ -DXMLSEC_CRYPTO=\"@XMLSEC_CRYPTO@\""
+XMLSEC_INCLUDEDIR="@XMLSEC_CFLAGS@"
XMLSEC_LIBS="@XMLSEC_LIBS@"
MODULE_VERSION="xmlsec-@VERSION@-@XMLSEC_CRYPTO@"