AC_CONFIG_HEADER(include/ap_config_auto.h)
AC_CONFIG_AUX_DIR(build)
+dnl Absolute source/build directory
+abs_srcdir=`(cd $srcdir && pwd)`
+abs_builddir=`pwd`
+
+dnl Ensure that the httpd version is included
+HTTPD_VERSION=`$abs_srcdir/build/get-version.sh all $abs_srcdir/include/ap_release.h AP_SERVER`
+AC_SUBST(HTTPD_VERSION)
+
dnl #
dnl # Include our own M4 macros along with those for APR and libtool
dnl #
dnl Check that mkdir -p works
APR_MKDIR_P_CHECK($top_srcdir/build/mkdir.sh)
+dnl get an EGREP to use in the Makefiles
+AC_PROG_EGREP
+APACHE_SUBST(EGREP)
+
dnl ## Run configure for packages Apache uses
dnl shared library support for these packages doesn't currently
orig_prefix="$prefix"
-echo $ac_n "${nl}Configuring Apache Portable Runtime library ...${nl}"
+AC_MSG_NOTICE([])
+AC_MSG_NOTICE([Configuring Apache Portable Runtime library...])
+AC_MSG_NOTICE([])
AC_ARG_WITH(included-apr,
APACHE_HELP_STRING(--with-included-apr,Use bundled copies of APR/APR-Util))
if test "x$with_included_apr" = "xyes"; then
- apr_found=reconfig
+ apr_found=reconfig
+ if test ! -d srclib/apr && test ! -d $srcdir/srclib/apr; then
+ AC_MSG_ERROR([Bundled APR requested but not found at ./srclib/. Please refer to the documentation on APR in the httpd INSTALL file.])
+ fi
else
- APR_FIND_APR("$srcdir/srclib/apr", "./srclib/apr", 1, 1 2)
+ APR_FIND_APR("$srcdir/srclib/apr", "./srclib/apr", 1, 1 2, [
+ version=`$apr_config --version`
+ case x${version} in
+ x1.[[0-3]].*)
+ AC_MSG_WARN([APR version 1.4.0 or later is required, found $version])
+ apr_acceptable=no
+ ;;
+ esac
+ unset version
+ ])
fi
if test "$apr_found" = "no"; then
- AC_MSG_ERROR([APR not found. Please read the documentation.])
+ AC_MSG_ERROR([APR not found. Please refer to the documentation on APR in the httpd INSTALL file.])
fi
if test "$apr_found" = "reconfig"; then
dnl We have to find apr-N-config when we reconfigure APR.
for majorver in 1 2; do
- test_apr_config="$srcdir/srclib/apr/apr-${majorver}-config"
- if test -f $test_apr_config; then
- apr_config=$test_apr_config
+ test_apr_config="./srclib/apr/apr-${majorver}-config"
+ if test -f "$test_apr_config"; then
+ apr_config="$test_apr_config"
fi
done
fi
APR_SETIFNULL(CPP, `$apr_config --cpp`)
APR_ADDTO(CFLAGS, `$apr_config --cflags`)
APR_ADDTO(CPPFLAGS, `$apr_config --cppflags`)
+dnl internal-only CPPFLAGS (shouldn't affect third-party module builds)
+INTERNAL_CPPFLAGS=""
APR_ADDTO(LDFLAGS, `$apr_config --ldflags`)
SHLIBPATH_VAR=`$apr_config --shlib-path-var`
APR_BINDIR=`$apr_config --bindir`
apr_major_version=`echo ${APR_VERSION} | sed 's,\..*,,'`
APR_CONFIG="$APR_BINDIR/apr-${apr_major_version}-config"
-echo $ac_n "${nl}Configuring Apache Portable Runtime Utility library...${nl}"
+AC_MSG_NOTICE([])
+AC_MSG_NOTICE([Configuring Apache Portable Runtime Utility library...])
+AC_MSG_NOTICE([])
if test "x${apr_major_version}" = "x2"; then
- apu_found=obsolete
+ apu_found=obsolete
elif test "x$with_included_apr" = "xyes"; then
- apu_found=reconfig
+ apu_found=reconfig
+ if test ! -d srclib/apr-util && test ! -d $srcdir/srclib/apr-util; then
+ AC_MSG_ERROR([Bundled APR-Util requested but not found at ./srclib/. Please refer to the documentation on APR in the httpd INSTALL file.])
+ fi
else
dnl If httpd is buildconf'ed against an apr 2.x tree, then 1.x
dnl isn't supported.
fi
if test "$apu_found" = "no"; then
- AC_MSG_ERROR([APR-util not found. Please read the documentation.])
+ AC_MSG_ERROR([APR-util not found. Please refer to the documentation on APR in the httpd INSTALL file.])
fi
# Catch some misconfigurations:
AP_BUILD_SRCLIB_DIRS="$AP_BUILD_SRCLIB_DIRS apr-util"
AP_CLEAN_SRCLIB_DIRS="apr-util $AP_CLEAN_SRCLIB_DIRS"
dnl APR and APR-Util major versions must match
- apu_config="${srcdir}/srclib/apr-util/apu-${apr_major_version}-config"
+ apu_config="./srclib/apr-util/apu-${apr_major_version}-config"
fi
if test "$apu_found" = "obsolete"; then
AC_PROG_CC
AC_PROG_CPP
+dnl Try to get c99 support for variadic macros
+ifdef([AC_PROG_CC_C99], [AC_PROG_CC_C99])
+
+dnl In case of cross compilation we set CC_FOR_BUILD to cc unless
+dnl we got already CC_FOR_BUILD from environment.
+if test "x${build_alias}" != "x${host_alias}"; then
+ if test "x${CC_FOR_BUILD}" = "x"; then
+ CC_FOR_BUILD=cc
+ fi
+fi
+
if test "x${cache_file}" = "x/dev/null"; then
# Likewise, ensure that CC and CPP are passed through to the pcre
# configure script iff caching is disabled (the autoconf 2.5x default).
export CC; export CPP
fi
-dnl Absolute source/build directory
-abs_srcdir=`(cd $srcdir && pwd)`
-abs_builddir=`pwd`
-
AC_ARG_WITH(pcre,
APACHE_HELP_STRING(--with-pcre=PATH,Use external PCRE library))
if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else
AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG])
fi
+ case `$PCRE_CONFIG --version` in
+ [[1-5].*])
+ AC_MSG_ERROR([Need at least pcre version 6.7])
+ ;;
+ [6.[0-6]*])
+ AC_MSG_ERROR([Need at least pcre version 6.7])
+ ;;
+ esac
AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG])
APR_ADDTO(PCRE_INCLUDES, [`$PCRE_CONFIG --cflags`])
APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs`])
+ APR_ADDTO(HTTPD_LIBS, [\$(PCRE_LIBS)])
else
AC_MSG_ERROR([pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/])
fi
APACHE_SUBST(PCRE_LIBS)
-dnl Add PCRE_LIBS to HTTPD_LDFLAGS
-APR_ADDTO(HTTPD_LDFLAGS, [\$(PCRE_LIBS)])
-
-echo $ac_n "${nl}Configuring Apache httpd ...${nl}"
+AC_MSG_NOTICE([])
+AC_MSG_NOTICE([Configuring Apache httpd...])
+AC_MSG_NOTICE([])
dnl If the source dir is not equal to the build dir,
dnl then we are running in VPATH mode.
APR_ADDTO(INCLUDES, [-I\$(top_builddir)/include])
fi
-APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/os/\$(OS_DIR) -I\$(top_srcdir)/modules/http -I\$(top_srcdir)/modules/aaa -I\$(top_srcdir)/modules/filters -I\$(top_srcdir)/modules/proxy -I\$(top_srcdir)/modules/session -I\$(top_srcdir)/include -I\$(top_srcdir)/modules/generators -I\$(top_srcdir)/modules/mappers -I\$(top_srcdir)/modules/database])
+APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/os/\$(OS_DIR) -I\$(top_srcdir)/include])
# apr/apr-util --includes may pick up system paths for dependent
# libraries, so ensure these are later in INCLUDES than local source
dnl Add in path to PCRE includes
APR_ADDTO(INCLUDES, $PCRE_INCLUDES)
-if test "x$LTFLAGS" = "x"; then
- LTFLAGS='--silent'
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $PCRE_INCLUDES"
+AC_EGREP_CPP(yes,
+[
+#include <pcre.h>
+#ifdef PCRE_DUPNAMES
+yes
+#endif
+],pcre_have_dupnames=yes,pcre_have_dupnames=no)
+if test "$pcre_have_dupnames" != "yes"; then
+ AC_MSG_ERROR([pcre version does not support PCRE_DUPNAMES])
fi
-my_libtool=`$apr_config --apr-libtool`
-LIBTOOL="$my_libtool \$(LTFLAGS)"
-libtoolversion=`$my_libtool --version`
-case $libtoolversion in
- *1.[[45]]* | *[[2-9]].[[0-9]]*)
- SH_LIBTOOL='$(LIBTOOL)'
- SHLTCFLAGS="-prefer-pic"
- LTCFLAGS="-prefer-non-pic -static"
- ;;
- *)
- SH_LIBTOOL='$(SHELL) $(top_builddir)/shlibtool $(LTFLAGS)'
- SHLTCFLAGS=""
- LTCFLAGS=""
- ;;
+CPPFLAGS="$save_CPPFLAGS"
+
+AC_MSG_NOTICE([])
+AC_MSG_NOTICE([Applying OS-specific hints for httpd...])
+AC_MSG_NOTICE([])
+
+case $host in
+ *os2*)
+ # Use a custom made libtool replacement
+ echo "using aplibtool"
+ LIBTOOL="$abs_srcdir/srclib/apr/build/aplibtool"
+ SH_LIBTOOL="$LIBTOOL --shared --export-all"
+ SH_LIBS="\$(ALL_LIBS)"
+ CORE_IMPLIB_FILE="ApacheCoreOS2.la"
+ CORE_IMPLIB="$abs_srcdir/server/$CORE_IMPLIB_FILE"
+ MK_IMPLIB="emximp"
+ other_targets="$other_targets os2core"
+ INSTALL_PROG_FLAGS="-e .exe"
+ SHLTCFLAGS=""
+ LTCFLAGS=""
+ ;;
+ *)
+ if test "x$LTFLAGS" = "x"; then
+ LTFLAGS='--silent'
+ fi
+ my_libtool=`$apr_config --apr-libtool`
+ LIBTOOL="$my_libtool \$(LTFLAGS)"
+ libtoolversion=`$my_libtool --version`
+ case $libtoolversion in
+ *1.[[45]]* | *[[2-9]].[[0-9]]*)
+ SH_LIBTOOL='$(LIBTOOL)'
+ SHLTCFLAGS="-prefer-pic"
+ LTCFLAGS="-prefer-non-pic -static"
+ ;;
+ *)
+ SH_LIBTOOL='$(SHELL) $(top_builddir)/shlibtool $(LTFLAGS)'
+ SHLTCFLAGS=""
+ LTCFLAGS=""
+ ;;
+ esac
+ ;;
esac
APACHE_SUBST(SHLTCFLAGS)
APACHE_SUBST(LTCFLAGS)
-echo $ac_n "${nl}Applying OS-specific hints for httpd ...${nl}"
-
case $host in
*-apple-aux3*)
- APR_SETVAR(APACHE_MPM, [prefork])
+ APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
+ ;;
+ *os2-emx*)
APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
;;
*-linux-*)
case `uname -r` in
- 2.[[2-9]]* )
- APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
+ # Unserialized accept() was not recommended until Linux 2.2.
+ [[01]].* | 2.[[01]]* )
;;
* )
+ APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
;;
esac
;;
esac
;;
*cygwin*)
- APR_SETVAR(APACHE_MPM, [prefork])
APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
;;
*mingw32*)
- APR_SETVAR(APACHE_MPM, [winnt])
- APR_ADDTO(CPPFLAGS, [-DAP_DECLARE_EXPORT])
+ APR_ADDTO(INTERNAL_CPPFLAGS, [-DAP_DECLARE_EXPORT])
+ APR_ADDTO(INTERNAL_CPPFLAGS, [-DAPREQ_DECLARE_EXPORT])
APR_SETIFNULL(ac_cv_func_times, [no])
APR_SETIFNULL(ac_cv_func_getpwnam, [no])
APR_SETIFNULL(ac_cv_func_getgrnam, [no])
if test "${apu_found}" = "yes"; then
# Require at least APR-util 1.3.x otherwise fail
- APACHE_CHECK_APxVER([apu], 1, 3)
+ if test "${apr_found}" = "yes"; then
+ # we need to add the APR includes to CPPFLAGS
+ apu_ckver_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS `$apr_config --includes`"
+ APACHE_CHECK_APxVER([apu], 1, 3)
+ CPPFLAGS="$apu_ckver_CPPFLAGS"
+ else
+ APACHE_CHECK_APxVER([apu], 1, 3)
+ fi
fi
dnl Check for what we can generate dependency files with
sys/prctl.h \
sys/processor.h \
sys/sem.h \
-sys/sdt.h
+sys/sdt.h \
+sys/loadavg.h
)
AC_HEADER_SYS_WAIT
APACHE_SUBST(MATH_LIBS)
LIBS="$saved_LIBS"
+saved_LIBS="$LIBS"
+LIBS=""
+AC_SEARCH_LIBS(crypt, crypt)
+CRYPT_LIBS="$LIBS"
+APACHE_SUBST(CRYPT_LIBS)
+LIBS="$saved_LIBS"
+
dnl See Comment #Spoon
AC_CHECK_FUNCS( \
bindprocessor \
prctl \
timegm \
-getpgid
+getpgid \
+fopen64 \
+getloadavg
)
dnl confirm that a void pointer is large enough to store a long integer
APACHE_CHECK_VOID_PTR_LEN
+AC_CACHE_CHECK([for gettid()], ac_cv_gettid,
+[AC_TRY_RUN(#define _GNU_SOURCE
+#include <unistd.h>
+#include <sys/syscall.h>
+#include <sys/types.h>
+int main(int argc, char **argv) {
+pid_t t = syscall(SYS_gettid); return t == -1 ? 1 : 0; },
+[ac_cv_gettid=yes], [ac_cv_gettid=no], [ac_cv_gettid=no])])
+if test "$ac_cv_gettid" = "yes"; then
+ AC_DEFINE(HAVE_GETTID, 1, [Define if you have gettid()])
+fi
+
dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs
AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
[AC_TRY_COMPILE([#include <sys/types.h>
AC_DEFINE(HAVE_GMTOFF, 1, [Define if struct tm has a tm_gmtoff field])
fi
+APACHE_CHECK_SYSTEMD
+
dnl ## Set up any appropriate OS-specific environment variables for apachectl
case $host in
AC_ARG_ENABLE(dtrace,APACHE_HELP_STRING(--enable-dtrace,Enable DTrace probes),
[
enable_dtrace=$enableval
- APR_ADDTO(CPPFLAGS, -DAPR_DTRACE_PROVIDER)
- AC_MSG_ERROR('DTrace Support in the build system is not complete. Patches Welcome!')
+ if test "$enableval" = "yes"; then
+ APR_ADDTO(CPPFLAGS, -DAPR_DTRACE_PROVIDER)
+ AC_MSG_ERROR('DTrace Support in the build system is not complete. Patches Welcome!')
+ fi
],
[
enable_dtrace=no
APACHE_SUBST(DTRACE)
-APR_CHECK_APR_DEFINE(APR_HAVE_IPV6)
+AC_ARG_ENABLE(hook-probes,APACHE_HELP_STRING(--enable-hook-probes,Enable APR hook probes),
+[
+ if test "$enableval" = "yes"; then
+ AC_DEFINE(AP_HOOK_PROBES_ENABLED, 1,
+ [Enable the APR hook probes capability, reading from ap_hook_probes.h])
+ APR_ADDTO(INTERNAL_CPPFLAGS, -DAP_HOOK_PROBES_ENABLED)
+ fi
+])dnl
-AC_ARG_ENABLE(v4-mapped,APACHE_HELP_STRING(--enable-v4-mapped,Allow IPv6 sockets to handle IPv4 connections),
-[
- v4mapped=$enableval
+AC_ARG_ENABLE(exception-hook,APACHE_HELP_STRING(--enable-exception-hook,Enable fatal exception hook),
+[
+ if test "$enableval" = "yes"; then
+ AC_DEFINE(AP_ENABLE_EXCEPTION_HOOK, 1,
+ [Allow modules to run hook after a fatal exception])
+ fi
+])dnl
+
+AC_ARG_ENABLE(load-all-modules,APACHE_HELP_STRING(--enable-load-all-modules,Load all modules),
+[
+ LOAD_ALL_MODULES=$enableval
+ AC_MSG_NOTICE([Setting "LOAD_ALL_MODULES" to $LOAD_ALL_MODULES])
],
[
- case $host in
- *freebsd5*|*netbsd*|*openbsd*)
- v4mapped=no
- ;;
- *)
- v4mapped=yes
- ;;
-esac
+ LOAD_ALL_MODULES="no"
])
-if test $v4mapped = "yes" -a $ac_cv_define_APR_HAVE_IPV6 = "yes"; then
- AC_DEFINE(AP_ENABLE_V4_MAPPED, 1,
- [Allow IPv4 connections on IPv6 listening sockets])
-fi
-
-AC_ARG_ENABLE(exception-hook,APACHE_HELP_STRING(--enable-exception-hook,Enable fatal exception hook),
+AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings and load all compiled modules),
[
- AC_DEFINE(AP_ENABLE_EXCEPTION_HOOK, 1,
- [Allow modules to run hook after a fatal exception])
+ if test "$enableval" = "yes"; then
+ APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
+ if test "$GCC" = "yes"; then
+ APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith])
+ APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement])
+ APACHE_ADD_GCC_CFLAG([-Werror=declaration-after-statement])
+ APACHE_ADD_GCC_CFLAG([-Wformat])
+ APACHE_ADD_GCC_CFLAG([-Wformat-security])
+ APACHE_ADD_GCC_CFLAG([-Werror=format-security])
+ elif test "$AIX_XLC" = "yes"; then
+ APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro)
+ fi
+ if test "x$enable_load_all_modules" = "x"; then
+ LOAD_ALL_MODULES=yes
+ AC_MSG_NOTICE([Maintainer mode setting "LOAD_ALL_MODULES" to $LOAD_ALL_MODULES])
+ fi
+ if test "x$enable_bucketeer" = "x"; then
+ enable_bucketeer=yes
+ AC_MSG_NOTICE([Maintainer mode setting "enable_bucketeer" to yes])
+ fi
+ fi
])dnl
-AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings),
+AC_ARG_ENABLE(debugger-mode,APACHE_HELP_STRING(--enable-debugger-mode,Turn on debugging and compile time warnings and turn off optimization),
[
- APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
+ if test "$enableval" = "yes"; then
+ APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
+ if test "$GCC" = "yes"; then
+ APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith -O0])
+ APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement])
+ APACHE_ADD_GCC_CFLAG([-Werror=declaration-after-statement])
+ APACHE_ADD_GCC_CFLAG([-Wformat])
+ APACHE_ADD_GCC_CFLAG([-Wformat-security])
+ APACHE_ADD_GCC_CFLAG([-Werror=format-security])
+ elif test "$AIX_XLC" = "yes"; then
+ APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro)
+ fi
+ fi
])dnl
dnl Conditionally enable PIE support for GNU toolchains.
AC_ERROR([--enable-pie requested but $CC failed using PIE flags])
fi
fi
-AC_SUBST(PICFLAGS)
-AC_SUBST(PILDFLAGS)
+APACHE_SUBST(PICFLAGS)
+APACHE_SUBST(PILDFLAGS)
+
+AC_ARG_WITH(valgrind,
+ [ --with-valgrind[[=DIR]] Enable code to reduce valgrind false positives
+ (optionally: set path to valgrind headers) ],
+ [ if test "$withval" != no; then
+ if test "$withval" = yes; then
+ withval=/usr/include/valgrind
+ fi
+ APR_ADDTO(CPPFLAGS, -I$withval)
+ AC_CHECK_HEADERS(valgrind.h memcheck.h)
+ APR_IFALLYES(header:valgrind.h header:memcheck.h,
+ [AC_DEFINE(HAVE_VALGRIND, 1, [Compile in valgrind support]) ],
+ [AC_MSG_ERROR(valgrind headers not found) ]
+ )
+ fi ]
+)
prefix="$orig_prefix"
APACHE_ENABLE_MODULES
esyscmd(./build/config-stubs .)
APACHE_SUBST(progname)
-APACHE_SUBST(MPM_LIB)
APACHE_SUBST(OS)
APACHE_SUBST(OS_DIR)
APACHE_SUBST(BUILTIN_LIBS)
APACHE_SUBST(SHLIBPATH_VAR)
APACHE_SUBST(OS_SPECIFIC_VARS)
+APACHE_SUBST(HTTPD_LIBS)
PRE_SHARED_CMDS='echo ""'
POST_SHARED_CMDS='echo ""'
dnl enable_so tells us if *any* modules can be built as DSOs
-if test "$enable_so" = "yes"; then
+if test "$enable_so" = "yes" -o "$enable_so" = "static"; then
case $host in
*-ibm-aix*)
APR_ADDTO(HTTPD_LDFLAGS, [-Wl,-uXML_Parse -Wl,-bE:$abs_builddir/server/httpd.exp])
AC_ARG_WITH(suexec-logfile,
APACHE_HELP_STRING(--with-suexec-logfile,Set the logfile),[
- AC_DEFINE_UNQUOTED(AP_LOG_EXEC, "$withval", [SuExec log file] ) ] )
+ if test "x$withval" = "xyes"; then
+ AC_MSG_ERROR([log filename required for --with-suexec-logfile option])
+ elif test "x$withval" != "xno"; then
+ AC_DEFINE_UNQUOTED(AP_LOG_EXEC, "$withval", [SuExec log file])
+ fi
+])
+
+AC_ARG_WITH(suexec-syslog,
+APACHE_HELP_STRING(--with-suexec-syslog,Set the logfile),[
+ if test $withval = "yes"; then
+ if test "x${with_suexec_logfile}" != "xno"; then
+ AC_MSG_NOTICE([hint: use "--without-suexec-logfile --with-suexec-syslog"])
+ AC_MSG_ERROR([suexec does not support both logging to file and syslog])
+ fi
+ AC_CHECK_FUNCS([vsyslog], [], [
+ AC_MSG_ERROR([cannot support syslog from suexec without vsyslog()])])
+ AC_DEFINE(AP_LOG_SYSLOG, 1, [SuExec log to syslog])
+ fi
+])
+
AC_ARG_WITH(suexec-safepath,
APACHE_HELP_STRING(--with-suexec-safepath,Set the safepath),[
APACHE_HELP_STRING(--with-suexec-umask,umask for suexec'd process),[
AC_DEFINE_UNQUOTED(AP_SUEXEC_UMASK, 0$withval, [umask for suexec'd process] ) ] )
+INSTALL_SUEXEC=setuid
+AC_ARG_ENABLE([suexec-capabilities],
+APACHE_HELP_STRING(--enable-suexec-capabilities,Use Linux capability bits not setuid root suexec), [
+ if test "$enableval" = "yes"; then
+ INSTALL_SUEXEC=caps
+ AC_DEFINE(AP_SUEXEC_CAPABILITIES, 1,
+ [Enable if suexec is installed with Linux capabilities, not setuid])
+ fi
+])
+APACHE_SUBST(INSTALL_SUEXEC)
+
dnl APR should go after the other libs, so the right symbols can be picked up
if test x${apu_found} != xobsolete; then
AP_LIBS="$AP_LIBS `$apu_config --avoid-ldap --link-libtool --libs`"
[Listening sockets are non-blocking when there are more than 1])
fi
+APR_CHECK_APR_DEFINE(APR_HAVE_IPV6)
+
+AC_ARG_ENABLE(v4-mapped,APACHE_HELP_STRING(--enable-v4-mapped,Allow IPv6 sockets to handle IPv4 connections),
+[
+ v4mapped=$enableval
+],
+[
+ case $host in
+ *freebsd[1234].*)
+ v4mapped=yes
+ ;;
+ *freebsd*|*netbsd*|*openbsd*)
+ v4mapped=no
+ ;;
+ *)
+ v4mapped=yes
+ ;;
+ esac
+ if ap_mpm_is_enabled winnt; then
+ dnl WinNT MPM doesn't support this.
+ v4mapped=no
+ fi
+])
+
+if test $v4mapped = "yes" -a $ac_cv_define_APR_HAVE_IPV6 = "yes"; then
+ AC_DEFINE(AP_ENABLE_V4_MAPPED, 1,
+ [Allow IPv4 connections on IPv6 listening sockets])
+fi
+
+AC_ARG_ENABLE(bsd-makefiles,APACHE_HELP_STRING(--enable-bsd-makefiles,use BSD Makefile syntax),
+[
+ FORCE_BSD_MAKEFILE=$enableval
+ AC_MSG_NOTICE([Setting "FORCE_BSD_MAKEFILE" to $FORCE_BSD_MAKEFILE])
+],
+[
+ FORCE_BSD_MAKEFILE="auto"
+])
APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile)
APACHE_FAST_OUTPUT(os/Makefile server/Makefile)
fi
dnl ## Finalize the variables
-echo $ac_n "${nl}Restore user-defined environment settings...${nl}"
+AC_MSG_NOTICE([])
+AC_MSG_NOTICE([Restore user-defined environment settings...])
+AC_MSG_NOTICE([])
APR_RESTORE_THE_ENVIRONMENT(CPPFLAGS, EXTRA_)
APR_RESTORE_THE_ENVIRONMENT(CFLAGS, EXTRA_)
APR_RESTORE_THE_ENVIRONMENT(LIBS, EXTRA_)
APR_RESTORE_THE_ENVIRONMENT(INCLUDES, EXTRA_)
-echo $ac_n "${nl}Construct makefiles and header files...${nl}"
+AC_MSG_NOTICE([])
+AC_MSG_NOTICE([Construct makefiles and header files...])
+AC_MSG_NOTICE([])
APACHE_GEN_CONFIG_VARS
[Location of the config file, relative to the Apache root directory])
AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types",
[Location of the MIME types config file, relative to the Apache root directory])
-AC_DEFINE_UNQUOTED(APACHE_MPM_DIR, "$MPM_DIR",
- [Location of the source for the current MPM])
perlbin=`$ac_aux_dir/PrintPath perl`
if test "x$perlbin" = "x"; then
fi
AC_SUBST(perlbin)
-dnl If we are running on BSD/OS, we need to use the BSD .include syntax.
+dnl If we are running on a BSD variant, see if we need to use the BSD .include syntax.
-BSD_MAKEFILE=no
ap_make_include=include
+ap_make_ifdef=ifdef
+ap_make_else=else
+ap_make_endif=endif
ap_make_delimiter=' '
-case $host in
-*bsdi*)
- # Check whether they've installed GNU make
- if make --version > /dev/null 2>&1; then
- true
- else
- BSD_MAKEFILE=yes
- ap_make_include=.include
- ap_make_delimiter='"'
- fi
- ;;
-esac
+if test "x$FORCE_BSD_MAKEFILE" = "xno"; then
+ BSD_MAKEFILE=no
+elif test "x$FORCE_BSD_MAKEFILE" = "xyes"; then
+ BSD_MAKEFILE=yes
+else
+ case $host in
+ *bsd*)
+ # Check whether they've installed GNU make
+ if make --version > /dev/null 2>&1; then
+ BSD_MAKEFILE=no
+ else
+ BSD_MAKEFILE=yes
+ fi
+ ;;
+ *)
+ BSD_MAKEFILE=no
+ ;;
+ esac
+fi
+if test "x$BSD_MAKEFILE" = "xyes"; then
+ ap_make_include=.include
+ ap_make_ifdef=.ifdef
+ ap_make_else=.else
+ ap_make_endif=.endif
+ ap_make_delimiter='"'
+fi
+AC_MSG_NOTICE([using BSD Makefile syntax... $BSD_MAKEFILE])
+
AC_SUBST(ap_make_include)
+AC_SUBST(ap_make_ifdef)
+AC_SUBST(ap_make_else)
+AC_SUBST(ap_make_endif)
AC_SUBST(ap_make_delimiter)
dnl Ensure that docs/conf is created.
test -d docs/conf||$mkdir_p docs/conf
-dnl Ensure that the httpd version is included
-HTTPD_VERSION=`$abs_srcdir/build/get-version.sh all $abs_srcdir/include/ap_release.h AP_SERVER`
-AC_SUBST(HTTPD_VERSION)
-
-AC_OUTPUT($APACHE_OUTPUT_FILES docs/conf/httpd.conf docs/conf/extra/httpd-autoindex.conf docs/conf/extra/httpd-dav.conf docs/conf/extra/httpd-default.conf docs/conf/extra/httpd-info.conf docs/conf/extra/httpd-languages.conf docs/conf/extra/httpd-manual.conf docs/conf/extra/httpd-mpm.conf docs/conf/extra/httpd-multilang-errordoc.conf docs/conf/extra/httpd-ssl.conf docs/conf/extra/httpd-userdir.conf docs/conf/extra/httpd-vhosts.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo build/config_vars.sh,[true],[
+AC_OUTPUT($APACHE_OUTPUT_FILES docs/conf/httpd.conf docs/conf/extra/httpd-autoindex.conf docs/conf/extra/httpd-dav.conf docs/conf/extra/httpd-default.conf docs/conf/extra/httpd-info.conf docs/conf/extra/httpd-languages.conf docs/conf/extra/httpd-manual.conf docs/conf/extra/httpd-mpm.conf docs/conf/extra/httpd-multilang-errordoc.conf docs/conf/extra/httpd-policy.conf docs/conf/extra/httpd-ssl.conf docs/conf/extra/httpd-userdir.conf docs/conf/extra/httpd-vhosts.conf docs/conf/extra/proxy-html.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo build/config_vars.sh,[true],[
APACHE_GEN_MAKEFILES
])
-
-case $MPM_SUBDIR_NAME in
-*experimental*)
- echo ""
- echo ""
- echo "============================================================"
- echo " WARNING: THE '${APACHE_MPM}' MPM IS EXPERIMENTAL"
- echo "============================================================"
- echo " The selected MPM might not be fully functional!"
- echo ""
- echo " Development of this MPM is not complete. Do not use this"
- echo " MPM unless you are a programmer willing to help fix it."
- echo ""
- echo " If you are looking for a stable server, you should not use"
- echo " the '${APACHE_MPM}' MPM until it is moved out of experimental."
- echo "============================================================"
- echo ""
- echo ""
- ;;
-esac