AC_DEFUN([CHECK_DISTCACHE], [
AC_MSG_CHECKING(whether Distcache is required)
ap_ssltk_dc="no"
tmp_nomessage=""
tmp_forced="no"
AC_ARG_ENABLE(distcache,
APACHE_HELP_STRING(--enable-distcache,Select distcache support in mod_ssl),
ap_ssltk_dc="$enableval"
tmp_nomessage=""
tmp_forced="yes"
if test "x$ap_ssltk_dc" = "x"; then
ap_ssltk_dc="yes"
tmp_forced="no"
fi
if test "$ap_ssltk_dc" != "yes" -a "$ap_ssltk_dc" != "no"; then
tmp_nomessage="--enable-distcache had illegal syntax - disabling"
ap_ssltk_dc="no"
fi)
if test "$tmp_forced" = "no"; then
AC_MSG_RESULT($ap_ssltk_dc (default))
else
AC_MSG_RESULT($ap_ssltk_dc (specified))
fi
if test "$tmp_forced" = "yes" -a "x$ap_ssltk_dc" = "xno" -a "x$tmp_nomessage" != "x"; then
AC_MSG_ERROR(distcache support failed: $tmp_nomessage)
fi
if test "$ap_ssltk_dc" = "yes"; then
AC_CHECK_HEADER(
[distcache/dc_client.h],
[],
[tmp_nomessage="can't include distcache headers"
ap_ssltk_dc="no"])
if test "$tmp_forced" = "yes" -a "x$ap_ssltk_dc" = "xno"; then
AC_MSG_ERROR(distcache support failed: $tmp_nomessage)
fi
fi
if test "$ap_ssltk_dc" = "yes"; then
AC_MSG_CHECKING(for Distcache version)
AC_TRY_COMPILE(
[[[],
[tmp_nomessage="distcache has an unsupported API version"
ap_ssltk_dc="no"])
AC_MSG_RESULT($ap_ssltk_dc)
if test "$tmp_forced" = "yes" -a "x$ap_ssltk_dc" = "xno"; then
AC_MSG_ERROR(distcache support failed: $tmp_nomessage)
fi
fi
if test "$ap_ssltk_dc" = "yes"; then
AC_MSG_CHECKING(for Distcache libraries)
save_libs=$LIBS
LIBS="$LIBS -ldistcache -lnal"
AC_TRY_LINK(
[ [DC_CTX *foo = DC_CTX_new((const char *)0,0);],
[],
[tmp_no_message="failed to link with distcache libraries"
ap_ssltk_dc="no"])
LIBS=$save_libs
AC_MSG_RESULT($ap_ssltk_dc)
if test "$tmp_forced" = "yes" -a "x$ap_ssltk_dc" = "xno"; then
AC_MSG_ERROR(distcache support failed: $tmp_nomessage)
else
APR_ADDTO(MOD_SSL_LDADD, [-ldistcache -lnal])
AC_DEFINE(HAVE_DISTCACHE, 1, [Define if distcache support is enabled])
fi
fi
])
APACHE_MODPATH_INIT(ssl)
ssl_objs="mod_ssl.lo ssl_engine_config.lo ssl_engine_dh.lo ssl_engine_init.lo ssl_engine_io.lo ssl_engine_kernel.lo ssl_engine_log.lo ssl_engine_mutex.lo ssl_engine_pphrase.lo ssl_engine_rand.lo ssl_engine_vars.lo ssl_expr.lo ssl_expr_eval.lo ssl_expr_parse.lo ssl_expr_scan.lo ssl_scache.lo ssl_scache_dbm.lo ssl_scache_shmcb.lo ssl_scache_dc.lo ssl_util.lo ssl_util_ssl.lo "
APACHE_MODULE(ssl, [SSL/TLS support (mod_ssl)], $ssl_objs, , no, [
APACHE_CHECK_SSL_TOOLKIT
APR_SETVAR(MOD_SSL_LDADD, [\$(SSL_LIBS)])
CHECK_DISTCACHE
if test "x$enable_ssl" = "xshared"; then
APR_ADDTO(MOD_SSL_LDADD, [-export-symbols-regex ssl_module])
fi
])
APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/$modpath_current])
APACHE_MODPATH_FINISH