AC_CXX_NAMESPACES
# are covariant methods allowed?
-AC_TRY_LINK(
- [ class base { public: virtual base *GetPtr( void ) { return this; } }; ],
- [ class derived: virtual public base { public: virtual derived *GetPtr( void ) { return this; } }; ],
- [AC_DEFINE([HAVE_COVARIANT_RETURNS], [1], [Define to 1 if C++ compiler supports covariant virtual methods.])])
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[]],
+ [[
+ class base { public: virtual base *GetPtr( void ) { return this; } };
+ class derived: virtual public base { public: virtual derived *GetPtr( void ) { return this; } };
+ ]])],
+ [AC_DEFINE([HAVE_COVARIANT_RETURNS], [1], [Define to 1 if C++ compiler supports covariant virtual methods.])]
+ )
+
+# is nullptr supported?
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[]],
+ [[
+ const char* ptr = nullptr;
+ ]])],
+ [AC_DEFINE([HAVE_NULLPTR], [1], [Define to 1 if C++ compiler supports nullptr keyword.])]
+ )
# log4shib settings (favor this version over the log4cpp code)
AC_PATH_PROG(LOG4SHIB_CONFIG,log4shib-config)
[AC_DEFINE([XMLTOOLING_XERCESC_BOOLSETIDATTRIBUTE], [1], [Define to 1 if Xerces DOM ID methods take extra parameter.])],
[AC_MSG_RESULT([no])])
+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([XMLTOOLING_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,
AC_HELP_STRING([--with-xmlsec=PATH], [where xmlsec is installed]),,
AC_MSG_ERROR([unable to link with openssl libraries]))
AC_MSG_RESULT(yes)
+ AC_CHECK_DECL(EVP_sha512,
+ [AC_DEFINE(XMLTOOLING_OPENSSL_HAVE_SHA2)],
+ ,[#include <openssl/evp.h>])
+
# restore master libs
LIBS="$save_LIBS"
[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_TRY_COMPILE([#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 debug logging support])
+ AC_TRY_COMPILE([#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"