+# Thank you Solaris, really.
+AC_MSG_CHECKING(for ctime_r)
+ if test -z "$ac_cv_ctime_args"; then
+ AC_TRY_COMPILE(
+ [#include <time.h>],
+ [
+ time_t clock;
+ char buf[26];
+ ctime_r(&clock, buf);
+ ], ac_cv_ctime_args=2)
+
+ AC_TRY_COMPILE(
+ [#include <time.h>],
+ [
+ time_t clock;
+ char buf[26];
+ ctime_r(&clock, buf, 26);
+ ], ac_cv_ctime_args=3)
+ fi
+ if test -z "$ac_cv_ctime_args"; then
+ AC_MSG_RESULT(no)
+ else
+ if test "$ac_cv_ctime_args" = 2; then
+ AC_DEFINE(HAVE_CTIME_R_2,1,[Define if ctime_r is present with 2 parameters.])
+ elif test "$ac_cv_ctime_args" = 3; then
+ AC_DEFINE(HAVE_CTIME_R_3,1,[Define if ctime_r is present with 3 parameters.])
+ fi
+ AC_MSG_RESULT([yes, and it takes $ac_cv_ctime_args arguments])
+ 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
+ SSLFLAGS="-I${with_openssl}/include"
+ fi])
+
+if test "x$SSLFLAGS" = "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
+ SSLFLAGS="`$PKG_CONFIG --cflags openssl`"
+ else
+ AC_MSG_ERROR([OpenSSL not supported by pkg-config, try --with-openssl instead])
+ fi
+ fi
+fi
+
+AC_MSG_CHECKING(for OpenSSL cflags)
+AC_MSG_RESULT($SSLFLAGS)
+CPPFLAGS="$SSLFLAGS $CPPFLAGS"
+
+AC_CHECK_HEADER([openssl/x509.h],,
+ AC_MSG_ERROR([unable to find openssl header files]))
+
+AC_LANG(C++)
+
+# C++ requirements
+AC_CXX_REQUIRE_STL
+AC_CXX_NAMESPACES
+
+# log4shib settings (favor this version over the log4cpp code)
+AC_PATH_PROG(LOG4SHIB_CONFIG,log4shib-config)
+AC_ARG_WITH(log4shib,
+ AC_HELP_STRING([--with-log4shib=PATH], [where log4shib-config is installed]),
+ [
+ LOG4SHIB_CONFIG="${with_log4shib}"
+ if ! test -f "${LOG4SHIB_CONFIG}" ; then
+ LOG4SHIB_CONFIG="${with_log4shib}/bin/log4shib-config"
+ fi
+ ])
+if test -f "${LOG4SHIB_CONFIG}"; then
+ LDFLAGS="`${LOG4SHIB_CONFIG} --libs` $LDFLAGS"
+ 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/Category.hh>
+#include <log4shib/CategoryStream.hh>],
+ [log4shib::Category::getInstance("foo").errorStream() << log4shib::eol],
+ [AC_DEFINE(SHIBSP_LOG4SHIB,1,[Define if log4shib library is used.])],
+ [AC_MSG_ERROR([unable to link with log4shib])])
+else
+ AC_MSG_WARN([log4shib-config not found, may need to use --with-log4shib option])
+ AC_MSG_WARN([will look for original log4cpp library])
+
+ # log4cpp settings
+ AC_PATH_PROG(LOG4CPP_CONFIG,log4cpp-config)
+ AC_ARG_WITH(log4cpp,
+ AC_HELP_STRING([--with-log4cpp=PATH], [where log4cpp-config is installed]),
+ [
+ LOG4CPP_CONFIG="${with_log4cpp}"
+ if ! test -f "${LOG4CPP_CONFIG}" ; then
+ LOG4CPP_CONFIG="${with_log4cpp}/bin/log4cpp-config"
+ fi