]> granicus.if.org Git - apache/blobdiff - configure.in
DOCUMENT_ARGS in 2.4.19
[apache] / configure.in
index f95125ba17e8225dbca6291f98344dd7d3d53fe3..a75f692e1bee99d3f7a6941453d266a004aa6fe8 100644 (file)
@@ -10,6 +10,14 @@ AC_INIT(ABOUT_APACHE)
 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`
+HTTPD_MMN=`$abs_srcdir/build/get-version.sh mmn $abs_srcdir/include/ap_mmn.h MODULE_MAGIC_NUMBER`
+
 dnl #
 dnl # Include our own M4 macros along with those for APR and libtool
 dnl #
@@ -72,19 +80,33 @@ AC_CANONICAL_SYSTEM
 
 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
@@ -92,8 +114,6 @@ if test "$apr_found" = "reconfig"; then
                     [$apache_apr_flags --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir --datadir=$datadir --with-installbuilddir=$installbuilddir],
                     [--enable-layout=*|\'--enable-layout=*])
   dnl We must be the first to build and the last to be cleaned
-dnl  AP_BUILD_SRCLIB_DIRS="apr libapreq $AP_BUILD_SRCLIB_DIRS"
-dnl  AP_CLEAN_SRCLIB_DIRS="$AP_CLEAN_SRCLIB_DIRS libapreq apr"
   AP_BUILD_SRCLIB_DIRS="apr $AP_BUILD_SRCLIB_DIRS"
   AP_CLEAN_SRCLIB_DIRS="$AP_CLEAN_SRCLIB_DIRS apr"
 
@@ -121,16 +141,17 @@ APR_VERSION=`$apr_config --version`
 apr_major_version=`echo ${APR_VERSION} | sed 's,\..*,,'`
 APR_CONFIG="$APR_BINDIR/apr-${apr_major_version}-config"
 
-dnl echo $ac_n "${nl}Configuring Apache Request Library...${nl}"
-dnl APR_SUBDIR_CONFIG(srclib/libapreq, [--with-apr=../apr/apr-2-config --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir --datadir=$datadir --with-installbuilddir=$installbuilddir])
-dnl APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/srclib/libapreq/include])
-
-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. 
@@ -141,7 +162,7 @@ else
 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:
@@ -185,16 +206,20 @@ 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))
 
@@ -209,15 +234,26 @@ if test "$PCRE_CONFIG" != "false"; then
   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)
 
-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.
@@ -239,7 +275,23 @@ APR_ADDTO(INCLUDES, $APU_INCLUDES)
 dnl Add in path to PCRE includes
 APR_ADDTO(INCLUDES, $PCRE_INCLUDES)
 
-echo $ac_n "${nl}Applying OS-specific hints for httpd ...${nl}"
+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
+CPPFLAGS="$save_CPPFLAGS"
+
+AC_MSG_NOTICE([])
+AC_MSG_NOTICE([Applying OS-specific hints for httpd...])
+AC_MSG_NOTICE([])
 
 case $host in
   *os2*)
@@ -289,10 +341,11 @@ case $host in
       ;;
   *-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
       ;;
@@ -305,7 +358,7 @@ case $host in
       dnl solaris 8 and above don't have a thundering herd
       dnl not sure about rev's before this one.
       case `uname -r` in
-        5.[567]*)
+        5.[[567]]*)
             ;;
         * )
             APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
@@ -317,6 +370,7 @@ case $host in
       ;;
   *mingw32*)
       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])
@@ -414,7 +468,8 @@ strings.h \
 sys/prctl.h \
 sys/processor.h \
 sys/sem.h \
-sys/sdt.h
+sys/sdt.h \
+sys/loadavg.h
 )
 AC_HEADER_SYS_WAIT
 
@@ -448,7 +503,8 @@ bindprocessor \
 prctl \
 timegm \
 getpgid \
-fopen64
+fopen64 \
+getloadavg
 )
 
 dnl confirm that a void pointer is large enough to store a long integer
@@ -475,6 +531,8 @@ if test "$ac_cv_struct_tm_gmtoff" = "yes"; then
     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
@@ -510,8 +568,10 @@ DTRACE=true
 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
@@ -535,44 +595,70 @@ APACHE_SUBST(DTRACE)
 
 AC_ARG_ENABLE(hook-probes,APACHE_HELP_STRING(--enable-hook-probes,Enable APR hook probes),
 [
-    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)
+    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(exception-hook,APACHE_HELP_STRING(--enable-exception-hook,Enable fatal exception hook),
 [
-    AC_DEFINE(AP_ENABLE_EXCEPTION_HOOK, 1,
-              [Allow modules to run hook after a fatal exception])
+    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(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings),
+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])
+],
+[
+  LOAD_ALL_MODULES="no"
+])
+
+AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings and load all compiled modules),
 [
-  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)
+  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([-std=c89])
+      APACHE_ADD_GCC_CFLAG([-Werror])
+      APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement])
+      APACHE_ADD_GCC_CFLAG([-Wformat])
+      APACHE_ADD_GCC_CFLAG([-Wformat-security])
+      APACHE_ADD_GCC_CFLAG([-Wunused])
+    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(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])
-    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)
+  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
 
@@ -596,8 +682,24 @@ if test "$enable_pie" = "yes"; then
      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
@@ -611,6 +713,7 @@ 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 ""'
@@ -678,7 +781,26 @@ APACHE_HELP_STRING(--with-suexec-gidmin,Minimal allowed GID),[
 
 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),[
@@ -688,6 +810,17 @@ AC_ARG_WITH(suexec-umask,
 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`"
