X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-xmltooling.git;a=blobdiff_plain;f=configure.ac;h=35938e2829f9834795b3867493fc906e99ed5146;hp=9c714c64ee82136c8494ec73d9e9292f7f73e3e7;hb=HEAD;hpb=4965c68fcd1c72f00ac8f84a173516e292b3942c diff --git a/configure.ac b/configure.ac index 9c714c6..35938e2 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,12 @@ # Process this file with autoreconf -AC_PREREQ([2.67]) -AC_INIT([xmltooling],[1.4],[https://bugs.internet2.edu/],[xmltooling]) +AC_PREREQ([2.50]) +AC_INIT([xmltooling],[1.5.6],[https://issues.shibboleth.net/],[xmltooling]) AC_CONFIG_SRCDIR(xmltooling) AC_CONFIG_AUX_DIR(build-aux) AC_CONFIG_MACRO_DIR(m4) AM_INIT_AUTOMAKE -LT_INIT +AC_DISABLE_STATIC +AC_PROG_LIBTOOL # Docygen features DX_HTML_FEATURE(ON) @@ -31,12 +32,11 @@ else fi AC_CONFIG_HEADERS([config.h xmltooling/config_pub.h]) -AC_CONFIG_FILES([xmltooling.spec pkginfo Portfile]) +AC_CONFIG_FILES([xmltooling.spec]) AC_CONFIG_FILES([Makefile xmltooling/Makefile xmltoolingtest/Makefile schemas/Makefile doc/Makefile]) AC_PROG_CC([gcc gcc3 cc]) AC_PROG_CXX([g++ g++3 c++ CC]) -AC_DISABLE_STATIC AC_CANONICAL_HOST if test "$GCC" = "yes" ; then @@ -49,24 +49,26 @@ if test "$GCC" = "yes" ; then # ]) CFLAGS="-Wall $GCC_CFLAGS" CXXFLAGS="-Wall $GCC_CXXFLAGS" -else -# Fix for Sun Workshop compiler in debug mode, may be Sun case #6360993 - case "${host_cpu}-${host_os}" in - *solaris*) - if test "$CXX" = "CC" ; then - CXXFLAGS="$CXXFLAGS -Qoption ccfe -stabs=no%dfltlit+no%dflthlp" - fi - ;; - esac fi +# Fix for Sun Workshop compiler in debug mode, may be Sun case #6360993 +# Also enables POSIX semantics for some functions. +case "${host_cpu}-${host_os}" in + *solaris*) + CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS" + CXXFLAGS="$CXXFLAGS -D_POSIX_PTHREAD_SEMANTICS" + if test "$CXX" = "CC" ; then + CXXFLAGS="$CXXFLAGS -Qoption ccfe -stabs=no%dfltlit+no%dflthlp" + fi + ;; +esac + # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T -AC_CHECK_SIZEOF([long]) # Checks for library functions. -AC_CHECK_FUNCS([strchr strdup strstr timegm strcasecmp]) +AC_CHECK_FUNCS([strchr strdup strstr timegm gmtime_r strcasecmp]) AC_CHECK_HEADERS([dlfcn.h]) AC_CHECK_FUNC(dlclose, , [ AC_CHECK_LIB(dl, dlopen) ]) @@ -84,11 +86,22 @@ fi AC_CHECK_FUNCS([pthread_rwlock_init]) -AC_LANG(C++) +AC_LANG([C++]) # C++ requirements -AC_CXX_REQUIRE_STL AC_CXX_NAMESPACES +AC_CXX_REQUIRE_STL + +# Boost +BOOST_REQUIRE +BOOST_BIND +BOOST_CONVERSION +BOOST_LAMBDA +BOOST_POINTER_CONTAINER +BOOST_SMART_PTR +BOOST_STRING_ALGO +BOOST_TOKENIZER +CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS" # are covariant methods allowed? AC_LINK_IFELSE( @@ -155,13 +168,16 @@ else fi # Xerces settings -AC_ARG_WITH(xerces, - AS_HELP_STRING([--with-xerces=PATH], [where xerces-c is installed]), - [if test x_$with_xerces != x_/usr; then - LDFLAGS="-L${with_xerces}/lib $LDFLAGS" - CPPFLAGS="-I${with_xerces}/include $CPPFLAGS" - fi]) -LIBS="-lxerces-c $LIBS" +AC_ARG_WITH(xerces, + AS_HELP_STRING([--with-xerces=PATH],[where xerces-c is installed]),, + [with_xerces=/usr]) +if test x_$with_xerces != x_/usr; then + CPPFLAGS="-I${with_xerces}/include $CPPFLAGS" + LIBS="-L${with_xerces}/lib -lxerces-c $LIBS" +else + LIBS="-lxerces-c $LIBS" +fi + AC_CHECK_HEADER([xercesc/dom/DOM.hpp],,AC_MSG_ERROR([unable to find xerces header files])) AC_MSG_CHECKING([Xerces version]) AC_PREPROC_IFELSE( @@ -267,15 +283,19 @@ if test x_$with_xmlsec != x_no; then AC_CHECK_DECL(EVP_sha512, [AC_DEFINE([XMLTOOLING_OPENSSL_HAVE_SHA2],[1],[Define to 1 if OpenSSL supports the SHA-2 hash family.])], ,[#include ]) + AC_CHECK_DECL(EVP_PKEY_set1_EC_KEY, + [AC_DEFINE([XMLTOOLING_OPENSSL_HAVE_EC],[1],[Define to 1 if OpenSSL has EC support.])], + ,[#include ]) # restore master libs LIBS="$save_LIBS" if test x_$with_xmlsec != x_/usr; then CPPFLAGS="-I${with_xmlsec}/include $CPPFLAGS" - LDFLAGS="-L${with_xmlsec}/lib $LDFLAGS" - fi - XMLSEC_LIBS="$XMLSEC_LIBS -lxml-security-c" + XMLSEC_LIBS="-L${with_xmlsec}/lib -lxml-security-c $XMLSEC_LIBS" + else + XMLSEC_LIBS="-lxml-security-c $XMLSEC_LIBS" + fi # save and append master libs save_LIBS="$LIBS" @@ -301,8 +321,8 @@ int i = 0; AC_MSG_CHECKING([whether XML-Security-C has multiple CRL support]) AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[DSIGKeyInfoList* klist; klist->getX509CRLListSize();]])], + [AC_LANG_PROGRAM([[#include ]], + [[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])]) @@ -320,6 +340,13 @@ int i = 0; [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 ]], + [[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 ]], @@ -352,12 +379,15 @@ int i = 0; 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_LINK_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[curl_global_init(CURL_GLOBAL_ALL)]])],, + [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])]) - AC_CHECK_TYPE([curl_off_t],[AC_DEFINE([HAVE_CURL_OFF_T],[1],[Define to 1 if you have the 'curl_off_t' type.])]) + AC_CHECK_TYPE([curl_off_t],[AC_DEFINE([HAVE_CURL_OFF_T],[1],[Define to 1 if you have the 'curl_off_t' type.])],,[[#include ]]) # restore master libs LIBS="$save_LIBS"