Add code paths for new xmlsec APIs, and allow for undetermined signature algorithm.
[shibboleth/cpp-xmltooling.git] / configure.ac
index 7caeb35..3c47dde 100644 (file)
@@ -1,11 +1,12 @@
 AC_PREREQ([2.50])
-AC_INIT([xmltooling], [1.2], [mace-opensaml-users@internet2.edu], [xmltooling])
+AC_INIT([xmltooling], [1.4], [mace-opensaml-users@internet2.edu], [xmltooling])
 AM_CONFIG_HEADER(config.h)
 AM_CONFIG_HEADER(xmltooling/config_pub.h)
-AM_INIT_AUTOMAKE([xmltooling], [1.2])
+AM_INIT_AUTOMAKE([xmltooling], [1.4])
 
 sinclude(doxygen.m4)
 sinclude(acx_pthread.m4)
+sinclude(ax_create_pkgconfig_info.m4)
 
 # Docygen features
 DX_HTML_FEATURE(ON)
@@ -233,7 +234,7 @@ if test x_$with_xmlsec != x_no; 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])
+                AC_MSG_WARN([OpenSSL not supported by pkg-config, try --with-openssl instead])
             fi
         fi
     fi
@@ -290,6 +291,20 @@ int i = 0;
             [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_TRY_COMPILE([#include <xsec/dsig/DSIGKeyInfoList.hpp>],
+          [DSIGKeyInfoList* 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_TRY_COMPILE([#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])])
+
        # restore master libs
        LIBS="$save_LIBS"
 
@@ -320,6 +335,7 @@ int i = 0;
        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])])
+    AC_CHECK_TYPE([curl_off_t],[AC_DEFINE([HAVE_CURL_OFF_T], [1], [Define to 1 if you have the 'curl_off_t' type.])])
 
        # restore master libs
        LIBS="$save_LIBS"
@@ -362,7 +378,11 @@ AC_SUBST(CXXTEST)
 AC_SUBST(CXXTESTFLAGS)
 AM_CONDITIONAL(BUILD_UNITTEST,test -f ${CXXTEST})
 
+AX_CREATE_PKGCONFIG_INFO(,,[$XMLSEC_LIBS -lxmltooling],[OpenSAML XMLTooling-C library])
+
 LIBTOOL="$LIBTOOL --silent"
 
-# output makefiles
-AC_OUTPUT(Makefile xmltooling/Makefile xmltoolingtest/Makefile schemas/Makefile doc/Makefile)
+# output packaging and makefiles
+AC_CONFIG_FILES([xmltooling.spec pkginfo Portfile])
+AC_CONFIG_FILES([Makefile xmltooling/Makefile xmltoolingtest/Makefile schemas/Makefile doc/Makefile])
+AC_OUTPUT