X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=configure.ac;h=b81dbb5146161efeec5c3a753683777906528d6b;hb=cd95965f6f68ac20a3c3ffcc09acdc0671f5a67a;hp=1f269d936a2fbca96e00e6feaa27f319d5740358;hpb=833244ddbb8c8150519915d5f67e789dcb588400;p=shibboleth%2Fcpp-xmltooling.git diff --git a/configure.ac b/configure.ac index 1f269d9..b81dbb5 100644 --- a/configure.ac +++ b/configure.ac @@ -53,7 +53,7 @@ AC_C_CONST AC_TYPE_SIZE_T # Checks for library functions. -AC_CHECK_FUNCS([strchr strdup strstr]) +AC_CHECK_FUNCS([strchr strdup strstr timegm strcasecmp]) AC_CHECK_HEADERS([dlfcn.h]) AC_CHECK_FUNC(dlclose, , [ AC_CHECK_LIB(dl, dlopen) ]) @@ -69,12 +69,80 @@ else CXXFLAGS="$PTHREAD_CFLAGS $CXXFLAGS" fi +# OpenSSL settings +AC_ARG_WITH(openssl, + AC_HELP_STRING([--with-openssl=PATH], [where openssl is installed]), + [if test x_$with_openssl != x_/usr; then + SSLLIBS="-L${with_openssl}/lib -lcrypto -lssl" + SSLFLAGS="-I${with_openssl}/include" + fi]) + +if test "x$SSLLIBS" = "x" ; then + AC_PATH_PROG(PKG_CONFIG, pkg-config) + if test "x$PKG_CONFIG" != x && test "x$PKG_CONFIG" != "xno" ; then + if pkg-config openssl ; 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]) + fi + fi +fi + +if test "x$SSLLIBS" = "x" ; then + SSLLIBS="-lcrypto -lssl" +fi + +AC_MSG_CHECKING(for OpenSSL libraries) +AC_MSG_RESULT($SSLLIBS) +LIBS="$LIBS $SSLLIBS" +AC_MSG_CHECKING(for OpenSSL cflags) +AC_MSG_RESULT($SSLFLAGS) +CPPFLAGS="$SSLFLAGS $CPPFLAGS" + +AC_CHECK_HEADER([openssl/pem.h],, + AC_MSG_ERROR([unable to find openssl header files])) +AC_MSG_CHECKING(for ERR_load_CRYPTO_string) +AC_TRY_LINK_FUNC([ERR_load_CRYPTO_strings],, + AC_MSG_ERROR([unable to link with openssl libraries])) +AC_MSG_RESULT(yes) + +# libcurl settings +AC_PATH_PROG(CURL_CONFIG,curl-config) +AC_ARG_WITH(curl, + AC_HELP_STRING([--with-curl=PATH], [where curl-config is installed]), + [ + CURL_CONFIG="${with_curl}" + if ! test -f "${CURL_CONFIG}" ; then + CURL_CONFIG="${with_curl}/bin/curl-config" + fi + ]) +if test -f "${CURL_CONFIG}" ; then + LDFLAGS="`${CURL_CONFIG} --libs` $LDFLAGS" + CPPFLAGS="`${CURL_CONFIG} --cflags` $CPPFLAGS" +else + AC_MSG_ERROR([curl-config not found, may need to use --with-curl option]) +fi +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_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_LANG(C++) # C++ requirements AC_CXX_REQUIRE_STL 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 if C++ compiler supports covariant virtual methods.])]) + # log4cpp settings AC_PATH_PROG(LOG4CPP_CONFIG,log4cpp-config) AC_ARG_WITH(log4cpp,