AC_PREREQ([2.50])
-AC_INIT([opensaml], [2.0], [mace-opensaml-users@internet2.edu], [saml])
+AC_INIT([opensaml], [2.4], [mace-opensaml-users@internet2.edu], [saml])
AM_CONFIG_HEADER(config.h)
-#AM_CONFIG_HEADER(saml/config_pub.h)
-AM_INIT_AUTOMAKE([opensaml], [2.0])
+AM_INIT_AUTOMAKE([opensaml], [2.4])
sinclude(doxygen.m4)
sinclude(acx_pthread.m4)
+sinclude(ax_create_pkgconfig_info.m4)
# Docygen features
DX_HTML_FEATURE(ON)
if pkg-config openssl ; then
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
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(
- [#include <log4shib/CategoryStream.hh>],
+ [#include <log4shib/Category.hh>
+#include <log4shib/CategoryStream.hh>],
[log4shib::Category::getInstance("foo").errorStream() << log4shib::eol],
[AC_DEFINE(OPENSAML_LOG4SHIB,1,[Define if log4shib library is used.])],
[AC_MSG_ERROR([unable to link with log4shib])])
])
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(
- [#include <log4cpp/CategoryStream.hh>],
+ [#include <log4cpp/Category.hh>
+#include <log4cpp/CategoryStream.hh>],
[log4cpp::Category::getInstance("foo").errorStream() << log4cpp::eol],
[AC_DEFINE(OPENSAML_LOG4CPP,1,[Define if log4cpp library is used.])],
[AC_MSG_ERROR([unable to link with log4cpp, need version 1.0 or later])])
[AC_DEFINE(HAVE_LIBXERCESC,1,[Define if Xerces-C library was found])],
[AC_MSG_ERROR([unable to link with Xerces])])
+AC_MSG_CHECKING([whether Xerces XMLString::release(XMLByte**) exists])
+AC_TRY_COMPILE([#include <xercesc/util/XMLString.hpp>],
+ [using namespace XERCES_CPP_NAMESPACE;
+ XMLByte* buf=NULL;
+ XMLString::release(&buf);
+ ],
+ [AC_MSG_RESULT([yes])]
+ [AC_DEFINE([OPENSAML_XERCESC_HAS_XMLBYTE_RELEASE], [1], [Define to 1 if Xerces XMLString includes XMLByte release.])],
+ [AC_MSG_RESULT([no])])
# XML-Security settings
AC_ARG_WITH(xmlsec,
fi])
LIBS="-lxmltooling $LIBS"
AC_CHECK_HEADER([xmltooling/XMLToolingConfig.h],,AC_MSG_ERROR([unable to find xmltooling header files]))
-AC_TRY_LINK(
- [#include <xmltooling/XMLToolingConfig.h>],
- [xmltooling::XMLToolingConfig::getConfig().init()],
- [AC_DEFINE(HAVE_LIBXMLTOOLING,1,[Define if XML-Tooling library was found])],
- [AC_MSG_ERROR([unable to link with xmltooling library])]
- )
-# Does the STL in use help or screw us?
AC_TRY_LINK(
- [#include <string>],
- [std::basic_string<unsigned short> foo; foo=foo+(unsigned short)65],
- [AC_DEFINE(HAVE_GOOD_STL,1,
- [Define if you have an STL implementation that supports useful string specialization.])],
- )
+ [
+#include <xmltooling/XMLToolingConfig.h>
+#include <xmltooling/version.h>
+ ],
+ [
+#if _XMLTOOLING_VERSION >= 10400
+xmltooling::XMLToolingConfig::getConfig();
+#else
+#error Need XMLTooling version 1.4 or higher
+#endif
+ ],
+ [AC_DEFINE(HAVE_XMLTOOLING,1,[Define if xmltooling library was found])],
+ [AC_MSG_ERROR([unable to link with XMLTooling, or version was too old])])
# Check for unit test support
CXXTEST="/usr/bin/cxxtestgen.pl"
AC_SUBST(CXXTESTFLAGS)
AM_CONDITIONAL(BUILD_UNITTEST,test -f ${CXXTEST})
+AX_CREATE_PKGCONFIG_INFO(,,[$LIBS -lsaml],[OpenSAML library])
+
AC_SUBST(DX_INCLUDE)
LIBTOOL="$LIBTOOL --silent"
-# output makefiles
-AC_OUTPUT(Makefile saml/Makefile samltest/Makefile samlsign/Makefile schemas/Makefile doc/Makefile)
+# output packaging and makefiles
+AC_CONFIG_FILES([opensaml.spec pkginfo Portfile])
+AC_CONFIG_FILES([Makefile saml/Makefile samltest/Makefile samlsign/Makefile schemas/Makefile doc/Makefile])
+AC_OUTPUT