sinclude(build/apr_common.m4)
sinclude(build/find_apr.m4)
sinclude(build/find_apu.m4)
+sinclude(build/find_ldap.m4)
sinclude(acinclude.m4)
dnl Later versions of autoconf (>= 2.62) by default cause the produced
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`
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])
+
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).
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)])
+APR_ADDTO(AP_LIBS, [\$(PCRE_LIBS)])
echo $ac_n "${nl}Configuring Apache httpd ...${nl}"
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/core -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'
-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=""
- ;;
+echo $ac_n "${nl}Applying OS-specific hints for httpd ...${nl}"
+
+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(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])
;;
*mingw32*)
- APR_ADDTO(CPPFLAGS, [-DAP_DECLARE_EXPORT])
+ APR_ADDTO(INTERNAL_CPPFLAGS, [-DAP_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
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
)
dnl confirm that a void pointer is large enough to store a long integer
APACHE_SUBST(DTRACE)
-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
-],
+AC_ARG_ENABLE(hook-probes,APACHE_HELP_STRING(--enable-hook-probes,Enable APR hook probes),
[
- case $host in
- *freebsd5*|*netbsd*|*openbsd*)
- v4mapped=no
- ;;
- *)
- v4mapped=yes
- ;;
-esac
-])
-
-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_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)
+])dnl
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),
[
APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
+ if test "$GCC" = "yes"; then
+ APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith])
+ AC_CACHE_CHECK([whether gcc accepts -Wdeclaration-after-statement], [ap_cv_cc_Wdas], [
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -Wdeclaration-after-statement"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([int foo() { return 0; }])],
+ [ap_cv_cc_Wdas=yes], [ap_cv_cc_Wdas=no])
+ CFLAGS=$save_CFLAGS
+ ])
+ if test "$ap_cv_cc_Wdas" = "yes"; then
+ APR_ADDTO(CFLAGS,[-Wdeclaration-after-statement])
+ fi
+ elif test "$AIX_XLC" = "yes"; then
+ APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro)
+ fi
+])dnl
+
+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 "$GCC" = "yes"; then
+ APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith -O0])
+ AC_CACHE_CHECK([whether gcc accepts -Wdeclaration-after-statement], [ap_cv_cc_Wdas], [
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -Wdeclaration-after-statement"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([int foo() { return 0; }])],
+ [ap_cv_cc_Wdas=yes], [ap_cv_cc_Wdas=no])
+ CFLAGS=$save_CFLAGS
+ ])
+ if test "$ap_cv_cc_Wdas" = "yes"; then
+ APR_ADDTO(CFLAGS,[-Wdeclaration-after-statement])
+ fi
+ elif test "$AIX_XLC" = "yes"; then
+ APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro)
+ fi
])dnl
dnl Conditionally enable PIE support for GNU toolchains.
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])
[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
+ *freebsd5*|*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
APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile)
APACHE_FAST_OUTPUT(os/Makefile server/Makefile)