Attempt to fix SUSE 11.2 build by reordering lib flags in log4shib test.
[shibboleth/cpp-xmltooling.git] / configure.ac
index c790226..2a6b6c6 100644 (file)
@@ -1,11 +1,12 @@
 AC_PREREQ([2.50])
-AC_INIT([xmltooling], [1.2.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.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)
@@ -105,7 +106,7 @@ AC_ARG_WITH(log4shib,
     fi
     ])
 if test -f "${LOG4SHIB_CONFIG}"; then
-    LDFLAGS="`${LOG4SHIB_CONFIG} --libs` $LDFLAGS"
+    LIBS="`${LOG4SHIB_CONFIG} --libs` $LIBS"
     CPPFLAGS="`${LOG4SHIB_CONFIG} --cflags` $CPPFLAGS"
        AC_CHECK_HEADER([log4shib/CategoryStream.hh],,AC_MSG_ERROR([unable to find log4shib header files]))
        AC_TRY_LINK(
@@ -130,7 +131,7 @@ else
            ])
        if test -f "${LOG4CPP_CONFIG}"; then
                AC_MSG_WARN([will try to use log4cpp, note that most non-Internet2 supplied versions are not thread-safe])
-           LDFLAGS="`${LOG4CPP_CONFIG} --libs` $LDFLAGS"
+           LIBS="`${LOG4CPP_CONFIG} --libs` $LIBS"
            CPPFLAGS="`${LOG4CPP_CONFIG} --cflags` $CPPFLAGS"
                AC_CHECK_HEADER([log4cpp/CategoryStream.hh],,AC_MSG_ERROR([unable to find log4cpp header files]))
                AC_TRY_LINK(
@@ -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,6 +378,8 @@ 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 packaging and makefiles