acinclude.m4 revision 292707b9868335763d6f2bb74a263134eeeb8cad
5fbced719b71e659322b4ce3e4a39c9b039674c7Bob Halleydnl APACHE_HELP_STRING(LHS, RHS)
28b14c4e69aaa4f284218ad3b47ef09e37599318Mark Andrewsdnl Autoconf 2.50 can not handle substr correctly. It does have
499b34cea04a46823d003d4c0520c8b03e8513cbBrian Wellingtondnl AC_HELP_STRING, so let's try to call it if we can.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl Note: this define must be on one line so that it can be properly returned
599a98b25ca10c501bdf3368eab2a2a951130949Mark Andrewsdnl as the help string.
5fbced719b71e659322b4ce3e4a39c9b039674c7Bob HalleyAC_DEFUN(APACHE_HELP_STRING,[ifelse(regexp(AC_ACVERSION, 2\.1), -1, AC_HELP_STRING($1,$2),[ ]$1 substr([ ],len($1))$2)])dnl
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl APACHE_SUBST(VARIABLE)
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrewsdnl Makes VARIABLE available in generated files
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrewsdnl (do not use @variable@ in Makefiles, but $(variable))
dafcb997e390efa4423883dafd100c975c4095d6Mark AndrewsAC_DEFUN(APACHE_SUBST,[
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews APACHE_VAR_SUBST="$APACHE_VAR_SUBST $1"
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews AC_SUBST($1)
15a44745412679c30a6d022733925af70a38b715David Lawrencednl APACHE_FAST_OUTPUT(FILENAME)
144a3203a6e1827d78fb046e92b15ece82e6e378Mark Andrewsdnl Perform substitutions on FILENAME (Makefiles only)
e85ffb301b294d70ddc1d90234788403666bb944David LawrenceAC_DEFUN(APACHE_FAST_OUTPUT,[
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES $1"
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafssondnl APACHE_GEN_CONFIG_VARS
2da2220fe7af2c45724b50b0187523b1fab0cf08Rob AusteinAC_DEFUN(APACHE_GEN_CONFIG_VARS,[
2da2220fe7af2c45724b50b0187523b1fab0cf08Rob Austein APACHE_SUBST(abs_srcdir)
2da2220fe7af2c45724b50b0187523b1fab0cf08Rob Austein APACHE_SUBST(bindir)
2da2220fe7af2c45724b50b0187523b1fab0cf08Rob Austein APACHE_SUBST(sbindir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(cgidir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(logfiledir)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(exec_prefix)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(datadir)
cb3e854e181373807f7f011e5050c1a8013b4841Brian Wellington APACHE_SUBST(localstatedir)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(mandir)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(libdir)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(libexecdir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(htdocsdir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(manualdir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(includedir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(errordir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(iconsdir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(sysconfdir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(installbuilddir)
6ca4964362ec37d6afbf614dbb9aaa2f525002f1Mark Andrews APACHE_SUBST(runtimedir)
c968a9ca37964ae0bdc5d452ad784ec93bd04c57David Lawrence APACHE_SUBST(proxycachedir)
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson APACHE_SUBST(other_targets)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(progname)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(prefix)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(AWK)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(CC)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_SUBST(CPP)
b897c52f865b2fc4e220e2110b874e59c716456bBob Halley APACHE_SUBST(CXX)
b897c52f865b2fc4e220e2110b874e59c716456bBob Halley APACHE_SUBST(CPPFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(CFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(CXXFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(LTFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(LDFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(LT_LDFLAGS)
b897c52f865b2fc4e220e2110b874e59c716456bBob Halley APACHE_SUBST(SH_LDFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(HTTPD_LDFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(UTIL_LDFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(LIBS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(DEFS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(INCLUDES)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(NOTEST_CPPFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(NOTEST_CFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(NOTEST_CXXFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(NOTEST_LDFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(NOTEST_LIBS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(EXTRA_CPPFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(EXTRA_CFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(EXTRA_CXXFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(EXTRA_LDFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(EXTRA_LIBS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(EXTRA_INCLUDES)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(INTERNAL_CPPFLAGS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(LIBTOOL)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(SHELL)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(RSYNC)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(MODULE_DIRS)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(MODULE_CLEANDIRS)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(PORT)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(SSLPORT)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(CORE_IMPLIB_FILE)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(CORE_IMPLIB)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(SH_LIBS)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(SH_LIBTOOL)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(MK_IMPLIB)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(MKDEP)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(INSTALL_PROG_FLAGS)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(DSO_MODULES)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(APR_BINDIR)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(APR_INCLUDEDIR)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(APR_VERSION)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(APR_CONFIG)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(APU_BINDIR)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(APU_INCLUDEDIR)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(APU_VERSION)
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews APACHE_SUBST(APU_CONFIG)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews abs_srcdir="`(cd $srcdir && pwd)`"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence test -d build || $mkdir_p build
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence for i in $APACHE_VAR_SUBST; do
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence eval echo "$i = \$$i" >> build/config_vars.mk
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdnl APACHE_GEN_MAKEFILES
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdnl Creates Makefiles
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsAC_DEFUN(APACHE_GEN_MAKEFILES,[
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $APACHE_FAST_OUTPUT_FILES
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdnl ## APACHE_OUTPUT(file)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdnl ## adds "file" to the list of files generated by AC_OUTPUT
f6161d8b90541b52946ae845bc8e2bec2647d6cbMark Andrewsdnl ## This macro can be used several times.
5bae12051f80947fb9a5a6a3a54762e8bd08d95bMark AndrewsAC_DEFUN(APACHE_OUTPUT, [
f6161d8b90541b52946ae845bc8e2bec2647d6cbMark Andrews APACHE_OUTPUT_FILES="$APACHE_OUTPUT_FILES $1"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdnl APACHE_TYPE_RLIM_T
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdnl If rlim_t is not defined, define it to int
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsAC_DEFUN(APACHE_TYPE_RLIM_T, [
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews AC_CACHE_CHECK([for rlim_t], ac_cv_type_rlim_t, [
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews AC_TRY_COMPILE([
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence], [rlim_t spoon;], [
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence ac_cv_type_rlim_t=yes
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence ],[ac_cv_type_rlim_t=no
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test "$ac_cv_type_rlim_t" = "no" ; then
4e71e9b6c86d4d437c1beb4070861a77464f98e6Andreas Gustafsson AC_DEFINE(rlim_t, int,
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence [Define to 'int' if <sys/resource.h> doesn't define it for us])
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl APACHE_MODPATH_INIT(modpath)
5a48c9f76003a649e16de34fe6206e3b67b97afbBob HalleyAC_DEFUN(APACHE_MODPATH_INIT,[
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence current_dir=$1
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence modpath_current=modules/$1
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence modpath_static=
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence modpath_shared=
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence test -d $1 || $srcdir/build/mkdir.sh $modpath_current
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid LawrenceAC_DEFUN(APACHE_MODPATH_FINISH,[
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk
2da2220fe7af2c45724b50b0187523b1fab0cf08Rob Austein echo "static = $modpath_static" >> $modpath_current/modules.mk
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence echo "shared = $modpath_shared" >> $modpath_current/modules.mk
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then
1fa26403d7679235a30fbf6289f68fed5872df30Mark Andrews MODULE_DIRS="$MODULE_DIRS $current_dir"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence MODULE_CLEANDIRS="$MODULE_CLEANDIRS $current_dir"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_FAST_OUTPUT($modpath_current/Makefile)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl APACHE_MODPATH_ADD(name[, shared[, objects [, ldflags[, libs]]]])
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid LawrenceAC_DEFUN(APACHE_MODPATH_ADD,[
5a48c9f76003a649e16de34fe6206e3b67b97afbBob Halley if test -z "$3"; then
5a48c9f76003a649e16de34fe6206e3b67b97afbBob Halley objects="mod_$1.lo"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test -z "$module_standalone"; then
4b598d8ae578861d5f3fc1333c9f84c9c9c8be7cDavid Lawrence if test -z "$2"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence # The filename of a convenience library must have a "lib" prefix:
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence libname="libmod_$1.la"
4b598d8ae578861d5f3fc1333c9f84c9c9c8be7cDavid Lawrence BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence modpath_static="$modpath_static $libname"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence$libname: $objects
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence \$(MOD_LINK) $objects $5
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test ! -z "$5"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APR_ADDTO(AP_LIBS, [$5])
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence apache_need_shared=yes
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence libname="mod_$1.la"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence modpath_shared="$modpath_shared $libname"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence$libname: $shobjects
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl APACHE_MPM_MODULE(name[, shared[, objects[, config[, path[, libs]]]]])
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl Provide information for building the MPM. (Enablement is handled using
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl --with-mpm/--enable-mpms-shared.)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl name -- name of MPM, same as MPM directory name
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl shared -- "shared" to indicate shared module build, empty string otherwise
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl objects -- one or more .lo files to link into the MPM module (default: mpmname.lo)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl config -- configuration logic to run if the MPM is enabled
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl path -- relative path to MPM (default: server/mpm/mpmname)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl libs -- libs needed by this MPM
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid LawrenceAC_DEFUN(APACHE_MPM_MODULE,[
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if ap_mpm_is_enabled $1; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test -z "$3"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test -z "$5"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl VPATH support
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence test -d $mpmpath || $srcdir/build/mkdir.sh $mpmpath
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_FAST_OUTPUT($mpmpath/Makefile)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test -z "$2"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APR_ADDTO(AP_LIBS, [$6])
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence libname="lib$1.la"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence$libname: $objects
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence \$(MOD_LINK) $objects
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid LawrenceDISTCLEAN_TARGETS = modules.mk
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencestatic = $libname
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence apache_need_shared=yes
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence libname="mod_mpm_$1.la"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
6292befae7d18aa1918c958d284dec4957ea31c3Mark Andrews$libname: $shobjects
3d17258ff6c22bee15e3197d0e61a7ecaba7ed86Mark Andrews \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $objects $6
8959ca20706f210127d0af1df769fb945c92baeaMark AndrewsDISTCLEAN_TARGETS = modules.mk
8959ca20706f210127d0af1df769fb945c92baeaMark Andrewsshared = $libname
3d17258ff6c22bee15e3197d0e61a7ecaba7ed86Mark Andrews # add default MPM to LoadModule list
3d17258ff6c22bee15e3197d0e61a7ecaba7ed86Mark Andrews if test $1 = $default_mpm; then
3d17258ff6c22bee15e3197d0e61a7ecaba7ed86Mark Andrews DSO_MODULES="$DSO_MODULES mpm_$1"
797d71e5bfaae7cc93ee53907bb988741931928eMark Andrewsdnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]])
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl default is one of:
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl yes -- enabled by default. user must explicitly disable.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl no -- disabled under default, most, all. user must explicitly enable.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl most -- disabled by default. enabled explicitly or with most or all.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl static -- enabled as static by default, must be explicitly changed.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl "" -- disabled under default, most. enabled explicitly or with all.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl XXX: The arg must really be empty here. Passing an empty shell
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl XXX: variable doesn't work for some reason. This should be
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl XXX: fixed.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl basically: yes/no is a hard setting. "most" means follow the "most"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl setting. otherwise, fall under the "all" setting.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl explicit yes/no always overrides, except if the user selects
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrencednl "reallyall".
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid LawrenceAC_DEFUN(APACHE_MODULE,[
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence AC_MSG_CHECKING(whether to enable mod_$1)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence define([optname],[--]ifelse($5,yes,disable,enable)[-]translit($1,_,-))dnl
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence AC_ARG_ENABLE(translit($1,_,-),APACHE_HELP_STRING(optname(),$2),,enable_$1=ifelse($5,,maybe-all,$5))
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence undefine([optname])dnl
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence _apmod_extra_msg=""
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl When --enable-modules=most or --enable-modules=(really)all is set and the
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl module was not explicitly requested, allow a module to disable itself if
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl its pre-reqs fail.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl XXX: Todo: Allow to disable specific modules even with "reallyall".
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence case "$enable_$1" in
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence yes|static|shared)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence _apmod_error_fatal="yes"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence case "$module_selection" in
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence reallyall|all|most)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence _apmod_error_fatal="no"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence _apmod_error_fatal="yes"
4b598d8ae578861d5f3fc1333c9f84c9c9c8be7cDavid Lawrence if test "$enable_$1" = "static"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence enable_$1=static
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson elif test "$enable_$1" = "yes"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence enable_$1=$module_default
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence elif test "$enable_$1" = "most"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test "$module_selection" = "most" -o "$module_selection" = "all" -o \
5a6e6c2c9b2f6cf426aa2a682aa800765e26d540Andreas Gustafsson "$module_selection" = "reallyall"
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews enable_$1=$module_default
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews elif test "$module_selection" = "few" -o "$module_selection" = "none"; then
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews enable_$1=no
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews _apmod_extra_msg=" ($module_selection)"
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews elif test "$enable_$1" = "maybe-all"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test "$module_selection" = "all" -o "$module_selection" = "reallyall"
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews enable_$1=$module_default
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews _apmod_extra_msg=" ($module_selection)"
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews enable_$1=no
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews elif test "$enable_$1" = "no" -a "$module_selection" = "reallyall"; then
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews enable_$1=$module_default
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews _apmod_extra_msg=" ($module_selection)"
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews if test "$enable_$1" != "no"; then
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews dnl If we plan to enable it, allow the module to run some autoconf magic
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews dnl that may disable it because of missing dependencies.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews ifelse([$6],,:,[AC_MSG_RESULT([checking dependencies])
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews AC_MSG_CHECKING(whether to enable mod_$1)
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews if test "$enable_$1" = "no"; then
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews if test "$_apmod_error_fatal" = "no"; then
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews _apmod_extra_msg=" (disabled)"
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews AC_MSG_ERROR([mod_$1 has been requested but can not be built due to prerequisite failures])
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews if test "$enable_$1" != "no"; then
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews case "$enable_$1" in
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews MODLIST="$MODLIST ifelse($4,,$1,$4)"
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews if test "$1" = "so"; then
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews sharedobjs=yes
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews enable_$1=`echo $enable_$1|sed 's/shared,*//'`
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews sharedobjs=yes
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews DSO_MODULES="$DSO_MODULES $1"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews define([modprefix], [MOD_]translit($1, [a-z-], [A-Z_]))
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_MODPATH_ADD($1, $shared, $3,, [\$(]modprefix[_LDADD)])
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews APACHE_SUBST(modprefix[_LDADD])
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews undefine([modprefix])
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrewsdnl APACHE_ENABLE_MODULES
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark AndrewsAC_DEFUN(APACHE_ENABLE_MODULES,[
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews module_selection=most
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews module_default=shared
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews dnl Check whether we have DSO support.
7d5dd6b570812327bcd1ada96a5065e22d0981e5Mark Andrews dnl If "yes", we build shared modules by default.
7d5dd6b570812327bcd1ada96a5065e22d0981e5Mark Andrews APR_CHECK_APR_DEFINE(APR_HAS_DSO)
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews if test $ac_cv_define_APR_HAS_DSO = "no"; then
144a3203a6e1827d78fb046e92b15ece82e6e378Mark Andrews AC_MSG_WARN([Missing DSO support - building static modules by default.])
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence module_default=static
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence AC_ARG_ENABLE(modules,
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence APACHE_HELP_STRING(--enable-modules=MODULE-LIST,Space-separated list of modules to enable | "all" | "most" | "few" | "none" | "reallyall"),[
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test "$enableval" = "none"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence module_default=no
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence module_selection=none
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence for i in $enableval; do
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews module_selection=$i
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence i=`echo $i | sed 's/-/_/g'`
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence eval "enable_$i=shared"
541ed6feaf687e97990ad19748faeec744158559David Lawrence AC_ARG_ENABLE(mods-shared,
599a98b25ca10c501bdf3368eab2a2a951130949Mark Andrews APACHE_HELP_STRING(--enable-mods-shared=MODULE-LIST,Space-separated list of shared modules to enable | "all" | "most" | "few" | "reallyall"),[
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence for i in $enableval; do
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence module_selection=$i
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence module_default=shared
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews i=`echo $i | sed 's/-/_/g'`
0295f63b67bb09cd4d00dd1d9c2238c37beefed8Mark Andrews eval "enable_$i=shared"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence AC_ARG_ENABLE(mods-static,
599a98b25ca10c501bdf3368eab2a2a951130949Mark Andrews APACHE_HELP_STRING(--enable-mods-static=MODULE-LIST,Space-separated list of static modules to enable | "all" | "most" | "few" | "reallyall"),[
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence for i in $enableval; do
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence module_selection=$i
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence module_default=static
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence i=`echo $i | sed 's/-/_/g'`
541ed6feaf687e97990ad19748faeec744158559David Lawrence eval "enable_$i=static"
c968a9ca37964ae0bdc5d452ad784ec93bd04c57David LawrenceAC_DEFUN(APACHE_REQUIRE_CXX,[
c968a9ca37964ae0bdc5d452ad784ec93bd04c57David Lawrence if test -z "$apache_cxx_done"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence AC_PROG_CXXCPP
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence apache_cxx_done=yes
10e873cb368b0ed17a328e5421a0411eb90da0cbMark Andrewsdnl APACHE_CHECK_OPENSSL
10e873cb368b0ed17a328e5421a0411eb90da0cbMark Andrewsdnl Configure for OpenSSL, giving preference to
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrewsdnl "--with-ssl=<path>" if it was specified.
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark AndrewsAC_DEFUN(APACHE_CHECK_OPENSSL,[
c61c6db1cea02006815184845fcf1b633b28163dMark Andrews AC_CACHE_CHECK([for OpenSSL], [ac_cv_openssl], [
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews dnl initialise the variables we use
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews ac_cv_openssl=no
b2e221a37027fd6b909894451a29366162c91d7eMark Andrews ap_openssl_found=""
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews ap_openssl_base=""
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews ap_openssl_libs=""
e107074f370ee86275bd64ab8bcaa429fec1c7e2Mark Andrews dnl Determine the OpenSSL base directory, if any
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence AC_MSG_CHECKING([for user-provided OpenSSL base directory])
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=DIR,OpenSSL base directory), [
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl If --with-ssl specifies a directory, we use that directory
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test "x$withval" != "xyes" -a "x$withval" != "x"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl This ensures $withval is actually a directory and that it is absolute
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence ap_openssl_base="`cd $withval ; pwd`"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test "x$ap_openssl_base" = "x"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence AC_MSG_RESULT(none)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence AC_MSG_RESULT($ap_openssl_base)
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl Run header and version checks
34158349b49add1ad63eede5ab7e694c589eb3cdMark Andrews saved_CPPFLAGS="$CPPFLAGS"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence saved_LIBS="$LIBS"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence saved_LDFLAGS="$LDFLAGS"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl Before doing anything else, load in pkg-config variables
541ed6feaf687e97990ad19748faeec744158559David Lawrence if test -n "$PKGCONFIG"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test "x$ap_openssl_base" != "x" -a \
541ed6feaf687e97990ad19748faeec744158559David Lawrence -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl Ensure that the given path is used by pkg-config too, otherwise
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence dnl the system openssl.pc might be picked up instead.
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence export PKG_CONFIG_PATH
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence ap_openssl_libs="`$PKGCONFIG --libs-only-l openssl 2>&1`"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence if test $? -eq 0; then
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence ap_openssl_found="yes"
f4a7d04843eb62c92f2d4ff338da49ae86e3279bDavid Lawrence pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
b897c52f865b2fc4e220e2110b874e59c716456bBob Halley APR_ADDTO(CPPFLAGS, [$pkglookup])
APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
APR_ADDTO(INCLUDES, [-I$ap_openssl_base/include])
APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
APR_ADDTO(SSL_LIBS, [-L$ap_openssl_base/lib])
APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
APR_ADDTO(SSL_LIBS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
AC_TRY_COMPILE([#include <openssl/opensslv.h>],[
AC_CHECK_HEADERS([openssl/engine.h])
CPPFLAGS="$CPPFLAGS $APR_INCLUDES $APU_INCLUDES -I$serf_prefix/include/serf-0"
AC_CHECK_HEADERS(serf.h,[
LDFLAGS="$LDFLAGS -L$serf_prefix/lib"
APR_SETVAR(SERF_LIBS, [-L$serf_prefix/lib -lserf-0])
APR_ADDTO(INCLUDES, [-I$serf_prefix/include/serf-0])
dnl Checks for APR or APR-util of given major/minor version or later;
#include <$1_version.h>
dnl Unfortunately, we can't use APR_CHECK_APR_DEFINE (because it only includes apr.h)
AC_CACHE_CHECK([for ldap support in apr/apr-util],ac_cv_APR_HAS_LDAP,[
#include <apr_ldap.h>