+
+ # restore master libs
+ LIBS="$save_LIBS"
+
+ AC_LANG(C)
+
+ # 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
+ CPPFLAGS="`${CURL_CONFIG} --cflags` $CPPFLAGS"
+ XMLSEC_LIBS="`${CURL_CONFIG} --libs` $XMLSEC_LIBS"
+ else
+ AC_MSG_ERROR([curl-config not found, may need to use --with-curl option])
+ fi
+
+ # save and append master libs
+ save_LIBS="$LIBS"
+ 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_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])])
+
+ # restore master libs
+ LIBS="$save_LIBS"
+
+ # OpenSSL settings
+ AC_ARG_WITH(openssl,
+ AC_HELP_STRING([--with-openssl=PATH], [where openssl is installed]),
+ [if test x_$with_openssl != x_/usr; then
+ SSLFLAGS="-I${with_openssl}/include"
+ SSLLIBS="-L${with_openssl}/lib -lcrypto -lssl"
+ 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 cflags)
+ AC_MSG_RESULT($SSLFLAGS)
+ CPPFLAGS="$CPPFLAGS $SSLFLAGS"
+ AC_MSG_CHECKING(for OpenSSL libraries)
+ AC_MSG_RESULT($SSLLIBS)
+ XMLSEC_LIBS="$XMLSEC_LIBS $SSLLIBS"
+
+ # save and append master libs
+ save_LIBS="$LIBS"
+ LIBS="$XMLSEC_LIBS $LIBS"
+
+ 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)
+
+ # restore master libs
+ LIBS="$save_LIBS"
+
+ AC_SUBST(XMLSEC_LIBS)
+
+ AC_LANG(C++)