@@ -718,7 +851,10 @@ AC_ARG_ENABLE(v4-mapped,APACHE_HELP_STRING(--enable-v4-mapped,Allow IPv6 sockets
 ],
 [
     case $host in
-    *freebsd5*|*netbsd*|*openbsd*)
+    *freebsd[[1234]].*)
+        v4mapped=yes
+        ;;
+    *freebsd*|*netbsd*|*openbsd*)
         v4mapped=no
         ;;
     *)
@@ -736,12 +872,13 @@ if test $v4mapped = "yes" -a $ac_cv_define_APR_HAVE_IPV6 = "yes"; then
               [Allow IPv4 connections on IPv6 listening sockets])
 fi
 
-AC_ARG_ENABLE(load-all-modules,APACHE_HELP_STRING(--enable-load-all-modules,Load all modules),
-[ 
-  LOAD_ALL_MODULES=$enableval
+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])
 ],
 [
-  LOAD_ALL_MODULES="no"
+  FORCE_BSD_MAKEFILE="auto"
 ])
 
 APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile) 
@@ -753,7 +890,16 @@ if test -d ./test; then
 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([])
+
+APACHE_CONF_SEL_CC=${CC}
+APACHE_CONF_SEL_CFLAGS=${CFLAGS}
+APACHE_CONF_SEL_LDFLAGS=${LDFLAGS}
+APACHE_CONF_SEL_LIBS=${LIBS}
+APACHE_CONF_SEL_CPPFLAGS=${CPPFLAGS}
+APACHE_CONF_SEL_CPP=${CPP}
 
 APR_RESTORE_THE_ENVIRONMENT(CPPFLAGS, EXTRA_)
 APR_RESTORE_THE_ENVIRONMENT(CFLAGS, EXTRA_)
@@ -762,7 +908,9 @@ APR_RESTORE_THE_ENVIRONMENT(LDFLAGS, 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
 
@@ -784,33 +932,64 @@ 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
+      elif gmake --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 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],[
+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
 ])
+
+AC_MSG_NOTICE([summary of build options:
+
+    Server Version: ${HTTPD_VERSION}
+    Install prefix: ${prefix}
+    C compiler:     ${APACHE_CONF_SEL_CC}
+    CFLAGS:         ${APACHE_CONF_SEL_CFLAGS}
+    LDFLAGS:        ${APACHE_CONF_SEL_LDFLAGS}
+    LIBS:           ${APACHE_CONF_SEL_LIBS}
+    CPPFLAGS:       ${APACHE_CONF_SEL_CPPFLAGS}
+    C preprocessor: ${APACHE_CONF_SEL_CPP}
+])