- [AC_MSG_FAILURE([XML-Security version 1.3.1 or greater is required.])])
- AC_TRY_LINK(
- [#include <xsec/utils/XSECPlatformUtils.hpp>],
- [XSECPlatformUtils::Initialise()],,
- [AC_MSG_ERROR([unable to link with XML-Sec])])
-
- # restore master libs
- LIBS="$save_LIBS"
-
- AC_LANG(C)
-
- # libcurl settings
- AC_PATH_PROG(CURL_CONFIG,curl-config)
- AC_ARG_WITH(curl,
- AC_HELP_STRING([--with-curl=PATH], [where curl-config is installed]),
- [
- CURL_CONFIG="${with_curl}"
- if ! test -f "${CURL_CONFIG}" ; then
- CURL_CONFIG="${with_curl}/bin/curl-config"
- fi
- ])
- if test -f "${CURL_CONFIG}" ; then
- CPPFLAGS="`${CURL_CONFIG} --cflags` $CPPFLAGS"
- XMLSEC_LIBS="`${CURL_CONFIG} --libs` $XMLSEC_LIBS"
- else
- AC_MSG_ERROR([curl-config not found, may need to use --with-curl option])
- fi
-
- # save and append master libs
- save_LIBS="$LIBS"
- LIBS="$XMLSEC_LIBS $LIBS"
-
- AC_CHECK_HEADER([curl/curl.h],,AC_MSG_ERROR([unable to find libcurl header files]))
- AC_CHECK_LIB([curl],[curl_global_init],,AC_MSG_ERROR([unable to link with libcurl]))
- AC_MSG_CHECKING([for CURLOPT_SSL_CTX_FUNCTION in curl.h])
- AC_EGREP_HEADER([CURLOPT_SSL_CTX_FUNCTION], [curl/curl.h],
- [AC_MSG_RESULT(yes)],
- [AC_MSG_ERROR([need libcurl that supports CURLOPT_SSL_CTX_FUNCTION])])
-
- # restore master libs
- LIBS="$save_LIBS"
-
- # OpenSSL settings
- AC_ARG_WITH(openssl,
- AC_HELP_STRING([--with-openssl=PATH], [where openssl is installed]),
- [if test x_$with_openssl != x_/usr; then
- SSLFLAGS="-I${with_openssl}/include"
- SSLLIBS="-L${with_openssl}/lib -lcrypto -lssl"
- fi])
-
- if test "x$SSLLIBS" = "x" ; then
- AC_PATH_PROG(PKG_CONFIG, pkg-config)
- if test "x$PKG_CONFIG" != x && test "x$PKG_CONFIG" != "xno" ; then
- if pkg-config openssl ; then
- SSLLIBS="`$PKG_CONFIG --libs openssl`"
- SSLFLAGS="`$PKG_CONFIG --cflags openssl`"
- else
- AC_MSG_ERROR([OpenSSL not supported by pkg-config, try --with-openssl instead])
- fi
- fi
- fi
-
- if test "x$SSLLIBS" = "x" ; then
- SSLLIBS="-lcrypto -lssl"
- fi
-
- AC_MSG_CHECKING(for OpenSSL cflags)
- AC_MSG_RESULT($SSLFLAGS)
- CPPFLAGS="$CPPFLAGS $SSLFLAGS"
- AC_MSG_CHECKING(for OpenSSL libraries)
- AC_MSG_RESULT($SSLLIBS)
- XMLSEC_LIBS="$XMLSEC_LIBS $SSLLIBS"
-
- # save and append master libs
- save_LIBS="$LIBS"
- LIBS="$XMLSEC_LIBS $LIBS"
-
- AC_CHECK_HEADER([openssl/pem.h],,
- AC_MSG_ERROR([unable to find openssl header files]))
- AC_MSG_CHECKING(for ERR_load_CRYPTO_string)
- AC_TRY_LINK_FUNC([ERR_load_CRYPTO_strings],,
- AC_MSG_ERROR([unable to link with openssl libraries]))
- AC_MSG_RESULT(yes)
-
- # restore master libs
- LIBS="$save_LIBS"
+ [AC_MSG_FAILURE([XML-Security version 1.4.0 or greater is required.])])
+
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[#include <xsec/utils/XSECPlatformUtils.hpp>]],
+ [[XSECPlatformUtils::Initialise()]])],,
+ [AC_MSG_ERROR([unable to link with XML-Security])])
+ AC_CHECK_TYPE([xsecsize_t],[AC_DEFINE([HAVE_XSECSIZE_T],[1],[Define to 1 if you have the 'xsecsize_t' type.])])
+
+ AC_MSG_CHECKING([whether XML-Security-C has multiple CRL support])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <xsec/dsig/DSIGKeyInfoX509.hpp>]],
+ [[DSIGKeyInfoX509* klist; klist->getX509CRLListSize();]])],
+ [AC_MSG_RESULT([yes])AC_DEFINE([XMLTOOLING_XMLSEC_MULTIPLECRL],[1],[Define to 1 if XML-Security-C handles multiple CRLs.])],
+ [AC_MSG_RESULT([no])])
+
+ AC_MSG_CHECKING([whether XML-Security-C exposes the signature algorithm URI])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <xsec/dsig/DSIGSignature.hpp>]],
+ [[DSIGSignature* sig; sig->getAlgorithmURI();]])],
+ [AC_MSG_RESULT([yes])AC_DEFINE([XMLTOOLING_XMLSEC_SIGALGORITHM],[1],[Define to 1 if XML-Security-C exposes the signature algorithm URI.])],
+ [AC_MSG_RESULT([no])])
+
+ AC_MSG_CHECKING([whether XML-Security-C includes ECC support])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <xsec/dsig/DSIGKeyInfoValue.hpp>]],
+ [[DSIGKeyInfoValue* info; info->getECNamedCurve();]])],
+ [AC_MSG_RESULT([yes])AC_DEFINE([XMLTOOLING_XMLSEC_ECC],[1],[Define to 1 if XML-Security-C includes ECC support.])],
+ [AC_MSG_RESULT([no])])
+
+ AC_MSG_CHECKING([whether XML-Security-C includes C14N 1.1 support])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <xsec/dsig/DSIGConstants.hpp>]],
+ [[transformType t = TRANSFORM_C14N11;]])],
+ [AC_MSG_RESULT([yes])AC_DEFINE([XMLTOOLING_XMLSEC_C14N11],[1],[Define to 1 if XML-Security-C includes C14N 1.1 support.])],
+ [AC_MSG_RESULT([no])])
+
+ AC_MSG_CHECKING([whether XML-Security-C includes debug logging support])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <xsec/utils/XSECPlatformUtils.hpp>]],
+ [[XSECPlatformUtils::SetReferenceLoggingSink(NULL)]])],
+ [AC_MSG_RESULT([yes])AC_DEFINE([XMLTOOLING_XMLSEC_DEBUGLOGGING],[1],[Define to 1 if XML-Security-C includes debug logging support.])],
+ [AC_MSG_RESULT([no])])
+
+ # restore master libs
+ LIBS="$save_LIBS"
+
+ # libcurl settings
+ AC_PATH_PROG(CURL_CONFIG,curl-config)
+ AC_ARG_WITH(curl,
+ AS_HELP_STRING([--with-curl=PATH], [where curl-config is installed]),
+ [
+ CURL_CONFIG="${with_curl}"
+ if ! test -f "${CURL_CONFIG}" ; then
+ CURL_CONFIG="${with_curl}/bin/curl-config"
+ fi
+ ])
+ if test -f "${CURL_CONFIG}" ; then
+ CPPFLAGS="`${CURL_CONFIG} --cflags` $CPPFLAGS"
+ XMLSEC_LIBS="`${CURL_CONFIG} --libs` $XMLSEC_LIBS"
+ else
+ AC_MSG_ERROR([curl-config not found, may need to use --with-curl option])
+ fi