summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in1633
1 files changed, 1633 insertions, 0 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 00000000..ee2f3c45
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,1633 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT([xmlsec1],[1.2.18],[http://www.aleksey.com/xmlsec])
+
+XMLSEC_PACKAGE=xmlsec1
+XMLSEC_VERSION_MAJOR=1
+XMLSEC_VERSION_MINOR=2
+XMLSEC_VERSION_SUBMINOR=18
+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'`
+
+AC_PREREQ([2.52g])
+AC_CANONICAL_HOST
+
+AC_SUBST(XMLSEC_VERSION)
+AC_SUBST(XMLSEC_PACKAGE)
+AC_SUBST(XMLSEC_VERSION_SAFE)
+AC_SUBST(XMLSEC_VERSION_MAJOR)
+AC_SUBST(XMLSEC_VERSION_MINOR)
+AC_SUBST(XMLSEC_VERSION_SUBMINOR)
+AC_SUBST(XMLSEC_VERSION_INFO)
+
+AC_CONFIG_MACRO_DIR(m4)
+AM_INIT_AUTOMAKE([1.7 tar-ustar])
+AC_CONFIG_HEADERS([config.h])
+AM_MAINTAINER_MODE
+
+dnl
+dnl Check the environment
+dnl
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_HEADER_STDC
+AC_PROG_LIBTOOL
+
+LT_INIT
+
+dnl
+dnl Find programs
+dnl
+if test "z$RM" == "z" ; then
+ AC_PATH_PROG(RM, rm, /bin/rm)
+fi
+AC_PATH_PROG(CP, cp, /bin/cp)
+AC_PATH_PROG(MV, mv, /bin/mv)
+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
+AC_CHECK_HEADERS([stdio.h])
+AC_CHECK_HEADERS([stdlib.h])
+AC_CHECK_HEADERS([string.h])
+AC_CHECK_HEADERS([ctype.h])
+AC_CHECK_HEADERS([errno.h])
+AC_CHECK_HEADERS([ansidecl.h])
+AC_CHECK_HEADERS([time.h])
+AC_CHECK_FUNCS(strchr strrchr printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf timegm)
+
+XMLSEC_DEFINES=""
+
+dnl ==========================================================================
+dnl Specific setup for Aleksey's development environment:
+dnl - with debug
+dnl - with pedantic compiler flags
+dnl - with static binaries
+dnl - without dynamic xmlsec-crypto loading
+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_pedantic="yes"
+ enable_static_linking="yes"
+ enable_crypto_dl="no"
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
+
+dnl ==========================================================================
+dnl Perform host specific configuration
+dnl ==========================================================================
+XMLSEC_EXTRA_LDFLAGS=
+XMLSEC_CRYPTO_EXTRA_LDFLAGS=
+dnl should separate extra LDFLAGS for xmlsec and crypto libs ?
+dnl should --enable-runtime-pseudo-reloc for mingw and cygwin ?
+
+xmlsec_sharedlib_hack="no"
+if test -n "$shrext"; then
+ XMLSEC_SHLIBSFX="$shrext"
+else
+ dnl changed in libtool (between 1.5.2 and 1.5.14)
+ XMLSEC_SHLIBSFX="$shrext_cmds"
+fi
+case "${host}" in
+ *aix* )
+ CFLAGS="${CFLAGS} -D_ALL_SOURCE"
+ ;;
+ *-*-mingw*)
+ dnl use libtool flags "-avoid-version" to create shared
+ dnl libraries without version suffix, i.e. libxmlsec1.dll
+ dnl instead libxmlsec1-NN.dll, where NN is a number.
+ XMLSEC_EXTRA_LDFLAGS="-no-undefined -avoid-version"
+ XMLSEC_CRYPTO_EXTRA_LDFLAGS="-no-undefined -avoid-version"
+ XMLSEC_SHLIBSFX=".dll.a"
+ xmlsec_sharedlib_hack="yes"
+ ;;
+ *-*-cygwin*)
+ XMLSEC_EXTRA_LDFLAGS="-no-undefined"
+ XMLSEC_CRYPTO_EXTRA_LDFLAGS="-no-undefined"
+ ;;
+esac
+
+# To avoid problem with loading of a shared library (dlopen or equivalent)
+# at run time on some platforms we need to link crypto modules with extra
+# source. It's work without hack on 9x and under emulation.
+# On nt 5.x (w2k,xp) the error is 998("Invalid access to memory location").
+AM_CONDITIONAL(SHAREDLIB_HACK, [test "z$xmlsec_sharedlib_hack" = "zyes"])
+
+dnl ==========================================================================
+dnl Hack for autoconf version mismatch
+dnl ==========================================================================
+if test "z$shrext" == "z" ; then
+ shrext=$shrext_cmds
+fi
+
+dnl ==========================================================================
+dnl Check for __FUNCTION__ or __FUNCTION__
+dnl ==========================================================================
+AC_MSG_CHECKING(for __FUNCTION__ or __func__)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
+ [[char *foo = __FUNCTION__;]])],
+ [ac_function_exists=yes],
+ [ac_function_exists=no])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
+ [[char *foo = __func__;]])],
+ [ac_func_exists=yes],
+ [ac_func_exists=no])
+if test "z$ac_function_exists" = "zyes" ; then
+ AC_MSG_RESULT(__FUNCTION__)
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -D__XMLSEC_FUNCTION__=__FUNCTION__"
+elif test "z$ac_func_exists" = "zyes" ; then
+ AC_MSG_RESULT(__func__)
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -D__XMLSEC_FUNCTION__=__func__"
+else
+ AC_MSG_RESULT("no")
+fi
+
+dnl ==========================================================================
+dnl check do we have size_t and its size,
+dnl TODO: will need to replace this and the xmlSecSize define with
+dnl typedef on next ABI refresh
+dnl ==========================================================================
+AC_CHECK_SIZEOF(size_t)
+if test "$ac_cv_sizeof_size_t" -ne "4" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_SIZE_T"
+fi
+
+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
+ 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
+
+dnl ==========================================================================
+dnl find libxml
+dnl ==========================================================================
+LIBXML_MIN_VERSION="2.7.4"
+LIBXML_CONFIG="xml2-config"
+LIBXML_CFLAGS=""
+LIBXML_LIBS=""
+LIBXML_FOUND="no"
+AC_ARG_WITH(libxml,
+ [ --with-libxml=[PFX] libxml2 location]
+)
+AC_ARG_WITH(libxml-src,
+ [ --with-libxml-src=[PFX] not installed yet libxml2 location]
+)
+
+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)
+elif test "z$with_libxml_src" != "z" ; then
+ AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_MIN_VERSION)
+ CWD=`pwd`
+ if cd "$with_libxml_src" ; then
+ SRC_DIR=`pwd`
+ LIBXML_CONFIG=${SRC_DIR}/xml2-config
+ LIBXML_LIBS="-L${SRC_DIR}/.libs -lxml2"
+ LIBXML_CFLAGS="-I${SRC_DIR}/include"
+ LIBXML_FOUND="yes"
+ cd $CWD
+ AC_MSG_RESULT([yes (source)])
+ else
+ AC_MSG_ERROR([libxml source dir not found (${with_libxml_src}), typo?])
+ fi
+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
+ 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
+ AC_MSG_ERROR(Could not find libxml2 anywhere.)
+ fi
+ vers=`echo $LIBXML_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
+ minvers=`echo $LIBXML_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
+ if test "$vers" -ge "$minvers" ; then
+ LIBXML_LIBS="`$LIBXML_CONFIG --libs`"
+ LIBXML_CFLAGS="`$LIBXML_CONFIG --cflags`"
+ LIBXML_FOUND="yes"
+ AC_MSG_RESULT([yes ('$LIBXML_VERSION')])
+ else
+ AC_MSG_ERROR(You need at least libxml2 $LIBXML_MIN_VERSION for this version of $XMLSEC_PACKAGE)
+ fi
+fi
+
+AC_SUBST(LIBXML_CFLAGS)
+AC_SUBST(LIBXML_LIBS)
+AC_SUBST(LIBXML_CONFIG)
+AC_SUBST(LIBXML_MIN_VERSION)
+
+dnl ==========================================================================
+dnl find libxslt
+dnl ==========================================================================
+XMLSEC_NO_LIBXSLT="1"
+LIBXSLT_MIN_VERSION=1.0.20
+LIBXSLT_CONFIG="xslt-config"
+LIBXSLT_CFLAGS=""
+LIBXSLT_LIBS=""
+LIBXSLT_FOUND="no"
+AC_ARG_WITH(libxslt,
+ [ --with-libxslt=[PFX] libxslt location]
+)
+AC_ARG_WITH(libxslt-src,
+ [ --with-libxslt-src=[PFX] not installed yet libxslt location]
+)
+if test "z$with_libxslt" = "zno" -o "z$with_libxslt_src" = "zno" ; then
+ AC_MSG_CHECKING(for libxslt libraries >= $LIBXSLT_MIN_VERSION)
+ AC_MSG_RESULT(no)
+ LIBXSLT_FOUND="without"
+elif test "z$with_libxslt_src" != "z" ; then
+ AC_MSG_CHECKING(for libxslt libraries >= $LIBXSLT_MIN_VERSION)
+ CWD=`pwd`
+ if cd "$with_libxslt_src" ; then
+ SRC_DIR=`pwd`
+ LIBXSLT_CONFIG=${SRC_DIR}/xslt-config
+ LIBXSLT_LIBS="-L${SRC_DIR}/libxslt/.libs -lxslt"
+ LIBXSLT_CFLAGS="-I${SRC_DIR}"
+ LIBXSLT_FOUND="yes"
+ cd $CWD
+ AC_MSG_RESULT([yes (source)])
+ else
+ AC_MSG_ERROR([libxslt source dir not found (${with_libxslt_src}), typo?])
+ fi
+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])
+fi
+
+if test "z$LIBXSLT_FOUND" = "zno" ; then
+ if test "z$with_libxslt" != "zyes" ; then
+ 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
+ if test "z$with_libxslt" != "zyes" ; then
+ AC_MSG_ERROR(Unable to find libxslt at '$with_libxslt')
+ else
+ AC_MSG_RESULT(no)
+ fi
+ else
+ vers=`echo $LIBXSLT_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
+ minvers=`echo $LIBXSLT_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
+ if test "$vers" -ge "$minvers" ; then
+ LIBXSLT_LIBS="`$LIBXSLT_CONFIG --libs`"
+ LIBXSLT_CFLAGS="`$LIBXSLT_CONFIG --cflags`"
+ LIBXSLT_FOUND="yes"
+ AC_MSG_RESULT([yes ('$LIBXSLT_VERSION')])
+ else
+ AC_MSG_ERROR(You need at least libxslt $LIBXSLT_MIN_VERSION for this version of $XMLSEC_PACKAGE)
+ fi
+ fi
+fi
+
+if test "z$LIBXSLT_FOUND" = "zyes" ; then
+ XMLSEC_NO_LIBXSLT="0"
+else
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_XSLT=1"
+fi
+
+AC_SUBST(XMLSEC_NO_LIBXSLT)
+AC_SUBST(LIBXSLT_CFLAGS)
+AC_SUBST(LIBXSLT_LIBS)
+AC_SUBST(LIBXSLT_CONFIG)
+AC_SUBST(LIBXSLT_MIN_VERSION)
+
+dnl ==========================================================================
+dnl See if we can find a crypto library
+dnl ==========================================================================
+XMLSEC_CRYPTO_LIST=""
+XMLSEC_CRYPTO_DISABLED_LIST=""
+
+dnl ==========================================================================
+dnl OpenSSL
+dnl ==========================================================================
+ac_openssl_lib_dir="/usr/local/lib /usr/lib /usr/lib64 /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_NO_OPENSSL="1"
+OPENSSL_MIN_VERSION="0.9.6"
+OPENSSL_VERSION=""
+OPENSSL_CFLAGS=""
+OPENSSL_LIBS=""
+OPENSSL_CRYPTO_LIB="$XMLSEC_PACKAGE-openssl"
+OPENSSL_FOUND=no
+AC_ARG_WITH(openssl, [ --with-openssl=[PFX] openssl location])
+if test "z$with_openssl" = "zno" ; then
+ OPENSSL_FOUND=without
+ AC_MSG_CHECKING(for openssl libraries >= $OPENSSL_MIN_VERSION)
+ AC_MSG_RESULT(no)
+elif test "z$with_openssl" != "z" ; then
+ case $host in
+ *-*-mingw*) openssl_exlibs=;;
+ *-*-osf5*) openssl_exlibs=;;
+ *-*-openbsd*) openssl_exlibs=;;
+ *-*-netbsd*) openssl_exlibs=;;
+ #FIXME: check if lib "dl" is required
+ *) openssl_exlibs=-ldl;;
+ esac
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -I$with_openssl/include"
+ if test -f "$with_openssl/lib/libcrypto${XMLSEC_SHLIBSFX}" ; then
+ OPENSSL_LIBS="-L$with_openssl/lib -lcrypto $openssl_exlibs"
+ else
+ OPENSSL_LIBS="$with_openssl/lib/libcrypto.a $openssl_exlibs"
+ fi
+ OPENSSL_FOUND="yes"
+elif test "z$PKGCONFIG_FOUND" = "zyes" ; then
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ PKG_CHECK_MODULES(OPENSSL, openssl >= 0.9.8,
+ [OPENSSL_VERSION="0.9.8"],
+ [OPENSSL_VERSION=""])
+ fi
+
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ PKG_CHECK_MODULES(OPENSSL, openssl >= 0.9.7,
+ [OPENSSL_VERSION="0.9.7"],
+ [OPENSSL_VERSION=""])
+ fi
+
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ PKG_CHECK_MODULES(OPENSSL, openssl >= $OPENSSL_MIN_VERSION,
+ [OPENSSL_VERSION="$OPENSSL_MIN_VERSION"],
+ [OPENSSL_VERSION=""])
+ fi
+
+ if test "z$OPENSSL_VERSION" != "z" ; then
+ OPENSSL_FOUND="yes"
+ fi
+fi
+
+if test "z$OPENSSL_FOUND" = "zno" ; then
+ OPENSSL_INCLUDES_FOUND="no"
+ OPENSSL_LIBS_FOUND="no"
+
+ for dir in $ac_openssl_inc_dir ; do
+ if test -f $dir/openssl/ssl.h ; then
+ dnl do not add -I/usr/include because compiler does it anyway
+ if test "z$dir" = "z/usr/include" ; then
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS "
+ else
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -I$dir"
+ fi
+ OPENSSL_INCLUDES_FOUND="yes"
+ break
+ fi
+ done
+
+ for dir in $ac_openssl_lib_dir ; do
+ if test -f $dir/libcrypto.a ; then
+ dnl do not add -L/usr/lib because compiler does it anyway
+ if test "z$dir" = "z/usr/lib" ; then
+ OPENSSL_LIBS="-lcrypto -ldl"
+ else
+ OPENSSL_LIBS="-L$dir -lcrypto -ldl"
+ fi
+ OPENSSL_LIBS_FOUND="yes"
+ ac_found_openssl_lib_dir=$dir
+ break;
+ fi
+ done
+
+ if test "z$OPENSSL_INCLUDES_FOUND" = "zyes" -a "z$OPENSSL_LIBS_FOUND" = "zyes" ; then
+ OPENSSL_FOUND="yes"
+ fi
+fi
+
+if test "z$OPENSSL_FOUND" = "zyes" -a "z$OPENSSL_VERSION" = "z" ; then
+ AC_MSG_CHECKING(for openssl libraries >= $OPENSSL_MIN_VERSION)
+
+ dnl Check the OpenSSL version
+ OLD_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$OPENSSL_CFLAGS"
+
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ AC_EGREP_CPP(yes,[
+ #include <openssl/opensslv.h>
+ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
+ yes
+ #endif
+ ],[
+ OPENSSL_VERSION="1.0.0"
+ ],[
+ OPENSSL_VERSION=""
+ ])
+ fi
+
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ AC_EGREP_CPP(yes,[
+ #include <openssl/opensslv.h>
+ #if OPENSSL_VERSION_NUMBER >= 0x00908000L
+ yes
+ #endif
+ ],[
+ OPENSSL_VERSION="0.9.8"
+ ],[
+ OPENSSL_VERSION=""
+ ])
+ fi
+
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ AC_EGREP_CPP(yes,[
+ #include <openssl/opensslv.h>
+ #if OPENSSL_VERSION_NUMBER >= 0x00907000L
+ yes
+ #endif
+ ],[
+ OPENSSL_VERSION="0.9.7"
+ ],[
+ OPENSSL_VERSION=""
+ ])
+ fi
+
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ AC_EGREP_CPP(yes,[
+ #include <openssl/opensslv.h>
+ #if OPENSSL_VERSION_NUMBER >= 0x00906000L
+ yes
+ #endif
+ ],[
+ OPENSSL_VERSION="0.9.6"
+ ],[
+ OPENSSL_VERSION=""
+ ])
+ fi
+ if test "z$OPENSSL_VERSION" = "z" ; then
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT([yes ('$OPENSSL_VERSION')])
+ fi
+
+ CPPFLAGS=$OLD_CPPFLAGS
+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"
+ fi
+ if test "z$OPENSSL_VERSION" = "z0.9.7" ; then
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_097=1"
+ fi
+ if test "z$OPENSSL_VERSION" = "z0.9.8" ; then
+ OPENSSL_CFLAGS="$OPENSSL_CFLAGS -DXMLSEC_OPENSSL_098=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"
+ XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST openssl"
+else
+ XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST openssl"
+fi
+
+AM_CONDITIONAL(XMLSEC_NO_OPENSSL, test "z$XMLSEC_NO_OPENSSL" == "z1")
+AC_SUBST(XMLSEC_NO_OPENSSL)
+AC_SUBST(OPENSSL_CFLAGS)
+AC_SUBST(OPENSSL_LIBS)
+AC_SUBST(OPENSSL_CRYPTO_LIB)
+AC_SUBST(OPENSSL_MIN_VERSION)
+
+dnl ==========================================================================
+dnl See if we can find NSS and NSPR
+dnl Allow the use of:
+dnl 1. Mozilla style distribution where all mozilla components (NSS, NSPR
+dnl are just 2 of over 100 components) are under one directory.
+dnl options: [--with-mozilla-ver=<VERSION>]
+dnl
+dnl Using the version number, various directories are searched
+dnl for NSS & NSPR
+dnl
+dnl AND / OR
+dnl
+dnl 2. separate NSS & NSPR distributions
+dnl options: [--with-nss=<PFX>] [--with-nspr=<PFX>]
+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.9"
+NSPR_MIN_VERSION="4.4.1"
+NSS_CFLAGS=""
+NSS_LIBS=""
+NSS_LIBS_LIST="-lnss3 -lsmime3"
+NSPR_LIBS_LIST="-lnspr4 -lplds4 -lplc4"
+NSS_CRYPTO_LIB="$XMLSEC_PACKAGE-nss"
+NSS_FOUND="no"
+NSPR_PACKAGE=mozilla-nspr
+NSS_PACKAGE=mozilla-nss
+
+
+dnl if nss is disabled, bail out early
+AC_ARG_WITH(nss, [ --with-nss=[PFX] nss location])
+AC_ARG_WITH(nspr, [ --with-nspr=[PFX] nspr location (needed for NSS)])
+AC_ARG_WITH(seamonkey_ver, [ --with-seamonkey-ver=[VER] mozilla version (alt to --with-nss, --with-nspr)])
+AC_ARG_WITH(mozilla_ver, [ --with-mozilla-ver=[VER] mozilla version (alt to --with-nss, --with-nspr)])
+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$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 >= $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 >= $NSPR_MIN_VERSION nss >= $NSS_MIN_VERSION,
+ [NSS_FOUND=yes NSPR_PACKAGE=nspr NSS_PACKAGE=nss],
+ [NSS_FOUND=no])
+ fi
+fi
+
+if test "z$NSS_FOUND" = "zno" ; then
+ dnl process the mozilla options if any
+ if test "z$with_seamonkey_ver" != "z" ; then
+ ac_mozilla_name=seamonkey-$with_seamonkey_ver
+ elif test "z$with_mozilla_ver" != "z" ; then
+ ac_mozilla_name=mozilla-$with_mozilla_ver
+ else
+ 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_MSG_CHECKING(for nspr libraries >= $NSPR_MIN_VERSION)
+ NSPR_INCLUDES_FOUND="no"
+ NSPR_LIBS_FOUND="no"
+ NSPR_FOUND="no"
+ NSPR_PRINIT_H=""
+
+ if test "z$with_nspr" != "z" ; then
+ NSPR_PREFIX="$with_nspr"
+ NSPR_CFLAGS="-I$with_nspr/include -I$with_nspr/include/nspr"
+ if test "z$with_gnu_ld" = "zyes" ; then
+ NSPR_LIBS="-Wl,-rpath-link -Wl,$with_nspr/lib -L$with_nspr/lib $NSPR_LIBS_LIST"
+ else
+ NSPR_LIBS="-L$with_nspr/lib $NSPR_LIBS_LIST"
+ fi
+ NSPR_INCLUDES_FOUND="yes"
+ NSPR_LIBS_FOUND="yes"
+ 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
+ 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"
+ fi
+ NSPR_INCLUDES_FOUND="yes"
+ NSPR_PRINIT_H="$dir/nspr/prinit.h"
+ break
+ fi
+ done
+
+ for dir in $ac_nss_lib_dir ; do
+ if test -f $dir/libnspr4$shrext ; 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"
+ else
+ if test "z$with_gnu_ld" = "zyes" ; then
+ NSPR_LIBS="-Wl,-rpath-link -Wl,$dir -L$dir $NSPR_LIBS_LIST"
+ else
+ NSPR_LIBS="-L$dir $NSPR_LIBS_LIST"
+ fi
+ fi
+ NSPR_LIBS_FOUND="yes"
+ break
+ fi
+ done
+ fi
+
+ if test "z$NSPR_INCLUDES_FOUND" = "zyes" -a "z$NSPR_LIBS_FOUND" = "zyes" ; then
+ OLD_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$NSPR_CFLAGS"
+ AC_EGREP_CPP(yes,[
+ #include <prinit.h>
+ #if PR_VMAJOR >= 4
+ yes
+ #endif
+ ],[
+ NSPR_FOUND=yes
+ ],[
+ NSPR_FOUND=no
+ ])
+ CPPFLAGS="$OLD_CPPFLAGS"
+ fi
+
+ if test "z$NSPR_FOUND" = "zyes" ; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+
+ dnl look for nss
+ AC_MSG_CHECKING(for nss libraries >= $NSS_MIN_VERSION)
+ NSS_INCLUDES_FOUND="no"
+ NSS_LIBS_FOUND="no"
+ NSS_NSS_H=""
+
+ if test "z$with_nss" != "z" ; then
+ NSS_CFLAGS="$NSS_CFLAGS -I$with_nss/include -I$with_nss/include/nss"
+ if test "z$with_gnu_ld" = "zyes" ; then
+ NSS_LIBS="$NSS_LIBS -Wl,-rpath-link -Wl,$with_nss/lib -L$with_nss/lib $NSS_LIBS_LIST"
+ else
+ NSS_LIBS="$NSS_LIBS -L$with_nss/lib $NSS_LIBS_LIST"
+ fi
+ NSS_INCLUDES_FOUND="yes"
+ NSS_LIBS_FOUND="yes"
+ NSS_NSS_H="$with_nss/include/nss.h"
+ else
+ for dir in $ac_nss_inc_dir ; do
+ if test -f $dir/nss/nss.h ; then
+ dnl do not add -I/usr/include because compiler does it anyway
+ if test "z$dir" = "z/usr/include" ; then
+ NSS_CFLAGS="$NSS_CFLAGS"
+ else
+ NSS_CFLAGS="$NSS_CFLAGS -I$dir/nss"
+ fi
+ NSS_INCLUDES_FOUND="yes"
+ NSS_NSS_H="$dir/nss/nss.h"
+ break
+ fi
+ done
+
+ for dir in $ac_nss_lib_dir ; do
+ if test -f $dir/libnss3$shrext ; 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"
+ else
+ if test "z$with_gnu_ld" = "zyes" ; then
+ NSS_LIBS="-Wl,-rpath-link -Wl,$dir -L$dir $NSS_LIBS_LIST"
+ else
+ NSS_LIBS="-L$dir $NSS_LIBS_LIST"
+ fi
+ fi
+ NSS_LIBS_FOUND="yes"
+ break
+ fi
+ done
+ fi
+
+ if test "z$NSS_INCLUDES_FOUND" = "zyes" -a "z$NSS_LIBS_FOUND" = "zyes" ; then
+ OLD_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$NSS_CFLAGS"
+ AC_EGREP_CPP(yes,[
+ #include <nss.h>
+ #if NSS_VMAJOR >= 3 && NSS_VMINOR >= 2
+ yes
+ #endif
+ ],[
+ NSS_FOUND=yes
+ ],[
+ NSS_FOUND=no
+ ])
+ CPPFLAGS="$OLD_CPPFLAGS"
+ fi
+
+ if test "z$NSS_FOUND" = "zyes" ; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+
+ dnl check that we have found both NSS and NSPR
+ 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
+ NSS_FOUND="no"
+ AC_MSG_RESULT(NSPR library is required for NSS, ignoring NSS library we have found)
+ fi
+fi
+
+if test "z$NSS_FOUND" = "zyes" ; then
+ XMLSEC_NO_NSS="0"
+ NSS_CFLAGS="$NSS_CFLAGS -DXMLSEC_CRYPTO_NSS=1"
+ XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST nss"
+else
+ XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST nss"
+fi
+
+AM_CONDITIONAL(XMLSEC_NO_NSS, test "z$XMLSEC_NO_NSS" = "z1")
+AC_SUBST(XMLSEC_NO_NSS)
+AC_SUBST(NSPR_PACKAGE)
+AC_SUBST(NSS_PACKAGE)
+AC_SUBST(NSS_CFLAGS)
+AC_SUBST(NSS_LIBS)
+AC_SUBST(NSS_CRYPTO_LIB)
+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="2.8.0"
+GNUTLS_VERSION=""
+GNUTLS_CFLAGS=""
+GNUTLS_LIBS=""
+GNUTLS_CRYPTO_LIB="$XMLSEC_PACKAGE-gnutls"
+GNUTLS_FOUND="no"
+AC_ARG_WITH(gnutls, [ --with-gnutls=[PFX] gnutls location])
+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$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_MIN_VERSION,
+ [GNUTLS_FOUND=yes],
+ [GNUTLS_FOUND=no])
+ fi
+fi
+
+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
+ fi
+ 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
+ AC_MSG_RESULT(no)
+ fi
+ else
+ vers=`$GNUTLS_CONFIG --version | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
+ 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_FOUND=yes
+ else
+ AC_MSG_ERROR(You need at least gnutls $GNUTLS_MIN_VERSION for this version of $XMLSEC_PACKAGE)
+ fi
+ fi
+fi
+
+if test "z$GNUTLS_FOUND" = "zyes" ; then
+ XMLSEC_NO_GNUTLS="0"
+ GNUTLS_CFLAGS="$GNUTLS_CFLAGS -DXMLSEC_CRYPTO_GNUTLS=1"
+ 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
+
+AM_CONDITIONAL(XMLSEC_NO_GNUTLS, test "z$XMLSEC_NO_GNUTLS" = "z1")
+AC_SUBST(XMLSEC_NO_GNUTLS)
+AC_SUBST(GNUTLS_CFLAGS)
+AC_SUBST(GNUTLS_LIBS)
+AC_SUBST(GNUTLS_CRYPTO_LIB)
+AC_SUBST(GNUTLS_MIN_VERSION)
+
+
+dnl ==========================================================================
+dnl See if we can find MSCrypto
+dnl ==========================================================================
+XMLSEC_NO_MSCRYPTO="1"
+MSCRYPTO_CFLAGS=""
+MSCRYPTO_LIBS=""
+MSCRYPTO_CRYPTO_LIB="$XMLSEC_PACKAGE-mscrypto"
+MSCRYPTO_ENABLE='none'
+AC_ARG_ENABLE(mscrypto,
+ [ --enable-mscrypto enable mscrypto (no)],
+ [MSCRYPTO_ENABLE=$enableval])
+if test "z$MSCRYPTO_ENABLE" != "zyes" ; then
+ AC_MSG_CHECKING(for mscrypto libraries)
+ AC_MSG_RESULT([$MSCRYPTO_ENABLE])
+else
+dnl cannot detect __stdcall functions
+dnl AC_CHECK_LIB(crypt32, CertOpenStore, ....
+ LIBS_SAVE="$LIBS"
+ LIBS="$LIBS -lcrypt32"
+ AC_MSG_CHECKING(for mscrypto libraries)
+ AC_LINK_IFELSE([
+ #include <windows.h>
+ #include <wincrypt.h>
+ int main () { CertOpenStore(0,0,0,0,0);; return(0); }
+ ],
+ [],
+ [MSCRYPTO_ENABLE="no"])
+ AC_MSG_RESULT([$MSCRYPTO_ENABLE])
+ LIBS="$LIBS_SAVE"
+fi
+
+if test "z$MSCRYPTO_ENABLE" = "zyes" ; then
+ XMLSEC_NO_MSCRYPTO="0"
+
+ MSCRYPTO_CFLAGS="$MSCRYPTO_CFLAGS -DXMLSEC_CRYPTO_MSCRYPTO=1"
+ case $host in
+ *-*-mingw*)
+ dnl since mingw crypt32 library is limited
+ dnl we use own def-file
+ MSCRYPTO_LIBS='-Wl,$(srcdir)/mingw-crypt32.def';;
+ *)
+ MSCRYPTO_LIBS="-lcrypt32";;
+ esac
+
+ XMLSEC_CRYPTO_LIST="$XMLSEC_CRYPTO_LIST mscrypto"
+else
+ XMLSEC_CRYPTO_DISABLED_LIST="$XMLSEC_CRYPTO_DISABLED_LIST mscrypto"
+fi
+
+AM_CONDITIONAL(XMLSEC_NO_MSCRYPTO, [test "z$XMLSEC_NO_MSCRYPTO" = "z1"])
+AC_SUBST(XMLSEC_NO_MSCRYPTO)
+AC_SUBST(MSCRYPTO_CFLAGS)
+AC_SUBST(MSCRYPTO_LIBS)
+AC_SUBST(MSCRYPTO_CRYPTO_LIB)
+
+
+dnl ==========================================================================
+dnl Figure out the default crypt - the first crypto library wins
+dnl ==========================================================================
+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 ==========================================================================
+AC_MSG_CHECKING(for MD5 support)
+AC_ARG_ENABLE(md5, [ --enable-md5 enable MD5 support (yes)])
+if test "z$enable_md5" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_MD5=1"
+ XMLSEC_NO_MD5="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_MD5="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for RIPEMD-160 support)
+AC_ARG_ENABLE(ripemd160, [ --enable-ripemd160 enable RIPEMD-160 support (yes)])
+if test "z$enable_ripemd160" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_RIPEMD160=1"
+ XMLSEC_NO_RIPEMD160="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_RIPEMD160="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for SHA1 support)
+AC_ARG_ENABLE(sha1, [ --enable-sha1 enable SHA1 support (yes)])
+if test "z$enable_sha1" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_SHA1=1"
+ XMLSEC_NO_SHA1="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_SHA1="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for SHA224 support)
+AC_ARG_ENABLE(sha224, [ --enable-sha224 enable SHA224 support (yes)])
+if test "z$enable_sha224" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_SHA224=1"
+ XMLSEC_NO_SHA224="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_SHA224="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for SHA256 support)
+AC_ARG_ENABLE(sha256, [ --enable-sha256 enable SHA256 support (yes)])
+if test "z$enable_sha256" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_SHA256=1"
+ XMLSEC_NO_SHA256="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_SHA256="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for SHA384 support)
+AC_ARG_ENABLE(sha384, [ --enable-sha384 enable SHA384 support (yes)])
+if test "z$enable_sha384" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_SHA384=1"
+ XMLSEC_NO_SHA384="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_SHA384="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for SHA512 support)
+AC_ARG_ENABLE(sha512, [ --enable-sha512 enable SHA512 support (yes)])
+if test "z$enable_sha512" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_SHA512=1"
+ XMLSEC_NO_SHA512="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_SHA512="0"
+ AC_MSG_RESULT(yes)
+fi
+AM_CONDITIONAL(XMLSEC_NO_SHA512, test "z$XMLSEC_NO_SHA512" = "z1")
+AC_SUBST(XMLSEC_NO_SHA512)
+
+
+dnl ==========================================================================
+dnl See do we need HMAC suport
+dnl ==========================================================================
+AC_MSG_CHECKING(for HMAC support)
+AC_ARG_ENABLE(hmac, [ --enable-hmac enable HMAC support (yes)])
+if test "z$enable_hmac" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_HMAC=1"
+ XMLSEC_NO_HMAC="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_HMAC="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for DSA support)
+AC_ARG_ENABLE(dsa, [ --enable-dsa enable DSA support (yes)])
+if test "z$enable_dsa" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_DSA=1"
+ XMLSEC_NO_DSA="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_DSA="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for RSA support)
+AC_ARG_ENABLE(rsa, [ --enable-rsa enable RSA support (yes)])
+if test "z$enable_rsa" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_RSA=1"
+ XMLSEC_NO_RSA="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_RSA="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for x509 support)
+AC_ARG_ENABLE(x509, [ --enable-x509 enable x509 support (yes)])
+if test "z$enable_x509" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_X509=1"
+ XMLSEC_NO_X509="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_X509="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for DES support)
+AC_ARG_ENABLE(des, [ --enable-des enable DES support (yes)])
+if test "z$enable_des" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_DES=1"
+ XMLSEC_NO_DES="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_DES="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for AES support)
+AC_ARG_ENABLE(aes, [ --enable-aes enable AES support (OpenSSL >= 0.9.7 is required)])
+if test "z$enable_aes" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_AES=1"
+ XMLSEC_NO_AES="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_AES="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for GOST support)
+AC_ARG_ENABLE(gost, [ --enable-gost enable GOST support (no)])
+if test "z$enable_gost" != "zyes" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_GOST=1"
+ XMLSEC_NO_GOST="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_GOST="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for XMLDSig support)
+AC_ARG_ENABLE(xmldsig, [ --enable-xmldsig enable XMLDSig support (yes)])
+if test "z$enable_xmldsig" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_XMLDSIG=1"
+ XMLSEC_NO_XMLDSIG="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_XMLDSIG="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for XMLEnc support)
+AC_ARG_ENABLE(xmlenc, [ --enable-xmlenc enable XMLEnc support (yes)])
+if test "z$enable_xmlenc" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_XMLENC=1"
+ XMLSEC_NO_XMLENC="1"
+ AC_MSG_RESULT(no)
+else
+ XMLSEC_NO_XMLENC="0"
+ AC_MSG_RESULT(yes)
+fi
+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 ==========================================================================
+AC_MSG_CHECKING(for XMKMS support - under development, not stable yet)
+AC_ARG_ENABLE(xkms, [ --enable-xkms enable XKMS support - under development (no)])
+if test "z$enable_xkms" = "zyes" ; then
+ XMLSEC_NO_XKMS="0"
+ AC_MSG_RESULT(yes)
+else
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_XKMS=1"
+ XMLSEC_NO_XKMS="1"
+ AC_MSG_RESULT(no)
+fi
+AM_CONDITIONAL(XMLSEC_NO_XKMS, test "z$XMLSEC_NO_XKMS" = "z1")
+AC_SUBST(XMLSEC_NO_XKMS)
+
+dnl ==========================================================================
+dnl check if we need dynamic loading support
+dnl ==========================================================================
+XMLSEC_DL_INCLUDES=""
+XMLSEC_DL_LIBS=""
+AC_MSG_CHECKING(for xmlsec-crypto dynamic loading support)
+AC_ARG_ENABLE(crypto_dl, [ --enable-crypto-dl enable dynamic loading support for xmlsec-crypto libraries (yes)])
+if test "z$enable_crypto_dl" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1"
+ XMLSEC_NO_CRYPTO_DYNAMIC_LOADING="1"
+ AC_MSG_RESULT(no)
+else
+ AC_CHECK_HEADER([ltdl.h],
+ [
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_DL_LIBLTDL=1",
+ AC_CHECK_LIB(
+ [ltdl],
+ [lt_dlopenext],
+ [LIBLTDL=-lltdl],
+ [LIBLTDL=]
+ )],
+ [LIBLTDL=]
+ )
+
+ if test "z$LIBLTDL" != "z" ; then
+ XMLSEC_DL_INCLUDES="$INCLTDL"
+ XMLSEC_DL_LIBS="$LIBLTDL"
+ XMLSEC_NO_CRYPTO_DYNAMIC_LOADING="0"
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_ERROR([libltdl is required for xmlsec-crypto dynamic loading])
+ fi
+fi
+AM_CONDITIONAL(XMLSEC_NO_CRYPTO_DYNAMIC_LOADING, test "z$XMLSEC_NO_CRYPTO_DYNAMIC_LOADING" = "z1")
+AC_SUBST(XMLSEC_NO_CRYPTO_DYNAMIC_LOADING)
+AC_SUBST(XMLSEC_DL_INCLUDES)
+AC_SUBST(XMLSEC_DL_LIBS)
+
+dnl ==========================================================================
+dnl check if we need dynamic loading in the xmlsec apps
+dnl ==========================================================================
+AC_MSG_CHECKING(for xmlsec-crypto dynamic loading support in command line tool)
+AC_ARG_ENABLE(apps_crypto_dl, [ --enable-apps-crypto-dl enable dynamic loading support for xmlsec-crypto libraries in xmlsec command line tool (yes)])
+if test "z$enable_apps_crypto_dl" = "z" ; then
+ enable_apps_crypto_dl="$enable_crypto_dl"
+fi
+if test "z$enable_apps_crypto_dl" = "zno" ; then
+ XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING="1"
+ AC_MSG_RESULT(no)
+elif test "z$enable_crypto_dl" = "zno" ; then
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR(xmlsec-crypto libraries dynamic loading support in xmlsec command line tool is requested but no dynamic loading in xmlsec itself is disabled)
+else
+ XMLSEC_APP_DEFINES="$XMLSEC_APP_DEFINES -DXMLSEC_CRYPTO_DYNAMIC_LOADING=1"
+ XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING="0"
+ AC_MSG_RESULT(yes)
+fi
+AM_CONDITIONAL(XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING,
+ test "z$XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING" = "z1")
+AC_SUBST(XMLSEC_NO_APPS_CRYPTO_DYNAMIC_LOADING)
+
+dnl ==========================================================================
+dnl Where do we want to install docs
+dnl ==========================================================================
+AC_MSG_CHECKING(for docs folder)
+AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
+if test "z$with_html_dir" != "z" ; then
+ XMLSEC_DOCDIR=$with_html_dir
+else
+ XMLSEC_DOCDIR='$(datadir)/doc/xmlsec1'
+fi
+
+AC_MSG_RESULT($XMLSEC_DOCDIR)
+AC_SUBST(XMLSEC_DOCDIR)
+
+dnl ==========================================================================
+dnl See do we need Simple Keys Manager
+dnl ==========================================================================
+AC_MSG_CHECKING(for Simple Keys Manager testing)
+AC_ARG_ENABLE(skm, [ --enable-skm enable Simple Keys Manager testing (yes)])
+if test "z$enable_skm" = "zno" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_SKM_TEST=1"
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+fi
+
+dnl ==========================================================================
+dnl See do we need templates tests
+dnl ==========================================================================
+AC_MSG_CHECKING(for templates testing)
+AC_ARG_ENABLE(tmpl_tests, [ --enable-tmpl-tests enable templates testing in xmlsec utility (yes)])
+if test "z$enable_tmpl_tests" = "zyes" ; then
+ XMLSEC_DEFINES="$XMLSEC_DEFINES -DXMLSEC_NO_TMPL_TEST=1"
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+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
+ CFLAGS="$CFLAGS -g"
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
+dnl ==========================================================================
+dnl Profiling
+dnl ==========================================================================
+AC_MSG_CHECKING(for profiling)
+AC_ARG_ENABLE(profiling, [ --enable-profiling enable profiling compilation flags (no)])
+if test "z$enable_profiling" = "zyes" ; then
+ CFLAGS="$CFLAGS -pg"
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
+dnl ==========================================================================
+dnl Pedantic compilation
+dnl ==========================================================================
+AC_MSG_CHECKING(for pedantic)
+AC_ARG_ENABLE(pedantic, [ --enable-pedantic enable pedantic compilation flags (no)])
+if test "z$enable_pedantic" = "zyes" ; then
+ dnl CFLAGS="$CFLAGS -pedantic -Wall -ansi -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
+ CFLAGS="$CFLAGS -O -pedantic -Wall -ansi -fno-inline -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
+dnl ==========================================================================
+dnl Static linking
+dnl ==========================================================================
+XMLSEC_STATIC_BINARIES=""
+AC_MSG_CHECKING(for static linking)
+AC_ARG_ENABLE(static_linking, [ --enable-static-linking enable static linking (no)])
+if test "z$enable_static_linking" = "zyes" ; then
+ XMLSEC_STATIC_BINARIES="-static"
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST(XMLSEC_STATIC_BINARIES)
+
+dnl ==========================================================================
+dnl Final steps: xmlsec config
+dnl ==========================================================================
+XMLSEC_CORE_CFLAGS="$XMLSEC_DEFINES -I${includedir}/xmlsec1 $XMLSEC_DL_INCLUDES"
+XMLSEC_CORE_LIBS="-lxmlsec1 $XMLSEC_DL_LIBS "
+AC_SUBST(XMLSEC_CORE_CFLAGS)
+AC_SUBST(XMLSEC_CORE_LIBS)
+
+dnl used in xmlsecConf.sh*
+XMLSEC_LIBDIR="${libdir}"
+AC_SUBST(XMLSEC_LIBDIR)
+
+XMLSEC_OPENSSL_CFLAGS="$XMLSEC_CORE_CFLAGS $OPENSSL_CFLAGS"
+XMLSEC_OPENSSL_LIBS="-L${libdir} -l$OPENSSL_CRYPTO_LIB $XMLSEC_CORE_LIBS $OPENSSL_LIBS"
+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 -l$GCRYPT_CRYPTO_LIB $XMLSEC_CORE_LIBS $GNUTLS_LIBS"
+AC_SUBST(XMLSEC_GNUTLS_CFLAGS)
+AC_SUBST(XMLSEC_GNUTLS_LIBS)
+
+XMLSEC_NSS_CFLAGS="$XMLSEC_CORE_CFLAGS $NSS_CFLAGS"
+XMLSEC_NSS_LIBS="-L${libdir} -l$NSS_CRYPTO_LIB $XMLSEC_CORE_LIBS $NSS_LIBS"
+AC_SUBST(XMLSEC_NSS_CFLAGS)
+AC_SUBST(XMLSEC_NSS_LIBS)
+
+dnl No we will not generate pkg-config file for mscrypto !
+dnl XMLSEC_MSCRYPTO_CFLAGS="$XMLSEC_CORE_CFLAGS $MSCRYPTO_CFLAGS"
+dnl XMLSEC_MSCRYPTO_LIBS="-L${libdir} -l$MSCRYPTO_CRYPTO_LIB $XMLSEC_CORE_LIBS $MSCRYPTO_LIBS";;
+dnl AC_SUBST(XMLSEC_MSCRYPTO_CFLAGS)
+dnl AC_SUBST(XMLSEC_MSCRYPTO_LIBS)
+
+XMLSEC_CFLAGS="$XMLSEC_CORE_CFLAGS $LIBXML_CFLAGS $LIBXSLT_CFLAGS $XMLSEC_CRYPTO_CFLAGS"
+XMLSEC_LIBS="-L${libdir} -l$XMLSEC_CRYPTO_LIB $XMLSEC_CORE_LIBS $LIBXML_LIBS $LIBXSLT_LIBS $XMLSEC_CRYPTO_LIBS"
+AC_SUBST(XMLSEC_CFLAGS)
+AC_SUBST(XMLSEC_LIBS)
+
+AC_SUBST(XMLSEC_DEFINES)
+AC_SUBST(XMLSEC_APP_DEFINES)
+AC_SUBST(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+AC_SUBST(XMLSEC_EXTRA_LDFLAGS)
+AC_SUBST(XMLSEC_CRYPTO_EXTRA_LDFLAGS)
+
+AC_SUBST(XMLSEC_CRYPTO)
+AC_SUBST(XMLSEC_CRYPTO_LIST)
+AC_SUBST(XMLSEC_CRYPTO_DISABLED_LIST)
+AC_SUBST(XMLSEC_CRYPTO_LIB)
+AC_SUBST(XMLSEC_CRYPTO_CFLAGS)
+AC_SUBST(XMLSEC_CRYPTO_LIBS)
+
+XMLSEC_CRYPTO_PC_FILES_LIST=""
+for i in $XMLSEC_CRYPTO_LIST ; do
+ dnl skip pkg-config file for mscrypto
+ test x$i = xmscrypto && continue
+ XMLSEC_CRYPTO_PC_FILES_LIST="$XMLSEC_CRYPTO_PC_FILES_LIST $XMLSEC_PACKAGE-$i.pc"
+done
+AC_SUBST(XMLSEC_CRYPTO_PC_FILES_LIST)
+
+dnl ==========================================================================
+dnl Writing result files
+dnl ==========================================================================
+if test "z$XMLSEC_NO_OPENSSL" != "z1" ; then
+AC_CONFIG_FILES([include/xmlsec/openssl/Makefile src/openssl/Makefile])
+fi
+
+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
+
+if test "z$XMLSEC_NO_MSCRYPTO" != "z1" ; then
+AC_CONFIG_FILES([include/xmlsec/mscrypto/Makefile src/mscrypto/Makefile])
+fi
+
+if test "z$XMLSEC_NO_CRYPTO_DYNAMIC_LOADING" = "z1" ; then
+(rm -f xmlsec1.pc && $LN_S xmlsec1-$XMLSEC_CRYPTO.pc xmlsec1.pc)
+else
+AC_CONFIG_FILES([xmlsec1.pc:xmlsec.pc.in])
+fi
+
+AC_CONFIG_FILES([
+include/xmlsec/version.h
+Makefile
+include/Makefile
+include/xmlsec/Makefile
+include/xmlsec/private/Makefile
+src/Makefile
+apps/Makefile
+docs/Makefile
+docs/api/Makefile
+man/Makefile
+
+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
+])
+AC_OUTPUT
+
+
+dnl COPYING should be in "srcdir" not in "builddir"
+(cd $srcdir && rm -f COPYING.LIB COPYING && $LN_S Copyright COPYING)