acinclude.m4 revision 9c50a7d34b902169aa4df9b72707f83d45b11fc2
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_HELP_STRING(LHS, RHS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl Autoconf 2.50 can not handle substr correctly. It does have
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl AC_HELP_STRING, so let's try to call it if we can.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl Note: this define must be on one line so that it can be properly returned
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl as the help string.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_HELP_STRING,[ifelse(regexp(AC_ACVERSION, 2\.1), -1, AC_HELP_STRING($1,$2),[ ]$1 substr([ ],len($1))$2)])dnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_SUBST(VARIABLE)
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl Makes VARIABLE available in generated files
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl (do not use @variable@ in Makefiles, but $(variable))
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_SUBST,[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_VAR_SUBST="$APACHE_VAR_SUBST $1"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_SUBST($1)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_FAST_OUTPUT(FILENAME)
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl Perform substitutions on FILENAME (Makefiles only)
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_FAST_OUTPUT,[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES $1"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_GEN_CONFIG_VARS
a231b4cbdf1bd3d65dc13ead8d8a4f7e8b307314pquernadnl Creates config_vars.mk
a231b4cbdf1bd3d65dc13ead8d8a4f7e8b307314pquernaAC_DEFUN(APACHE_GEN_CONFIG_VARS,[
a231b4cbdf1bd3d65dc13ead8d8a4f7e8b307314pquerna APACHE_SUBST(abs_srcdir)
a231b4cbdf1bd3d65dc13ead8d8a4f7e8b307314pquerna APACHE_SUBST(bindir)
a231b4cbdf1bd3d65dc13ead8d8a4f7e8b307314pquerna APACHE_SUBST(sbindir)
a231b4cbdf1bd3d65dc13ead8d8a4f7e8b307314pquerna APACHE_SUBST(cgidir)
a231b4cbdf1bd3d65dc13ead8d8a4f7e8b307314pquerna APACHE_SUBST(logfiledir)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(exec_prefix)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(datadir)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(localstatedir)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(mandir)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(libdir)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(libexecdir)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(htdocsdir)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(manualdir)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(includedir)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(errordir)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(iconsdir)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(sysconfdir)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(installbuilddir)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(runtimedir)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(proxycachedir)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(davlockdb)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(other_targets)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(progname)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(prefix)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(AWK)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(CC)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(CPP)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(CXX)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(CPPFLAGS)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(CFLAGS)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(CXXFLAGS)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(CC_FOR_BUILD)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(CFLAGS_FOR_BUILD)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(LTFLAGS)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(LDFLAGS)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(LT_LDFLAGS)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(SH_LDFLAGS)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(HTTPD_LDFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(UTIL_LDFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(LIBS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(DEFS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(INCLUDES)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(NOTEST_CPPFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(NOTEST_CFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(NOTEST_CXXFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(NOTEST_LDFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(NOTEST_LIBS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(EXTRA_CPPFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(EXTRA_CFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(EXTRA_CXXFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(EXTRA_LDFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(EXTRA_LIBS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(EXTRA_INCLUDES)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(INTERNAL_CPPFLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(LIBTOOL)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(SHELL)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(RSYNC)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(MODULE_DIRS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(MODULE_CLEANDIRS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(PORT)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(SSLPORT)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(CORE_IMPLIB_FILE)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(CORE_IMPLIB)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(SH_LIBS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(SH_LIBTOOL)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(MK_IMPLIB)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere APACHE_SUBST(MKDEP)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(INSTALL_PROG_FLAGS)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(DSO_MODULES)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(ENABLED_DSO_MODULES)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(LOAD_ALL_MODULES)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APR_BINDIR)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APR_INCLUDEDIR)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APR_VERSION)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APR_CONFIG)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APU_BINDIR)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APU_INCLUDEDIR)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APU_VERSION)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APU_CONFIG)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APREQ_MAJOR_VERSION)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(APREQ_LIBTOOL_VERSION)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim abs_srcdir="`(cd $srcdir && pwd)`"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_MSG_NOTICE([creating config_vars.mk])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim test -d build || $mkdir_p build
b5d34bc3082c1164ce20df48567d192e3e9f229fjim > build/config_vars.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjim for i in $APACHE_VAR_SUBST; do
b5d34bc3082c1164ce20df48567d192e3e9f229fjim eval echo "$i = \$$i" >> build/config_vars.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjim done
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_GEN_MAKEFILES
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl Creates Makefiles
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_GEN_MAKEFILES,[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $APACHE_FAST_OUTPUT_FILES
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl ## APACHE_OUTPUT(file)
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl ## adds "file" to the list of files generated by AC_OUTPUT
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl ## This macro can be used several times.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_OUTPUT, [
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_OUTPUT_FILES="$APACHE_OUTPUT_FILES $1"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])
a84a6c5a1f176c4fc6ccbc1183dc7c9f401e18f1pquerna
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_TYPE_RLIM_T
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl If rlim_t is not defined, define it to int
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_TYPE_RLIM_T, [
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_CACHE_CHECK([for rlim_t], ac_cv_type_rlim_t, [
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_TRY_COMPILE([
b5d34bc3082c1164ce20df48567d192e3e9f229fjim#include <sys/types.h>
b5d34bc3082c1164ce20df48567d192e3e9f229fjim#include <sys/time.h>
b5d34bc3082c1164ce20df48567d192e3e9f229fjim#include <sys/resource.h>
b5d34bc3082c1164ce20df48567d192e3e9f229fjim], [rlim_t spoon;], [
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ac_cv_type_rlim_t=yes
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ],[ac_cv_type_rlim_t=no
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test "$ac_cv_type_rlim_t" = "no" ; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_DEFINE(rlim_t, int,
b5d34bc3082c1164ce20df48567d192e3e9f229fjim [Define to 'int' if <sys/resource.h> doesn't define it for us])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl the list of build variables which are available for customization on a
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl per module subdir basis (to be inserted into modules.mk with a "MOD_"
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl prefix, i.e. MOD_CFLAGS etc.). Used in APACHE_MODPATH_{INIT,FINISH}.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdefine(mod_buildvars, [CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES])
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_MODPATH_INIT(modpath)
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_MODPATH_INIT,[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim current_dir=$1
b5d34bc3082c1164ce20df48567d192e3e9f229fjim modpath_current=modules/$1
b5d34bc3082c1164ce20df48567d192e3e9f229fjim modpath_static=
b5d34bc3082c1164ce20df48567d192e3e9f229fjim modpath_shared=
b5d34bc3082c1164ce20df48567d192e3e9f229fjim for var in mod_buildvars; do
a84a6c5a1f176c4fc6ccbc1183dc7c9f401e18f1pquerna eval MOD_$var=
b5d34bc3082c1164ce20df48567d192e3e9f229fjim done
b5d34bc3082c1164ce20df48567d192e3e9f229fjim test -d $1 || $srcdir/build/mkdir.sh $modpath_current
b5d34bc3082c1164ce20df48567d192e3e9f229fjim > $modpath_current/modules.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])dnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_MODPATH_FINISH,[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjim echo "static = $modpath_static" >> $modpath_current/modules.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjim echo "shared = $modpath_shared" >> $modpath_current/modules.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjim for var in mod_buildvars; do
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if eval val=\"\$MOD_$var\"; test -n "$val"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim echo "MOD_$var = $val" >> $modpath_current/modules.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim done
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim MODULE_DIRS="$MODULE_DIRS $current_dir"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim else
b5d34bc3082c1164ce20df48567d192e3e9f229fjim MODULE_CLEANDIRS="$MODULE_CLEANDIRS $current_dir"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_FAST_OUTPUT($modpath_current/Makefile)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])dnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_MODPATH_ADD(name[, shared[, objects [, ldflags[, libs]]]])
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_MODPATH_ADD,[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test -z "$3"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim objects="mod_$1.lo"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim else
b5d34bc3082c1164ce20df48567d192e3e9f229fjim objects="$3"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test -z "$module_standalone"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test -z "$2"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim # The filename of a convenience library must have a "lib" prefix:
b5d34bc3082c1164ce20df48567d192e3e9f229fjim libname="libmod_$1.la"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim modpath_static="$modpath_static $libname"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim cat >>$modpath_current/modules.mk<<EOF
b5d34bc3082c1164ce20df48567d192e3e9f229fjim$libname: $objects
b5d34bc3082c1164ce20df48567d192e3e9f229fjim \$(MOD_LINK) $objects $5
b5d34bc3082c1164ce20df48567d192e3e9f229fjimEOF
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test ! -z "$5"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APR_ADDTO(AP_LIBS, [$5])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere else
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere apache_need_shared=yes
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere libname="mod_$1.la"
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere modpath_shared="$modpath_shared $libname"
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere cat >>$modpath_current/modules.mk<<EOF
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere$libname: $shobjects
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclereEOF
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere fi
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere fi
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere])dnl
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclerednl Same as APACHE_MODPATH_INIT/FINISH but for MPMs
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclerednl APACHE_MPMPATH_INIT(mpmpath)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclereAC_DEFUN(APACHE_MPMPATH_INIT,[
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere current_dir=$1
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere modpath_current=server/mpm/$1
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere modpath_static=
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere modpath_shared=
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere for var in mod_buildvars; do
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere eval MOD_$var=
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere done
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere test -d $1 || $srcdir/build/mkdir.sh $modpath_current
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere > $modpath_current/modules.mk
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere])dnl
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclerednl
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclereAC_DEFUN(APACHE_MPMPATH_FINISH,[
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere for var in mod_buildvars; do
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere if eval val=\"\$MOD_$var\"; test -n "$val"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim echo "MOD_$var = $val" >> $modpath_current/modules.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim done
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])dnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_MPM_MODULE(name[, shared[, objects[, config[, path[, libs]]]]])
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl Provide information for building the MPM. (Enablement is handled using
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl --with-mpm/--enable-mpms-shared.)
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl name -- name of MPM, same as MPM directory name
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl shared -- "shared" to indicate shared module build, empty string otherwise
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl objects -- one or more .lo files to link into the MPM module (default: mpmname.lo)
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl config -- configuration logic to run if the MPM is enabled
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl path -- relative path to MPM (default: server/mpm/mpmname)
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl libs -- libs needed by this MPM
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_MPM_MODULE,[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if ap_mpm_is_enabled $1; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test -z "$3"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim objects="$1.lo"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim else
b5d34bc3082c1164ce20df48567d192e3e9f229fjim objects="$3"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test -z "$5"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim mpmpath="server/mpm/$1"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim else
b5d34bc3082c1164ce20df48567d192e3e9f229fjim mpmpath=$5
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim dnl VPATH support
b5d34bc3082c1164ce20df48567d192e3e9f229fjim test -d $mpmpath || $srcdir/build/mkdir.sh $mpmpath
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_FAST_OUTPUT($mpmpath/Makefile)
834fc281be8e0f7f2614961f12d8bbf603382a17jfclere
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test -z "$2"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APR_ADDTO(AP_LIBS, [$6])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim libname="lib$1.la"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim cat >>$mpmpath/modules.mk<<EOF
b5d34bc3082c1164ce20df48567d192e3e9f229fjim$libname: $objects
b5d34bc3082c1164ce20df48567d192e3e9f229fjim \$(MOD_LINK) $objects
b5d34bc3082c1164ce20df48567d192e3e9f229fjimDISTCLEAN_TARGETS = modules.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjimstatic = $libname
b5d34bc3082c1164ce20df48567d192e3e9f229fjimshared =
b5d34bc3082c1164ce20df48567d192e3e9f229fjimEOF
b5d34bc3082c1164ce20df48567d192e3e9f229fjim else
b5d34bc3082c1164ce20df48567d192e3e9f229fjim apache_need_shared=yes
b5d34bc3082c1164ce20df48567d192e3e9f229fjim libname="mod_mpm_$1.la"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere cat >>$mpmpath/modules.mk<<EOF
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere$libname: $shobjects
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $objects $6
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclereDISTCLEAN_TARGETS = modules.mk
b5d34bc3082c1164ce20df48567d192e3e9f229fjimstatic =
b5d34bc3082c1164ce20df48567d192e3e9f229fjimshared = $libname
b5d34bc3082c1164ce20df48567d192e3e9f229fjimEOF
b5d34bc3082c1164ce20df48567d192e3e9f229fjim DSO_MODULES="$DSO_MODULES mpm_$1"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim # add default MPM to LoadModule list
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test $1 = $default_mpm; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},mpm_$1"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim $4
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])dnl
834fc281be8e0f7f2614961f12d8bbf603382a17jfclere
834fc281be8e0f7f2614961f12d8bbf603382a17jfclerednl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config[, prereq_module]]]]])
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl default is one of:
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl yes -- enabled by default. user must explicitly disable.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl no -- disabled under default, most, all. user must explicitly enable.
834fc281be8e0f7f2614961f12d8bbf603382a17jfclerednl most -- disabled by default. enabled explicitly or with most or all.
834fc281be8e0f7f2614961f12d8bbf603382a17jfclerednl static -- enabled as static by default, must be explicitly changed.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl "" -- disabled under default, most. enabled explicitly or with all.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl XXX: The arg must really be empty here. Passing an empty shell
834fc281be8e0f7f2614961f12d8bbf603382a17jfclerednl XXX: variable doesn't work for some reason. This should be
834fc281be8e0f7f2614961f12d8bbf603382a17jfclerednl XXX: fixed.
a231b4cbdf1bd3d65dc13ead8d8a4f7e8b307314pquernadnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl basically: yes/no is a hard setting. "most" means follow the "most"
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl setting. otherwise, fall under the "all" setting.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl explicit yes/no always overrides, except if the user selects
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl "reallyall".
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl prereq_module is a module (without the "mod_" prefix) that must be enabled
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl if the current module is enabled. If the current module is built
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl statically, prereq_module must be built statically, too. If these
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl conditions are not fulfilled, configure will abort if the current module
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl has been enabled explicitly. Otherwise, configure will disable the
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl current module.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl prereq_module's APACHE_MODULE() statement must have been processed
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl before the current APACHE_MODULE() statement.
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_MODULE,[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_MSG_CHECKING(whether to enable mod_$1)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim define([optname],[--]ifelse($5,yes,disable,enable)[-]translit($1,_,-))dnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_ARG_ENABLE(translit($1,_,-),APACHE_HELP_STRING(optname(),$2),force_$1=$enableval,enable_$1=ifelse($5,,maybe-all,$5))
b5d34bc3082c1164ce20df48567d192e3e9f229fjim undefine([optname])dnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjim _apmod_extra_msg=""
b5d34bc3082c1164ce20df48567d192e3e9f229fjim dnl If the module was not explicitly requested, allow it to disable itself if
b5d34bc3082c1164ce20df48567d192e3e9f229fjim dnl its pre-reqs fail.
b5d34bc3082c1164ce20df48567d192e3e9f229fjim case "$enable_$1" in
b5d34bc3082c1164ce20df48567d192e3e9f229fjim yes|static|shared)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim _apmod_required="yes"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ;;
b5d34bc3082c1164ce20df48567d192e3e9f229fjim *)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim _apmod_required="no"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ;;
b5d34bc3082c1164ce20df48567d192e3e9f229fjim esac
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test "$enable_$1" = "static"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim enable_$1=static
b5d34bc3082c1164ce20df48567d192e3e9f229fjim elif test "$enable_$1" = "yes"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim enable_$1=$module_default
6bed231822ad2aaba16de74c4c01023e5982a5e2jfclere elif test "$enable_$1" = "most"; then
b1e3273c2e70ad5ac64feef979b2ed1d98c09963jim if test "$module_selection" = "most" -o "$module_selection" = "all" -o \
b1e3273c2e70ad5ac64feef979b2ed1d98c09963jim "$module_selection" = "reallyall"
b1e3273c2e70ad5ac64feef979b2ed1d98c09963jim then
6bed231822ad2aaba16de74c4c01023e5982a5e2jfclere enable_$1=$module_default
b1e3273c2e70ad5ac64feef979b2ed1d98c09963jim elif test "$module_selection" = "few" -o "$module_selection" = "none"; then
b1e3273c2e70ad5ac64feef979b2ed1d98c09963jim enable_$1=no
b1e3273c2e70ad5ac64feef979b2ed1d98c09963jim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim _apmod_extra_msg=" ($module_selection)"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim elif test "$enable_$1" = "maybe-all"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test "$module_selection" = "all" -o "$module_selection" = "reallyall"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim then
9a0e1ad272fdbe3fee989e93bdae8253418429edjfclere enable_$1=$module_default
b1e3273c2e70ad5ac64feef979b2ed1d98c09963jim _apmod_extra_msg=" ($module_selection)"
9a0e1ad272fdbe3fee989e93bdae8253418429edjfclere else
b5d34bc3082c1164ce20df48567d192e3e9f229fjim enable_$1=no
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere elif test "$enable_$1" = "no" -a "$module_selection" = "reallyall" -a \
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere "$force_$1" != "no" ; then
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere enable_$1=$module_default
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere _apmod_extra_msg=" ($module_selection)"
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere fi
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere if test "$enable_$1" != "no"; then
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere dnl If we plan to enable it, allow the module to run some autoconf magic
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere dnl that may disable it because of missing dependencies.
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere ifelse([$6$7],,:,
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere [AC_MSG_RESULT([checking dependencies])
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere ifelse([$7],,:,[if test "$enable_$7" = "no" ; then
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere enable_$1=no
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere AC_MSG_WARN("mod_$7 is disabled but required for mod_$1")
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere elif test "$enable_$1" = "static" && test "$enable_$7" != "static" ; then
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere enable_$1=no
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere AC_MSG_WARN("cannot build mod_$1 statically if mod_$7 is built shared")
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere else])
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere ifelse([$6],,:,[ $6])
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere ifelse([$7],,:,[fi])
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere AC_MSG_CHECKING(whether to enable mod_$1)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere if test "$enable_$1" = "no"; then
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere if test "$_apmod_required" = "no"; then
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere _apmod_extra_msg=" (disabled)"
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere else
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere AC_MSG_ERROR([mod_$1 has been requested but can not be built due to prerequisite failures])
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere fi
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere fi])
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere fi
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere if test "$enable_$1" != "no"; then
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere case "$enable_$1" in
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere static*)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim MODLIST="$MODLIST ifelse($4,,$1,$4)"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test "$1" = "so"; then
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere sharedobjs=yes
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
2806775e45dfd5164d53fcb3d850d358f8ec2415jfclere shared="";;
b5d34bc3082c1164ce20df48567d192e3e9f229fjim *)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim enable_$1=`echo $enable_$1|sed 's/shared,*//'`
b5d34bc3082c1164ce20df48567d192e3e9f229fjim sharedobjs=yes
b5d34bc3082c1164ce20df48567d192e3e9f229fjim shared=yes
b5d34bc3082c1164ce20df48567d192e3e9f229fjim DSO_MODULES="$DSO_MODULES $1"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test "$5" = "yes" ; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},$1"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ;;
b5d34bc3082c1164ce20df48567d192e3e9f229fjim esac
b5d34bc3082c1164ce20df48567d192e3e9f229fjim define([modprefix], [MOD_]translit($1, [a-z-], [A-Z_]))
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_MODPATH_ADD($1, $shared, $3,, [\$(]modprefix[_LDADD)])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_SUBST(modprefix[_LDADD])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim undefine([modprefix])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim])dnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl APACHE_ENABLE_MODULES
b5d34bc3082c1164ce20df48567d192e3e9f229fjimdnl
b5d34bc3082c1164ce20df48567d192e3e9f229fjimAC_DEFUN(APACHE_ENABLE_MODULES,[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim module_selection=most
b5d34bc3082c1164ce20df48567d192e3e9f229fjim module_default=shared
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim dnl Check whether we have DSO support.
b5d34bc3082c1164ce20df48567d192e3e9f229fjim dnl If "yes", we build shared modules by default.
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APR_CHECK_APR_DEFINE(APR_HAS_DSO)
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test $ac_cv_define_APR_HAS_DSO = "no"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_MSG_WARN([Missing DSO support - building static modules by default.])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim module_default=static
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_ARG_ENABLE(modules,
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_HELP_STRING(--enable-modules=MODULE-LIST,Space-separated list of modules to enable | "all" | "most" | "few" | "none" | "reallyall"),[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test "$enableval" = "none"; then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim module_default=no
b5d34bc3082c1164ce20df48567d192e3e9f229fjim module_selection=none
b5d34bc3082c1164ce20df48567d192e3e9f229fjim else
b5d34bc3082c1164ce20df48567d192e3e9f229fjim for i in $enableval; do
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim module_selection=$i
b5d34bc3082c1164ce20df48567d192e3e9f229fjim else
b5d34bc3082c1164ce20df48567d192e3e9f229fjim i=`echo $i | sed 's/-/_/g'`
b5d34bc3082c1164ce20df48567d192e3e9f229fjim eval "enable_$i=shared"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim done
b5d34bc3082c1164ce20df48567d192e3e9f229fjim fi
b5d34bc3082c1164ce20df48567d192e3e9f229fjim ])
b5d34bc3082c1164ce20df48567d192e3e9f229fjim
b5d34bc3082c1164ce20df48567d192e3e9f229fjim AC_ARG_ENABLE(mods-shared,
b5d34bc3082c1164ce20df48567d192e3e9f229fjim APACHE_HELP_STRING(--enable-mods-shared=MODULE-LIST,Space-separated list of shared modules to enable | "all" | "most" | "few" | "reallyall"),[
b5d34bc3082c1164ce20df48567d192e3e9f229fjim for i in $enableval; do
b5d34bc3082c1164ce20df48567d192e3e9f229fjim if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
b5d34bc3082c1164ce20df48567d192e3e9f229fjim then
b5d34bc3082c1164ce20df48567d192e3e9f229fjim module_selection=$i
b5d34bc3082c1164ce20df48567d192e3e9f229fjim module_default=shared
b5d34bc3082c1164ce20df48567d192e3e9f229fjim else
b5d34bc3082c1164ce20df48567d192e3e9f229fjim i=`echo $i | sed 's/-/_/g'`
eval "enable_$i=shared"
fi
done
])
AC_ARG_ENABLE(mods-static,
APACHE_HELP_STRING(--enable-mods-static=MODULE-LIST,Space-separated list of static modules to enable | "all" | "most" | "few" | "reallyall"),[
for i in $enableval; do
if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"; then
module_selection=$i
module_default=static
else
i=`echo $i | sed 's/-/_/g'`
eval "enable_$i=static"
fi
done
])
])
AC_DEFUN(APACHE_REQUIRE_CXX,[
if test -z "$apache_cxx_done"; then
AC_PROG_CXX
AC_PROG_CXXCPP
apache_cxx_done=yes
fi
])
dnl
dnl APACHE_CHECK_OPENSSL
dnl
dnl Configure for OpenSSL, giving preference to
dnl "--with-ssl=<path>" if it was specified.
dnl
AC_DEFUN(APACHE_CHECK_OPENSSL,[
AC_CACHE_CHECK([for OpenSSL], [ac_cv_openssl], [
dnl initialise the variables we use
ac_cv_openssl=no
ap_openssl_found=""
ap_openssl_base=""
ap_openssl_libs=""
dnl Determine the OpenSSL base directory, if any
AC_MSG_CHECKING([for user-provided OpenSSL base directory])
AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=PATH,OpenSSL installation directory), [
dnl If --with-ssl specifies a directory, we use that directory
if test "x$withval" != "xyes" -a "x$withval" != "x"; then
dnl This ensures $withval is actually a directory and that it is absolute
ap_openssl_base="`cd $withval ; pwd`"
fi
])
if test "x$ap_openssl_base" = "x"; then
AC_MSG_RESULT(none)
else
AC_MSG_RESULT($ap_openssl_base)
fi
dnl Run header and version checks
saved_CPPFLAGS="$CPPFLAGS"
saved_LIBS="$LIBS"
saved_LDFLAGS="$LDFLAGS"
dnl Before doing anything else, load in pkg-config variables
if test -n "$PKGCONFIG"; then
saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
if test "x$ap_openssl_base" != "x" -a \
-f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then
dnl Ensure that the given path is used by pkg-config too, otherwise
dnl the system openssl.pc might be picked up instead.
PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}"
export PKG_CONFIG_PATH
fi
AC_ARG_ENABLE(ssl-staticlib-deps,APACHE_HELP_STRING(--enable-ssl-staticlib-deps,[link mod_ssl with dependencies of OpenSSL's static libraries (as indicated by "pkg-config --static"). Must be specified in addition to --enable-ssl.]), [
if test "$enableval" = "yes"; then
PKGCONFIG_LIBOPTS="--static"
fi
])
ap_openssl_libs="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-l --silence-errors openssl`"
if test $? -eq 0; then
ap_openssl_found="yes"
pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
APR_ADDTO(CPPFLAGS, [$pkglookup])
APR_ADDTO(MOD_CFLAGS, [$pkglookup])
APR_ADDTO(ab_CFLAGS, [$pkglookup])
pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-L openssl`"
APR_ADDTO(LDFLAGS, [$pkglookup])
APR_ADDTO(MOD_LDFLAGS, [$pkglookup])
pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-other openssl`"
APR_ADDTO(LDFLAGS, [$pkglookup])
APR_ADDTO(MOD_LDFLAGS, [$pkglookup])
fi
PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH"
fi
dnl fall back to the user-supplied directory if not found via pkg-config
if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then
APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
APR_ADDTO(MOD_CFLAGS, [-I$ap_openssl_base/include])
APR_ADDTO(ab_CFLAGS, [-I$ap_openssl_base/include])
APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
APR_ADDTO(MOD_LDFLAGS, [-L$ap_openssl_base/lib])
if test "x$ap_platform_runtime_link_flag" != "x"; then
APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
APR_ADDTO(MOD_LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
fi
fi
AC_MSG_CHECKING([for OpenSSL version >= 0.9.8a])
AC_TRY_COMPILE([#include <openssl/opensslv.h>],[
#if !defined(OPENSSL_VERSION_NUMBER)
#error "Missing OpenSSL version"
#endif
#if OPENSSL_VERSION_NUMBER < 0x0090801f
#error "Unsupported OpenSSL version " OPENSSL_VERSION_TEXT
#endif],
[AC_MSG_RESULT(OK)
ac_cv_openssl=yes],
[AC_MSG_RESULT(FAILED)])
if test "x$ac_cv_openssl" = "xyes"; then
ap_openssl_libs="${ap_openssl_libs:--lssl -lcrypto} `$apr_config --libs`"
APR_ADDTO(MOD_LDFLAGS, [$ap_openssl_libs])
APR_ADDTO(LIBS, [$ap_openssl_libs])
APR_SETVAR(ab_LDFLAGS, [$MOD_LDFLAGS])
APACHE_SUBST(ab_CFLAGS)
APACHE_SUBST(ab_LDFLAGS)
dnl Run library and function checks
liberrors=""
AC_CHECK_HEADERS([openssl/engine.h])
AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])
AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines RAND_egd])
if test "x$liberrors" != "x"; then
AC_MSG_WARN([OpenSSL libraries are unusable])
fi
else
AC_MSG_WARN([OpenSSL version is too old])
fi
dnl restore
CPPFLAGS="$saved_CPPFLAGS"
LIBS="$saved_LIBS"
LDFLAGS="$saved_LDFLAGS"
])
if test "x$ac_cv_openssl" = "xyes"; then
AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL is available])
fi
])
dnl
dnl APACHE_CHECK_SERF
dnl
dnl Configure for the detected libserf, giving preference to
dnl "--with-serf=<path>" if it was specified.
dnl
AC_DEFUN([APACHE_CHECK_SERF], [
AC_CACHE_CHECK([for libserf], [ac_cv_serf], [
ac_cv_serf=no
serf_prefix=/usr
SERF_LIBS=""
AC_ARG_WITH(serf, APACHE_HELP_STRING([--with-serf=PATH],
[Serf client library]),
[
if test "$withval" = "yes" ; then
serf_prefix=/usr
else
serf_prefix=$withval
fi
])
if test "$serf_prefix" != "no" ; then
save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $APR_INCLUDES $APU_INCLUDES -I$serf_prefix/include/serf-0"
AC_CHECK_HEADERS(serf.h,[
save_ldflags="$LDFLAGS"
LDFLAGS="$LDFLAGS -L$serf_prefix/lib"
AC_CHECK_LIB(serf-0, serf_context_create,[ac_cv_serf="yes"])
LDFLAGS="$save_ldflags"])
CPPFLAGS="$save_cppflags"
fi
])
APACHE_SUBST(SERF_LIBS)
if test "$ac_cv_serf" = "yes"; then
AC_DEFINE(HAVE_SERF, 1, [Define if libserf is available])
APR_SETVAR(SERF_LIBS, [-L$serf_prefix/lib -lserf-0])
APR_ADDTO(MOD_INCLUDES, [-I$serf_prefix/include/serf-0])
fi
])
AC_DEFUN(APACHE_CHECK_SYSTEMD, [
dnl Check for systemd support for listen.c's socket activation.
case $host in
*-linux-*)
if test -n "$PKGCONFIG" && $PKGCONFIG --exists libsystemd; then
SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd`
elif test -n "$PKGCONFIG" && $PKGCONFIG --exists libsystemd-daemon; then
SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd-daemon`
else
AC_CHECK_LIB(systemd-daemon, sd_notify, SYSTEMD_LIBS="-lsystemd-daemon")
fi
if test -n "$SYSTEMD_LIBS"; then
AC_CHECK_HEADERS(systemd/sd-daemon.h)
if test "${ac_cv_header_systemd_sd_daemon_h}" = "no" || test -z "${SYSTEMD_LIBS}"; then
AC_MSG_WARN([Your system does not support systemd.])
else
APR_ADDTO(HTTPD_LIBS, [$SYSTEMD_LIBS])
AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is supported])
fi
fi
;;
esac
])
dnl
dnl APACHE_EXPORT_ARGUMENTS
dnl Export (via APACHE_SUBST) the various path-related variables that
dnl apache will use while generating scripts like autoconf and apxs and
dnl the default config file.
AC_DEFUN(APACHE_SUBST_EXPANDED_ARG,[
APR_EXPAND_VAR(exp_$1, [$]$1)
APACHE_SUBST(exp_$1)
APR_PATH_RELATIVE(rel_$1, [$]exp_$1, ${prefix})
APACHE_SUBST(rel_$1)
])
AC_DEFUN(APACHE_EXPORT_ARGUMENTS,[
APACHE_SUBST_EXPANDED_ARG(exec_prefix)
APACHE_SUBST_EXPANDED_ARG(bindir)
APACHE_SUBST_EXPANDED_ARG(sbindir)
APACHE_SUBST_EXPANDED_ARG(libdir)
APACHE_SUBST_EXPANDED_ARG(libexecdir)
APACHE_SUBST_EXPANDED_ARG(mandir)
APACHE_SUBST_EXPANDED_ARG(sysconfdir)
APACHE_SUBST_EXPANDED_ARG(datadir)
APACHE_SUBST_EXPANDED_ARG(installbuilddir)
APACHE_SUBST_EXPANDED_ARG(errordir)
APACHE_SUBST_EXPANDED_ARG(iconsdir)
APACHE_SUBST_EXPANDED_ARG(htdocsdir)
APACHE_SUBST_EXPANDED_ARG(manualdir)
APACHE_SUBST_EXPANDED_ARG(cgidir)
APACHE_SUBST_EXPANDED_ARG(includedir)
APACHE_SUBST_EXPANDED_ARG(localstatedir)
APACHE_SUBST_EXPANDED_ARG(runtimedir)
APACHE_SUBST_EXPANDED_ARG(logfiledir)
APACHE_SUBST_EXPANDED_ARG(proxycachedir)
APACHE_SUBST_EXPANDED_ARG(davlockdb)
])
dnl
dnl APACHE_CHECK_APxVER({apr|apu}, major, minor,
dnl [actions-if-ok], [actions-if-not-ok])
dnl
dnl Checks for APR or APR-util of given major/minor version or later;
dnl if so, runs actions-if-ok; otherwise runs actions-if-not-ok if given.
dnl If the version is not satisfactory and actions-if-not-ok is not
dnl given, then an error is printed and the configure script is aborted.
dnl
dnl The first argument must be [apr] or [apu].
dnl
AC_DEFUN([APACHE_CHECK_APxVER], [
define(ap_ckver_major, translit($1, [apru], [APRU])[_MAJOR_VERSION])
define(ap_ckver_minor, translit($1, [apru], [APRU])[_MINOR_VERSION])
define(ap_ckver_cvar, [ap_cv_$1ver$2$3])
define(ap_ckver_name, ifelse([$1],[apr],[APR],[APR-util]))
ap_ckver_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS `$[$1]_config --includes`"
AC_CACHE_CHECK([for ap_ckver_name version $2.$3.0 or later], ap_ckver_cvar, [
AC_EGREP_CPP([good], [
#include <$1_version.h>
#if ]ap_ckver_major[ > $2 || (]ap_ckver_major[ == $2 && ]ap_ckver_minor[ >= $3)
good
#endif
], [ap_ckver_cvar=yes], [ap_ckver_cvar=no])])
if test "$ap_ckver_cvar" = "yes"; then
ifelse([$4],[],[:],[$4])
else
ifelse([$5],[],[AC_MSG_ERROR([ap_ckver_name version $2.$3.0 or later is required])], [$5])
fi
CPPFLAGS="$ap_ckver_CPPFLAGS"
undefine([ap_ckver_major])
undefine([ap_ckver_minor])
undefine([ap_ckver_cvar])
undefine([ap_ckver_name])
])
dnl
dnl APACHE_CHECK_VOID_PTR_LEN
dnl
dnl Checks if the size of a void pointer is at least as big as a "long"
dnl integer type.
dnl
AC_DEFUN([APACHE_CHECK_VOID_PTR_LEN], [
AC_CACHE_CHECK([for void pointer length], [ap_cv_void_ptr_lt_long],
[AC_TRY_RUN([
int main(void)
{
return sizeof(void *) < sizeof(long);
}], [ap_cv_void_ptr_lt_long=no], [ap_cv_void_ptr_lt_long=yes],
[ap_cv_void_ptr_lt_long="cross compile - not checked"])])
if test "$ap_cv_void_ptr_lt_long" = "yes"; then
AC_MSG_ERROR([Size of "void *" is less than size of "long"])
fi
])
dnl
dnl APACHE_CHECK_APR_HAS_LDAP
dnl
dnl Check if APR_HAS_LDAP is 1
dnl Unfortunately, we can't use APR_CHECK_APR_DEFINE (because it only includes apr.h)
dnl or APR_CHECK_DEFINE (because it only checks for defined'ness and not for 0/1).
dnl
AC_DEFUN([APACHE_CHECK_APR_HAS_LDAP], [
AC_CACHE_CHECK([for ldap support in apr/apr-util],ac_cv_APR_HAS_LDAP,[
apache_old_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $INCLUDES"
AC_EGREP_CPP(YES_IS_DEFINED, [
#include <apr_ldap.h>
#if APR_HAS_LDAP
YES_IS_DEFINED
#endif
], ac_cv_APR_HAS_LDAP=yes, ac_cv_APR_HAS_LDAP=no)
CPPFLAGS="$apache_old_cppflags"
])
])
dnl
dnl APACHE_ADD_GCC_CFLAGS
dnl
dnl Check if compiler is gcc and supports flag. If yes, add to CFLAGS.
dnl
AC_DEFUN([APACHE_ADD_GCC_CFLAG], [
define([ap_gcc_ckvar], [ac_cv_gcc_]translit($1, [-:.=], [____]))
if test "$GCC" = "yes"; then
AC_CACHE_CHECK([whether gcc accepts $1], ap_gcc_ckvar, [
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $1"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int foo() { return 0; }])],
[ap_gcc_ckvar=yes], [ap_gcc_ckvar=no])
CFLAGS="$save_CFLAGS"
])
if test "$]ap_gcc_ckvar[" = "yes" ; then
APR_ADDTO(CFLAGS,[$1])
fi
fi
undefine([ap_gcc_ckvar])
])