summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in412
1 files changed, 280 insertions, 132 deletions
diff --git a/configure.in b/configure.in
index 038e8ccf..1b46a926 100644
--- a/configure.in
+++ b/configure.in
@@ -1,10 +1,10 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([xmlsec1],[1.2.14],[http://www.aleksey.com/xmlsec])
+AC_INIT([xmlsec1],[1.2.19],[http://www.aleksey.com/xmlsec])
XMLSEC_PACKAGE=xmlsec1
XMLSEC_VERSION_MAJOR=1
XMLSEC_VERSION_MINOR=2
-XMLSEC_VERSION_SUBMINOR=14
+XMLSEC_VERSION_SUBMINOR=19
XMLSEC_VERSION="$XMLSEC_VERSION_MAJOR.$XMLSEC_VERSION_MINOR.$XMLSEC_VERSION_SUBMINOR"
XMLSEC_VERSION_INFO=`echo $XMLSEC_VERSION | awk -F. '{ printf "%d:%d:%d", $1+$2, $3, $2 }'`
XMLSEC_VERSION_SAFE=`echo $XMLSEC_VERSION | sed 's/\./_/g'`
@@ -25,12 +25,18 @@ AM_INIT_AUTOMAKE([1.7 tar-ustar])
AC_CONFIG_HEADERS([config.h])
AM_MAINTAINER_MODE
+# Support silent build rules, requires at least automake-1.11. Disable
+# by either passing --disable-silent-rules to configure or passing V=1
+# to make
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
dnl
dnl Check the environment
dnl
AC_PROG_CC
AC_PROG_INSTALL
AC_HEADER_STDC
+AC_PROG_LIBTOOL
LT_INIT
@@ -46,10 +52,6 @@ AC_PATH_PROG(TAR, tar, /bin/tar)
AC_PATH_PROG(HELP2MAN, help2man)
AC_PATH_PROG(MAN2HTML, man2html)
-dnl Make sure we have an ANSI compiler
-AM_C_PROTOTYPES
-test "z$U" != "z" && AC_MSG_ERROR(Compiler not ANSI compliant)
-
dnl Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
@@ -74,7 +76,7 @@ dnl ==========================================================================
AC_MSG_CHECKING(for development environment)
AC_ARG_ENABLE(development, [ --enable-development enable development environment (no)])
if test "z$enable_development" = "zyes" ; then
- enable_debuging="yes"
+ enable_debugging="yes"
enable_pedantic="yes"
enable_static_linking="yes"
enable_crypto_dl="no"
@@ -163,27 +165,18 @@ if test "$ac_cv_sizeof_size_t" -ne "4" ; then
XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_SIZE_T"
fi
-
-dnl autoconf 2.59 fail
-dnl configure.in:137: error: possibly undefined macro: PKG_CONFIG_ENABLED
-dnl If this token and others are legitimate, please use m4_pattern_allow.
-dnl See the Autoconf documentation.
-dnl Also note that pkg.m4 (pkgconfig>=0.16 ?)
-dnl allow [^PKG_CONFIG(_PATH)?$] !
-m4_pattern_allow([PKG_CONFIG_ENABLED])
-
dnl ==========================================================================
dnl Check if pkg-config enabled and installed
dnl ==========================================================================
+PKG_CONFIG="pkg-config"
+PKGCONFIG_FOUND="no"
AC_ARG_ENABLE(pkgconfig, [ --enable-pkgconfig enable pkgconfig for configuration (yes)])
-if test "z$enable_pkgconfig" = "zno" ; then
- PKG_CONFIG_ENABLED=no
-else
- AC_CHECK_PROG(PKG_CONFIG_ENABLED, pkg-config, yes, no)
- if test "z$PKG_CONFIG_ENABLED" = "zyes" ; then
- if ! pkg-config --atleast-pkgconfig-version 0.9 ; then
- PKG_CONFIG_ENABLED=no
- fi
+if test "z$enable_pkgconfig" != "zno" ; then
+ AC_CHECK_PROG(PKGCONFIG_PRESENT, $PKG_CONFIG, yes, no)
+ if test "z$PKGCONFIG_PRESENT" = "zyes" ; then
+ if $PKG_CONFIG --atleast-pkgconfig-version 0.9 ; then
+ PKGCONFIG_FOUND="yes"
+ fi
fi
fi
@@ -219,15 +212,20 @@ elif test "z$with_libxml_src" != "z" ; then
else
AC_MSG_ERROR([libxml source dir not found (${with_libxml_src}), typo?])
fi
-elif test "z$with_libxml" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then
+elif test "z$with_libxml" = "z" -a "z$PKGCONFIG_FOUND" = "zyes" ; then
PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_MIN_VERSION,
[LIBXML_FOUND=yes],
[LIBXML_FOUND=no])
fi
if test "z$LIBXML_FOUND" = "zno" ; then
if test "z$with_libxml" != "zyes" ; then
- AC_PATH_PROG([LIBXML_CONFIG], [$LIBXML_CONFIG], [],
+ if test "z$with_libxml" != "z" ; then
+ AC_PATH_PROG([LIBXML_CONFIG], [$LIBXML_CONFIG], [],
[$with_libxml/bin:$PATH])
+ else
+ AC_PATH_PROG([LIBXML_CONFIG], [$LIBXML_CONFIG], [],
+ [$PATH])
+ fi
fi
AC_MSG_CHECKING([libxml2 $LIBXML_CONFIG ])
if ! LIBXML_VERSION=`$LIBXML_CONFIG --version 2>/dev/null`; then
@@ -283,7 +281,7 @@ elif test "z$with_libxslt_src" != "z" ; then
else
AC_MSG_ERROR([libxslt source dir not found (${with_libxslt_src}), typo?])
fi
-elif test "z$with_libxslt" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then
+elif test "z$with_libxslt" = "z" -a "z$PKGCONFIG_FOUND" = "zyes" ; then
PKG_CHECK_MODULES(LIBXSLT, libxslt >= $LIBXSLT_MIN_VERSION,
[LIBXSLT_FOUND=yes],
[LIBXSLT_FOUND=no])
@@ -291,8 +289,13 @@ fi
if test "z$LIBXSLT_FOUND" = "zno" ; then
if test "z$with_libxslt" != "zyes" ; then
- AC_PATH_PROG([LIBXSLT_CONFIG], [$LIBXSLT_CONFIG], [],
+ if test "z$with_libxslt" != "z" ; then
+ AC_PATH_PROG([LIBXSLT_CONFIG], [$LIBXSLT_CONFIG], [],
[$with_libxslt/bin:$PATH])
+ else
+ AC_PATH_PROG([LIBXSLT_CONFIG], [$LIBXSLT_CONFIG], [],
+ [$PATH])
+ fi
fi
AC_MSG_CHECKING(for libxslt libraries >= $LIBXSLT_MIN_VERSION)
if ! LIBXSLT_VERSION=`$LIBXSLT_CONFIG --version 2>/dev/null`; then
@@ -330,13 +333,8 @@ AC_SUBST(LIBXSLT_MIN_VERSION)
dnl ==========================================================================
dnl See if we can find a crypto library
dnl ==========================================================================
-XMLSEC_CRYPTO=""
XMLSEC_CRYPTO_LIST=""
XMLSEC_CRYPTO_DISABLED_LIST=""
-XMLSEC_CRYPTO_LIB=""
-XMLSEC_CRYPTO_CFLAGS=""
-XMLSEC_CRYPTO_CFLAGS_APP=""
-XMLSEC_CRYPTO_LIBS=""
dnl ==========================================================================
dnl OpenSSL
@@ -372,7 +370,13 @@ elif test "z$with_openssl" != "z" ; then
OPENSSL_LIBS="$with_openssl/lib/libcrypto.a $openssl_exlibs"
fi
OPENSSL_FOUND="yes"
-elif test "z$PKG_CONFIG_ENABLED" = "zyes" ; then
+elif test "z$PKGCONFIG_FOUND" = "zyes" ; then
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ PKG_CHECK_MODULES(OPENSSL, openssl >= 1.0.0,
+ [OPENSSL_VERSION="1.0.0"],
+ [OPENSSL_VERSION=""])
+ fi
+
if test "z$OPENSSL_VERSION" = "z" ; then
PKG_CHECK_MODULES(OPENSSL, openssl >= 0.9.8,
[OPENSSL_VERSION="0.9.8"],
@@ -502,26 +506,18 @@ fi
if test "z$OPENSSL_FOUND" = "zyes" ; then
XMLSEC_NO_OPENSSL="0"
if test "z$OPENSSL_VERSION" = "z0.9.6" ; then
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_096=1"
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_096=1 -DXMLSEC_NO_ECDSA=1"
fi
if test "z$OPENSSL_VERSION" = "z0.9.7" ; then
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_097=1"
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_097=1 -DXMLSEC_NO_ECDSA=1"
fi
if test "z$OPENSSL_VERSION" = "z0.9.8" ; then
- OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_098=1"
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_098=1 -DXMLSEC_NO_ECDSA=1"
fi
if test "z$OPENSSL_VERSION" = "z1.0.0" ; then
OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_100=1"
fi
OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_CRYPTO_OPENSSL=1"
-
- dnl first crypto library is default one
- if test "z$XMLSEC_CRYPTO" = "z" ; then
- XMLSEC_CRYPTO="openssl"
- XMLSEC_CRYPTO_LIB="$OPENSSL_CRYPTO_LIB"
- XMLSEC_CRYPTO_CFLAGS="$OPENSSL_CFLAGS"
- XMLSEC_CRYPTO_LIBS="$OPENSSL_LIBS"
- fi
XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST openssl"
else
XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST openssl"
@@ -552,11 +548,11 @@ dnl
dnl 2 overrides 1
dnl
dnl ==========================================================================
-
XMLSEC_NO_NSS="1"
+SEAMONKEY_MIN_VERSION="1.0"
MOZILLA_MIN_VERSION="1.4"
-NSS_MIN_VERSION="3.2"
-NSPR_MIN_VERSION="4.0"
+NSS_MIN_VERSION="3.9"
+NSPR_MIN_VERSION="4.4.1"
NSS_CFLAGS=""
NSS_LIBS=""
NSS_LIBS_LIST="-lnss3 -lsmime3"
@@ -576,27 +572,33 @@ if test "z$with_nss" = "zno" -o "z$with_nspr" = "zno" ; then
AC_MSG_CHECKING(for NSS libraries)
AC_MSG_RESULT(no)
NSS_FOUND="without"
-elif test "z$with_nss" = "z" -a "z$with_nspr" = "z" -a "z$with_mozilla_ver" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then
+elif test "z$with_nss" = "z" -a "z$with_nspr" = "z" -a "z$with_mozilla_ver" = "z" -a "z$with_seamonkey_ver" = "z" -a "z$PKGCONFIG_FOUND" = "zyes" ; then
dnl
dnl Mozilla's NSS/NSPR are distributed under different names
dnl in different distribution:
+ dnl seamonkey-nspr and seamonkey-nss
dnl mozilla-nspr and mozilla-nss
dnl xulrunner-nspr and xulrunner-nss
dnl nspr and nss
dnl We are going to try all options
dnl
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])
+ fi
+ if test "z$NSS_FOUND" = "zno" ; then
PKG_CHECK_MODULES(NSS, mozilla-nspr >= $MOZILLA_MIN_VERSION mozilla-nss >= $MOZILLA_MIN_VERSION,
[NSS_FOUND=yes NSPR_PACKAGE=mozilla-nspr NSS_PACKAGE=mozilla-nss],
[NSS_FOUND=no])
fi
if test "z$NSS_FOUND" = "zno" ; then
- PKG_CHECK_MODULES(NSS, xulrunner-nspr >= $MOZILLA_MIN_VERSION xulrunner-nss >= $MOZILLA_MIN_VERSION,
+ PKG_CHECK_MODULES(NSS, xulrunner-nspr >= $NSPR_MIN_VERSION xulrunner-nss >= $NSS_MIN_VERSION,
[NSS_FOUND=yes NSPR_PACKAGE=xulrunner-nspr NSS_PACKAGE=xulrunner-nss],
[NSS_FOUND=no])
fi
if test "z$NSS_FOUND" = "zno" ; then
- PKG_CHECK_MODULES(NSS, nspr >= $MOZILLA_MIN_VERSION nss >= $MOZILLA_MIN_VERSION,
+ PKG_CHECK_MODULES(NSS, nspr >= $NSPR_MIN_VERSION nss >= $NSS_MIN_VERSION,
[NSS_FOUND=yes NSPR_PACKAGE=nspr NSS_PACKAGE=nss],
[NSS_FOUND=no])
fi
@@ -759,7 +761,7 @@ if test "z$NSS_FOUND" = "zno" ; then
fi
dnl check that we have found both NSS and NSPR
- if test "z$NSPR_FOUND" = "zyes" -a "z$NSS_FOUND" = "zyes" ; then
+ if test "z$NSPR_FOUND" = "zyes" -a "z$NSS_FOUND" = "zyes" ; then
NSS_CFLAGS="$NSS_CFLAGS $NSPR_CFLAGS"
NSS_LIBS="$NSS_LIBS $NSPR_LIBS"
elif test "z$NSPR_FOUND" != "zyes" -a "z$NSS_FOUND" = "zyes" ; then
@@ -771,14 +773,6 @@ fi
if test "z$NSS_FOUND" = "zyes" ; then
XMLSEC_NO_NSS="0"
NSS_CFLAGS="$NSS_CFLAGS -DXMLSEC_CRYPTO_NSS=1"
-
- dnl first crypto library is default one
- if test "z$XMLSEC_CRYPTO" = "z" ; then
- XMLSEC_CRYPTO="nss"
- XMLSEC_CRYPTO_LIB="$NSS_CRYPTO_LIB"
- XMLSEC_CRYPTO_CFLAGS="$NSS_CFLAGS"
- XMLSEC_CRYPTO_LIBS="$NSS_LIBS"
- fi
XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST nss"
else
XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST nss"
@@ -795,13 +789,87 @@ AC_SUBST(NSS_MIN_VERSION)
AC_SUBST(NSPR_MIN_VERSION)
AC_SUBST(MOZILLA_MIN_VERSION)
+
+dnl ==========================================================================
+dnl See if we can find GCrypt
+dnl ==========================================================================
+GCRYPT_CONFIG="libgcrypt-config"
+XMLSEC_NO_GCRYPT="1"
+GCRYPT_MIN_VERSION="1.4.0"
+GCRYPT_VERSION=""
+GCRYPT_CFLAGS=""
+GCRYPT_LIBS=""
+GCRYPT_CRYPTO_LIB="$XMLSEC_PACKAGE-gcrypt"
+GCRYPT_FOUND="no"
+AC_ARG_WITH(gcrypt, [ --with-gcrypt=[PFX] gcrypt location])
+if test "z$with_gcrypt" = "zno" ; then
+ AC_MSG_CHECKING(for gcrypt libraries >= $GCRYPT_MIN_VERSION)
+ AC_MSG_RESULT(no)
+ GCRYPT_FOUND="without"
+elif test "z$with_gcrypt" = "z" -a "z$PKGCONFIG_FOUND" = "zyes" ; then
+ PKG_CHECK_MODULES(GCRYPT, gcrypt >= $GCRYPT_MIN_VERSION,
+ [GCRYPT_FOUND=yes],
+ [GCRYPT_FOUND=no])
+
+ if test "z$GCRYPT_FOUND" = "zno" ; then
+ PKG_CHECK_MODULES(GCRYPT, libgcrypt >= $GCRYPT_MIN_VERSION,
+ [GCRYPT_FOUND=yes],
+ [GCRYPT_FOUND=no])
+ fi
+
+ if test "z$GCRYPT_FOUND" = "zno" ; then
+ PKG_CHECK_MODULES(GCRYPT, libgcrypt11 >= $GCRYPT_MIN_VERSION,
+ [GCRYPT_FOUND=yes],
+ [GCRYPT_FOUND=no])
+ fi
+fi
+
+if test "z$GCRYPT_FOUND" = "zno" ; then
+ AC_MSG_CHECKING(for gcrypt libraries >= $GCRYPT_MIN_VERSION)
+ if test "z$with_gcrypt" != "z" ; then
+ GCRYPT_CONFIG=$with_gcrypt/bin/$GCRYPT_CONFIG
+ fi
+ if ! $GCRYPT_CONFIG --version > /dev/null 2>&1 ; then
+ if test "z$with_gcrypt" != "z" ; then
+ AC_MSG_ERROR(Unable to find gcrypt at '$with_gcrypt')
+ else
+ AC_MSG_RESULT(no)
+ fi
+ else
+ vers=`$GCRYPT_CONFIG --version | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
+ minvers=`echo $GCRYPT_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
+ if test "$vers" -ge "$minvers" ; then
+ GCRYPT_CFLAGS="$GCRYPT_CFLAGS `$GCRYPT_CONFIG --cflags`"
+ GCRYPT_LIBS="$GCRYPT_LIBS `$GCRYPT_CONFIG --libs`"
+ GCRYPT_FOUND=yes
+ else
+ AC_MSG_ERROR(You need at least gcrypt $GCRYPT_MIN_VERSION for this version of $XMLSEC_PACKAGE)
+ fi
+ fi
+fi
+
+if test "z$GCRYPT_FOUND" = "zyes" ; then
+ XMLSEC_NO_GCRYPT="0"
+ GCRYPT_CFLAGS="$GCRYPT_CFLAGS -DXMLSEC_CRYPTO_GCRYPT=1"
+ XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST gcrypt"
+else
+ XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST gcrypt"
+fi
+
+AM_CONDITIONAL(XMLSEC_NO_GCRYPT, test "z$XMLSEC_NO_GCRYPT" = "z1")
+AC_SUBST(XMLSEC_NO_GCRYPT)
+AC_SUBST(GCRYPT_CFLAGS)
+AC_SUBST(GCRYPT_LIBS)
+AC_SUBST(GCRYPT_CRYPTO_LIB)
+AC_SUBST(GCRYPT_MIN_VERSION)
+
+
dnl ==========================================================================
dnl See if we can find GnuTLS
dnl ==========================================================================
GNUTLS_CONFIG="libgnutls-config"
XMLSEC_NO_GNUTLS="1"
-GNUTLS_MIN_VERSION="0.8.1"
-GNUTLS_NEW_MIN_VERSION="1.0.0"
+GNUTLS_MIN_VERSION="2.8.0"
GNUTLS_VERSION=""
GNUTLS_CFLAGS=""
GNUTLS_LIBS=""
@@ -812,27 +880,18 @@ if test "z$with_gnutls" = "zno" ; then
AC_MSG_CHECKING(for gnutls libraries >= $GNUTLS_MIN_VERSION)
AC_MSG_RESULT(no)
GNUTLS_FOUND="without"
-elif test "z$with_gnutls" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then
- PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_NEW_MIN_VERSION,
+elif test "z$with_gnutls" = "z" -a "z$PKGCONFIG_FOUND" = "zyes" ; then
+ PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_MIN_VERSION,
[GNUTLS_FOUND=yes],
[GNUTLS_FOUND=no])
if test "z$GNUTLS_FOUND" = "zno" ; then
- PKG_CHECK_MODULES(GNUTLS, libgnutls >= $GNUTLS_NEW_MIN_VERSION,
- [GNUTLS_FOUND=yes],
- [GNUTLS_FOUND=no])
- fi
-
- if test "z$GNUTLS_FOUND" = "zno" ; then
- PKG_CHECK_MODULES(GNUTLS, libgnutls >= $GNUTLS_MIN_VERSION,
+ PKG_CHECK_MODULES(GNUTLS, libgnutls >= $GNUTLS_MIN_VERSION,
[GNUTLS_FOUND=yes],
[GNUTLS_FOUND=no])
- if test "z$GNUTLS_FOUND" = "zyes" ; then
- GNUTLS_CFLAGS="$GNUTLS_CFLAGS -DXMLSEC_GNUTLS_OLD=1"
- fi
fi
fi
-if test "z$GNUTLS_FOUND" = "zno" ; then
+if test "z$GNUTLS_FOUND" = "zno" ; then
AC_MSG_CHECKING(for gnutls libraries >= $GNUTLS_MIN_VERSION)
if test "z$with_gnutls" != "z" ; then
GNUTLS_CONFIG=$with_gnutls/bin/$GNUTLS_CONFIG
@@ -840,7 +899,7 @@ if test "z$GNUTLS_FOUND" = "zno" ; then
if ! $GNUTLS_CONFIG --version > /dev/null 2>&1 ; then
if test "z$with_gnutls" != "z" ; then
AC_MSG_ERROR(Unable to find gnutls at '$with_gnutls')
- else
+ else
AC_MSG_RESULT(no)
fi
else
@@ -848,16 +907,10 @@ if test "z$GNUTLS_FOUND" = "zno" ; then
minvers=`echo $GNUTLS_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test "$vers" -ge "$minvers" ; then
GNUTLS_CFLAGS="$GNUTLS_CFLAGS `$GNUTLS_CONFIG --cflags`"
- GNUTLS_LIBS="$GNUTLS_LIBS `$GNUTLS_CONFIG --libs`"
+ GNUTLS_LIBS="$GNUTLS_LIBS `$GNUTLS_CONFIG --libs`"
GNUTLS_FOUND=yes
-
- new_minvers=`echo $GNUTLS_NEW_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
- if test "$vers" -lt "$new_minvers" ; then
- GNUTLS_CFLAGS="$GNUTLS_CFLAGS -DXMLSEC_GNUTLS_OLD=1"
- fi
- AC_MSG_RESULT(yes)
else
- AC_MSG_ERROR(You need at least gnutls $GNUTLS_MIN_VERSION for this version of $XMLSEC_PACKAGE)
+ AC_MSG_ERROR(You need at least gnutls $GNUTLS_MIN_VERSION for this version of $XMLSEC_PACKAGE)
fi
fi
fi
@@ -865,15 +918,13 @@ fi
if test "z$GNUTLS_FOUND" = "zyes" ; then
XMLSEC_NO_GNUTLS="0"
GNUTLS_CFLAGS="$GNUTLS_CFLAGS -DXMLSEC_CRYPTO_GNUTLS=1"
-
- dnl first crypto library is default one
- if test "z$XMLSEC_CRYPTO" = "z" ; then
- XMLSEC_CRYPTO="gnutls"
- XMLSEC_CRYPTO_LIB="$GNUTLS_CRYPTO_LIB"
- XMLSEC_CRYPTO_CFLAGS="$GNUTLS_CFLAGS"
- XMLSEC_CRYPTO_LIBS="$GNUTLS_LIBS"
- fi
XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST gnutls"
+
+ dnl xmlsec-gnutls is using xmlsec-gcrypt
+ if test "z$GCRYPT_FOUND" != "zyes" ; then
+ AC_MSG_ERROR(xmlsec-gnutls library requires xmlsec-gcrypt library which is disabled or missing)
+ fi
+
else
XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST gnutls"
fi
@@ -885,6 +936,7 @@ AC_SUBST(GNUTLS_LIBS)
AC_SUBST(GNUTLS_CRYPTO_LIB)
AC_SUBST(GNUTLS_MIN_VERSION)
+
dnl ==========================================================================
dnl See if we can find MSCrypto
dnl ==========================================================================
@@ -905,11 +957,11 @@ dnl AC_CHECK_LIB(crypt32, CertOpenStore, ....
LIBS_SAVE="$LIBS"
LIBS="$LIBS -lcrypt32"
AC_MSG_CHECKING(for mscrypto libraries)
- AC_LINK_IFELSE([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([
#include <windows.h>
- #include <wincrypt.h>
+ #include <wincrypt.h>],[
int main () { CertOpenStore(0,0,0,0,0);; return(0); }
- ],
+ ])],
[],
[MSCRYPTO_ENABLE="no"])
AC_MSG_RESULT([$MSCRYPTO_ENABLE])
@@ -929,13 +981,6 @@ if test "z$MSCRYPTO_ENABLE" = "zyes" ; then
MSCRYPTO_LIBS="-lcrypt32";;
esac
- dnl first crypto library is default one
- if test "z$XMLSEC_CRYPTO" = "z" ; then
- XMLSEC_CRYPTO="mscrypto"
- XMLSEC_CRYPTO_LIB="$MSCRYPTO_CRYPTO_LIB"
- XMLSEC_CRYPTO_CFLAGS="$MSCRYPTO_CFLAGS"
- XMLSEC_CRYPTO_LIBS="$MSCRYPTO_LIBS"
- fi
XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST mscrypto"
else
XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST mscrypto"
@@ -947,18 +992,110 @@ AC_SUBST(MSCRYPTO_CFLAGS)
AC_SUBST(MSCRYPTO_LIBS)
AC_SUBST(MSCRYPTO_CRYPTO_LIB)
+
dnl ==========================================================================
-dnl Do we have a crypto library?
+dnl Figure out the default crypt - the first crypto library wins
dnl ==========================================================================
-AC_MSG_CHECKING(for crypto library)
-if test "z$XMLSEC_CRYPTO" = "z" ; then
- AC_MSG_ERROR(At least one crypto library should exist for $XMLSEC_PACKAGE)
-else
- AC_MSG_RESULT(yes ('$XMLSEC_CRYPTO'))
-fi
+XMLSEC_CRYPTO=""
+XMLSEC_CRYPTO_LIB=""
+XMLSEC_CRYPTO_CFLAGS=""
+XMLSEC_CRYPTO_LIBS=""
+AC_MSG_CHECKING(for default crypto library)
+AC_ARG_WITH(default_crypto, [ --with-default-crypto=name default crypto name])
+
+# check the argument
+case "z$with_default_crypto" in
+ 'zmscrypto')
+ if test "z$XMLSEC_NO_MSCRYPTO" != "z1" ; then
+ XMLSEC_CRYPTO="mscrypto"
+ else
+ AC_MSG_ERROR('$with_default_crypto' is specified as default crypto library but it is not configured or found)
+ fi
+ ;;
+ 'zopenssl')
+ if test "z$XMLSEC_NO_OPENSSL" != "z1" ; then
+ XMLSEC_CRYPTO="openssl"
+ else
+ AC_MSG_ERROR('$with_default_crypto' is specified as default crypto library but it is not configured or found)
+ fi
+ ;;
+ 'znss')
+ if test "z$XMLSEC_NO_NSS" != "z1" ; then
+ XMLSEC_CRYPTO="nss"
+ else
+ AC_MSG_ERROR('$with_default_crypto' is specified as default crypto library but it is not configured or found)
+ fi
+ ;;
+ 'zgnutls')
+ if test "z$XMLSEC_NO_GNUTLS" != "z1" ; then
+ XMLSEC_CRYPTO="gnutls"
+ else
+ AC_MSG_ERROR('$with_default_crypto' is specified as default crypto library but it is not configured or found)
+ fi
+ ;;
+ 'zgcrypt')
+ if test "z$XMLSEC_NO_GCRYPT" != "z1" ; then
+ XMLSEC_CRYPTO="gcrypt"
+ else
+ AC_MSG_ERROR('$with_default_crypto' is specified as default crypto library but it is not configured or found)
+ fi
+ ;;
+ 'z')
+ dnl The first crypto library wins
+ if test "z$XMLSEC_NO_MSCRYPTO" != "z1" ; then
+ XMLSEC_CRYPTO="mscrypto"
+ elif test "z$XMLSEC_NO_OPENSSL" != "z1" ; then
+ XMLSEC_CRYPTO="openssl"
+ elif test "z$XMLSEC_NO_NSS" != "z1" ; then
+ XMLSEC_CRYPTO="nss"
+ elif test "z$XMLSEC_NO_GNUTLS" != "z1" ; then
+ XMLSEC_CRYPTO="gnutls"
+ elif test "z$XMLSEC_NO_GCRYPT" != "z1" ; then
+ XMLSEC_CRYPTO="gcrypt"
+ else
+ AC_MSG_ERROR(At least one crypto library should exist for $XMLSEC_PACKAGE)
+ fi
+ ;;
+ *)
+ AC_MSG_ERROR(The value '$with_default_crypto' is not a recongnized crypto library name)
+ ;;
+esac
+
+dnl Set the flags for default crypto lib
+case "$XMLSEC_CRYPTO" in
+ 'mscrypto')
+ XMLSEC_CRYPTO_LIB="$MSCRYPTO_CRYPTO_LIB"
+ XMLSEC_CRYPTO_CFLAGS="$MSCRYPTO_CFLAGS"
+ XMLSEC_CRYPTO_LIBS="$MSCRYPTO_LIBS"
+ ;;
+ 'openssl')
+ XMLSEC_CRYPTO_LIB="$OPENSSL_CRYPTO_LIB"
+ XMLSEC_CRYPTO_CFLAGS="$OPENSSL_CFLAGS"
+ XMLSEC_CRYPTO_LIBS="$OPENSSL_LIBS"
+ ;;
+ 'nss')
+ XMLSEC_CRYPTO_LIB="$NSS_CRYPTO_LIB"
+ XMLSEC_CRYPTO_CFLAGS="$NSS_CFLAGS"
+ XMLSEC_CRYPTO_LIBS="$NSS_LIBS"
+ ;;
+ 'gnutls')
+ XMLSEC_CRYPTO_LIB="$GNUTLS_CRYPTO_LIB"
+ XMLSEC_CRYPTO_CFLAGS="$GNUTLS_CFLAGS"
+ XMLSEC_CRYPTO_LIBS="$GNUTLS_LIBS"
+ ;;
+ 'gcrypt')
+ XMLSEC_CRYPTO_LIB="$GCRYPT_CRYPTO_LIB"
+ XMLSEC_CRYPTO_CFLAGS="$GCRYPT_CFLAGS"
+ XMLSEC_CRYPTO_LIBS="$GCRYPT_LIBS"
+ ;;
+ *)
+ AC_MSG_ERROR(The value \"$XMLSEC_CRYPTO\" is not a recongnized crypto library name)
+ ;;
+esac
+AC_MSG_RESULT(yes ('$XMLSEC_CRYPTO'))
dnl ==========================================================================
-dnl See do we need MD5 suport
+dnl See do we need MD5 support
dnl ==========================================================================
AC_MSG_CHECKING(for MD5 support)
AC_ARG_ENABLE(md5, [ --enable-md5 enable MD5 support (yes)])
@@ -974,7 +1111,7 @@ AM_CONDITIONAL(XMLSEC_NO_MD5, test "z$XMLSEC_NO_MD5" = "z1")
AC_SUBST(XMLSEC_NO_MD5)
dnl ==========================================================================
-dnl See do we need RIPEMD-160 suport
+dnl See do we need RIPEMD-160 support
dnl ==========================================================================
AC_MSG_CHECKING(for RIPEMD-160 support)
AC_ARG_ENABLE(ripemd160, [ --enable-ripemd160 enable RIPEMD-160 support (yes)])
@@ -990,7 +1127,7 @@ AM_CONDITIONAL(XMLSEC_NO_RIPEMD160, test "z$XMLSEC_NO_RIPEMD160" = "z1")
AC_SUBST(XMLSEC_NO_RIPEMD160)
dnl ==========================================================================
-dnl See do we need SHA1 suport
+dnl See do we need SHA1 support
dnl ==========================================================================
AC_MSG_CHECKING(for SHA1 support)
AC_ARG_ENABLE(sha1, [ --enable-sha1 enable SHA1 support (yes)])
@@ -1006,7 +1143,7 @@ AM_CONDITIONAL(XMLSEC_NO_SHA1, test "z$XMLSEC_NO_SHA1" = "z1")
AC_SUBST(XMLSEC_NO_SHA1)
dnl ==========================================================================
-dnl See do we need SHA224 suport
+dnl See do we need SHA224 support
dnl ==========================================================================
AC_MSG_CHECKING(for SHA224 support)
AC_ARG_ENABLE(sha224, [ --enable-sha224 enable SHA224 support (yes)])
@@ -1022,7 +1159,7 @@ AM_CONDITIONAL(XMLSEC_NO_SHA224, test "z$XMLSEC_NO_SHA224" = "z1")
AC_SUBST(XMLSEC_NO_SHA224)
dnl ==========================================================================
-dnl See do we need SHA256 suport
+dnl See do we need SHA256 support
dnl ==========================================================================
AC_MSG_CHECKING(for SHA256 support)
AC_ARG_ENABLE(sha256, [ --enable-sha256 enable SHA256 support (yes)])
@@ -1038,7 +1175,7 @@ AM_CONDITIONAL(XMLSEC_NO_SHA256, test "z$XMLSEC_NO_SHA256" = "z1")
AC_SUBST(XMLSEC_NO_SHA256)
dnl ==========================================================================
-dnl See do we need SHA384 suport
+dnl See do we need SHA384 support
dnl ==========================================================================
AC_MSG_CHECKING(for SHA384 support)
AC_ARG_ENABLE(sha384, [ --enable-sha384 enable SHA384 support (yes)])
@@ -1054,7 +1191,7 @@ AM_CONDITIONAL(XMLSEC_NO_SHA384, test "z$XMLSEC_NO_SHA384" = "z1")
AC_SUBST(XMLSEC_NO_SHA384)
dnl ==========================================================================
-dnl See do we need SHA512 suport
+dnl See do we need SHA512 support
dnl ==========================================================================
AC_MSG_CHECKING(for SHA512 support)
AC_ARG_ENABLE(sha512, [ --enable-sha512 enable SHA512 support (yes)])
@@ -1071,7 +1208,7 @@ AC_SUBST(XMLSEC_NO_SHA512)
dnl ==========================================================================
-dnl See do we need HMAC suport
+dnl See do we need HMAC support
dnl ==========================================================================
AC_MSG_CHECKING(for HMAC support)
AC_ARG_ENABLE(hmac, [ --enable-hmac enable HMAC support (yes)])
@@ -1087,7 +1224,7 @@ AM_CONDITIONAL(XMLSEC_NO_HMAC, test "z$XMLSEC_NO_HMAC" = "z1")
AC_SUBST(XMLSEC_NO_HMAC)
dnl ==========================================================================
-dnl See do we need DSA suport
+dnl See do we need DSA support
dnl ==========================================================================
AC_MSG_CHECKING(for DSA support)
AC_ARG_ENABLE(dsa, [ --enable-dsa enable DSA support (yes)])
@@ -1103,7 +1240,7 @@ AM_CONDITIONAL(XMLSEC_NO_DSA, test "z$XMLSEC_NO_DSA" = "z1")
AC_SUBST(XMLSEC_NO_DSA)
dnl ==========================================================================
-dnl See do we need RSA suport
+dnl See do we need RSA support
dnl ==========================================================================
AC_MSG_CHECKING(for RSA support)
AC_ARG_ENABLE(rsa, [ --enable-rsa enable RSA support (yes)])
@@ -1119,7 +1256,7 @@ AM_CONDITIONAL(XMLSEC_NO_RSA, test "z$XMLSEC_NO_RSA" = "z1")
AC_SUBST(XMLSEC_NO_RSA)
dnl ==========================================================================
-dnl See do we need x509 suport
+dnl See do we need x509 support
dnl ==========================================================================
AC_MSG_CHECKING(for x509 support)
AC_ARG_ENABLE(x509, [ --enable-x509 enable x509 support (yes)])
@@ -1135,7 +1272,7 @@ AM_CONDITIONAL(XMLSEC_NO_X509, test "z$XMLSEC_NO_X509" = "z1")
AC_SUBST(XMLSEC_NO_X509)
dnl ==========================================================================
-dnl See do we need DES suport
+dnl See do we need DES support
dnl ==========================================================================
AC_MSG_CHECKING(for DES support)
AC_ARG_ENABLE(des, [ --enable-des enable DES support (yes)])
@@ -1151,7 +1288,7 @@ AM_CONDITIONAL(XMLSEC_NO_DES, test "z$XMLSEC_NO_DES" = "z1")
AC_SUBST(XMLSEC_NO_DES)
dnl ==========================================================================
-dnl See do we need AES suport
+dnl See do we need AES support
dnl ==========================================================================
AC_MSG_CHECKING(for AES support)
AC_ARG_ENABLE(aes, [ --enable-aes enable AES support (OpenSSL >= 0.9.7 is required)])
@@ -1167,7 +1304,7 @@ AM_CONDITIONAL(XMLSEC_NO_AES, test "z$XMLSEC_NO_AES" = "z1")
AC_SUBST(XMLSEC_NO_AES)
dnl ==========================================================================
-dnl See do we need GOST suport
+dnl See do we need GOST support
dnl ==========================================================================
AC_MSG_CHECKING(for GOST support)
AC_ARG_ENABLE(gost, [ --enable-gost enable GOST support (no)])
@@ -1183,7 +1320,7 @@ AM_CONDITIONAL(XMLSEC_NO_GOST, test "z$XMLSEC_NO_GOST" = "z1")
AC_SUBST(XMLSEC_NO_GOST)
dnl ==========================================================================
-dnl See do we need XMLDSig suport
+dnl See do we need XMLDSig support
dnl ==========================================================================
AC_MSG_CHECKING(for XMLDSig support)
AC_ARG_ENABLE(xmldsig, [ --enable-xmldsig enable XMLDSig support (yes)])
@@ -1199,7 +1336,7 @@ AM_CONDITIONAL(XMLSEC_NO_XMLDSIG, test "z$XMLSEC_NO_XMLDSIG" = "z1")
AC_SUBST(XMLSEC_NO_XMLDSIG)
dnl ==========================================================================
-dnl See do we need XMLEnc suport
+dnl See do we need XMLEnc support
dnl ==========================================================================
AC_MSG_CHECKING(for XMLEnc support)
AC_ARG_ENABLE(xmlenc, [ --enable-xmlenc enable XMLEnc support (yes)])
@@ -1215,7 +1352,7 @@ AM_CONDITIONAL(XMLSEC_NO_XMLENC, test "z$XMLSEC_NO_XMLENC" = "z1")
AC_SUBST(XMLSEC_NO_XMLENC)
dnl ==========================================================================
-dnl See do we need XKMS suport
+dnl See do we need XKMS support
dnl ==========================================================================
AC_MSG_CHECKING(for XMKMS support - under development, not stable yet)
AC_ARG_ENABLE(xkms, [ --enable-xkms enable XKMS support - under development (no)])
@@ -1244,7 +1381,7 @@ if test "z$enable_crypto_dl" = "zno" ; then
else
AC_CHECK_HEADER([ltdl.h],
[
- XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_DL_LIBLTDL=1",
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_DL_LIBLTDL=1"
AC_CHECK_LIB(
[ltdl],
[lt_dlopenext],
@@ -1315,7 +1452,7 @@ if test "z$enable_skm" = "zno" ; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
-fi
+fi
dnl ==========================================================================
dnl See do we need templates tests
@@ -1332,9 +1469,9 @@ fi
dnl ==========================================================================
dnl Debug
dnl ==========================================================================
-AC_MSG_CHECKING(for debuging)
-AC_ARG_ENABLE(debuging, [ --enable-debuging enable debuging compilation flags (no)])
-if test "z$enable_debuging" = "zyes" ; then
+AC_MSG_CHECKING(for debugging)
+AC_ARG_ENABLE(debugging, [ --enable-debugging enable debugging compilation flags (no)])
+if test "z$enable_debugging" = "zyes" ; then
CFLAGS="$CFLAGS -g"
AC_MSG_RESULT(yes)
else
@@ -1397,8 +1534,14 @@ XMLSEC_OPENSSL_LIBS="-L${libdir} -l$OPENSSL_CRYPTO_LIB $XMLSEC_CORE_LIBS $OPENSS
AC_SUBST(XMLSEC_OPENSSL_CFLAGS)
AC_SUBST(XMLSEC_OPENSSL_LIBS)
+XMLSEC_GCRYPT_CFLAGS="$XMLSEC_CORE_CFLAGS $GCRYPT_CFLAGS"
+XMLSEC_GCRYPT_LIBS="-L${libdir} -l$GCRYPT_CRYPTO_LIB $XMLSEC_CORE_LIBS $GCRYPT_LIBS"
+AC_SUBST(XMLSEC_GCRYPT_CFLAGS)
+AC_SUBST(XMLSEC_GCRYPT_LIBS)
+
+# xmlsec-gnutls is using xmlsec-gcrypt
XMLSEC_GNUTLS_CFLAGS="$XMLSEC_CORE_CFLAGS $GNUTLS_CFLAGS"
-XMLSEC_GNUTLS_LIBS="-L${libdir} -l$GNUTLS_CRYPTO_LIB $XMLSEC_CORE_LIBS $GNUTLS_LIBS"
+XMLSEC_GNUTLS_LIBS="-L${libdir} -l$GNUTLS_CRYPTO_LIB -l$GCRYPT_CRYPTO_LIB $XMLSEC_CORE_LIBS $GNUTLS_LIBS"
AC_SUBST(XMLSEC_GNUTLS_CFLAGS)
AC_SUBST(XMLSEC_GNUTLS_LIBS)
@@ -1452,6 +1595,10 @@ if test "z$XMLSEC_NO_GNUTLS" != "z1" ; then
AC_CONFIG_FILES([include/xmlsec/gnutls/Makefile src/gnutls/Makefile])
fi
+if test "z$XMLSEC_NO_GCRYPT" != "z1" ; then
+AC_CONFIG_FILES([include/xmlsec/gcrypt/Makefile src/gcrypt/Makefile])
+fi
+
if test "z$XMLSEC_NO_NSS" != "z1" ; then
AC_CONFIG_FILES([include/xmlsec/nss/Makefile src/nss/Makefile])
fi
@@ -1482,6 +1629,7 @@ xmlsec1Conf.sh:xmlsecConf.sh.in
xmlsec1-config:xmlsec-config.in
xmlsec1-openssl.pc:xmlsec-openssl.pc.in
xmlsec1-gnutls.pc:xmlsec-gnutls.pc.in
+xmlsec1-gcrypt.pc:xmlsec-gcrypt.pc.in
xmlsec1-nss.pc:xmlsec-nss.pc.in
xmlsec1.spec:xmlsec.spec.in
])