]> granicus.if.org Git - apache/blobdiff - configure.in
Fix RedirectMatch so it won't emit invalid Location fields.
[apache] / configure.in
index 61e8fb8126979c49e4a7e09d8cdb15fb1677f10f..285d6464f2ae05d83ef07fef5cf9d9d52c8c087d 100644 (file)
@@ -43,6 +43,11 @@ test "$exec_prefix" = "NONE" && exec_prefix='${prefix}'
 
 dnl ## Run configure for packages Apache uses
 
+dnl shared library support for these packages doesn't currently
+dnl work on some platforms
+
+AC_CANONICAL_SYSTEM
+
 orig_prefix="$prefix"
 
 echo $ac_n "${nl}Configuring Apache Portable Runtime library ...${nl}"
@@ -85,21 +90,20 @@ dnl then we are running in VPATH mode.
 
 if test "$abs_builddir" != "$abs_srcdir"; then
   USE_VPATH=1
-  APR_ADDTO(INCLUDES, [-I. -I\$(srcdir) -I\$(top_builddir)/os/\$(OS_DIR) -I\$(top_srcdir)/os/\$(OS_DIR) -I\$(top_builddir)/server/mpm/\$(MPM_NAME) -I\$(top_srcdir)/server/mpm/\$(MPM_NAME) -I\$(top_builddir)/modules/http -I\$(top_srcdir)/modules/http -I\$(top_builddir)/include -I\$(top_srcdir)/include -I\$(top_builddir)/srclib/apr/include -I\$(top_srcdir)/srclib/apr/include -I\$(top_builddir)/srclib/apr-util/include -I\$(top_srcdir)/srclib/apr-util/include])
+  APR_ADDTO(INCLUDES, [-I. -I\$(srcdir) -I\$(top_builddir)/os/\$(OS_DIR) -I\$(top_srcdir)/os/\$(OS_DIR) -I\$(top_builddir)/server/mpm/\$(MPM_NAME) -I\$(top_srcdir)/server/mpm/\$(MPM_NAME) -I\$(top_builddir)/modules/http -I\$(top_srcdir)/modules/http -I\$(top_srcdir)/modules/proxy -I\$(top_builddir)/include -I\$(top_srcdir)/include -I\$(top_builddir)/srclib/apr/include -I\$(top_srcdir)/srclib/apr/include -I\$(top_builddir)/srclib/apr-util/include -I\$(top_srcdir)/srclib/apr-util/include])
 else
-  APR_ADDTO(INCLUDES, [-I. -I\$(top_srcdir)/os/\$(OS_DIR) -I\$(top_srcdir)/server/mpm/\$(MPM_NAME) -I\$(top_srcdir)/modules/http -I\$(top_srcdir)/include -I\$(top_srcdir)/srclib/apr/include -I\$(top_srcdir)/srclib/apr-util/include])
+  APR_ADDTO(INCLUDES, [-I. -I\$(top_srcdir)/os/\$(OS_DIR) -I\$(top_srcdir)/server/mpm/\$(MPM_NAME) -I\$(top_srcdir)/modules/http -I\$(top_srcdir)/modules/proxy -I\$(top_srcdir)/include -I\$(top_srcdir)/srclib/apr/include -I\$(top_srcdir)/srclib/apr-util/include])
 fi
 
 echo $ac_n "${nl}Applying OS-specific hints for httpd ...${nl}"
 
-AC_CANONICAL_SYSTEM
-
 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"
@@ -131,6 +135,8 @@ esac
 APACHE_SUBST(SHLTCFLAGS)
 APACHE_SUBST(LTCFLAGS)
 
+AP_SIG_GRACEFUL=USR1
+
 case $host in
   *-apple-aux3*)
       APR_SETVAR(APACHE_MPM, [prefork])
@@ -146,7 +152,11 @@ case $host in
       ;;
   *-linux-*)
       case `uname -r` in
-        2.[[2-9]]* ) APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
+        2.0* ) 
+            AP_SIG_GRACEFUL=WINCH
+            ;;
+        2.[[2-9]]* ) 
+            APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
             ;;
         * )
             ;;
@@ -229,13 +239,40 @@ getpwnam \
 getgrnam \
 initgroups \
 bindprocessor \
+timegm \
 )
 
-AC_ARG_WITH(port,[  --with-port=PORT        Port on which to listen (default is 80)],
+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>
+#include <time.h>], [struct tm tm; tm.tm_gmtoff;],
+  ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
+if test "$ac_cv_struct_tm_gmtoff" = "yes"; then
+    AC_DEFINE(HAVE_GMTOFF)
+fi
+
+dnl ## Set up any appropriate OS-specific environment variables for apachectl
+
+case $host in
+    *aix*)
+        # for 32-bit builds, increase MAXDATA to allow lots of threads
+        if test x$COMPILE_MODE != 64; then
+            OS_SPECIFIC_VARS="set LDR_CNTRL=\"MAXDATA=0x80000000\" ; export LDR_CNTRL ;"
+        fi
+        OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS set AIXTHREAD_SCOPE=S ; export AIXTHREAD_SCOPE"
+        ;;
+    *os390*)
+        OS_SPECIFIC_VARS="export _CEE_RUNOPTS=\"STACK(,,ANY)\" ; export _EDC_ADD_ERRNO2=1"
+        ;;
+    *)
+        OS_SPECIFIC_VARS=""
+esac
+      
+AC_ARG_WITH(port,APACHE_HELP_STRING(--with-port=PORT,Port on which to listen (default is 80)),
         [if test "$withval" = "yes"; then AC_MSG_ERROR('option --with-port requires a value (the TCP port number)'); else PORT="$withval"; fi],
        [PORT=80])
 
-AC_ARG_ENABLE(maintainer-mode,[  --enable-maintainer-mode  Turn on debugging and compile time warnings],
+AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings),
 [
   APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
 ])dnl
@@ -252,16 +289,29 @@ APACHE_SUBST(MPM_LIB)
 APACHE_SUBST(OS)
 APACHE_SUBST(OS_DIR)
 APACHE_SUBST(BUILTIN_LIBS)
+APACHE_SUBST(SHLIBPATH_VAR)
+APACHE_SUBST(OS_SPECIFIC_VARS)
 
 PRE_SHARED_CMDS='echo ""'
 POST_SHARED_CMDS='echo ""'
 
+dnl apache_need_shared tells us if Apache modules are being built as DSOs
+
 if test "$apache_need_shared" = "yes"; then
-  $SHELL $ac_aux_dir/ltconfig --output=shlibtool --disable-static --srcdir=$ac_aux_dir --cache-file=./config.cache $ac_aux_dir/ltmain.sh
+  if test -f $ac_aux_dir/ltconfig; then
+    $SHELL $ac_aux_dir/ltconfig --output=shlibtool --disable-static --srcdir=$ac_aux_dir --cache-file=./config.cache $ac_aux_dir/ltmain.sh
+  fi
+  shared_build="shared-build"
+fi
+
+dnl enable_so tells us if *any* modules can be built as DSOs
+
+if test "$enable_so" = "yes"; then
   case $host in
     *-ibm-aix*)
-      HTTPD_LDFLAGS="$HTTPD_LDFLAGS -Wl,-bE:$abs_srcdir/server/httpd.exp"
-      SH_LDFLAGS="$SH_LDFLAGS -Wl,-bI:$abs_srcdir/server/httpd.exp"
+      HTTPD_LDFLAGS="$HTTPD_LDFLAGS -Wl,-uXML_Parse -Wl,-bE:$abs_builddir/server/httpd.exp"
+      SH_LDFLAGS="$SH_LDFLAGS \$(EXTRA_LDFLAGS) \$(EXTRA_LIBS)"
+      UTIL_LDFLAGS="$UTIL_LDFLAGS -Wl,-uXML_Parse"
       ;;
     *beos)
       SH_LDFLAGS='$(top_builddir)/_APP_'
@@ -272,7 +322,6 @@ if test "$apache_need_shared" = "yes"; then
       HTTPD_LDFLAGS="$HTTPD_LDFLAGS --main=$abs_srcdir/server/main.o --core-dll=$abs_srcdir/apachecore.dll"
       SH_LDFLAGS="$SH_LDFLAGS --core-dll=$abs_srcdir/apachecore.dll"
   esac
-  shared_build="shared-build"
 fi
 
 APACHE_SUBST(PRE_SHARED_CMDS)
@@ -280,50 +329,53 @@ APACHE_SUBST(POST_SHARED_CMDS)
 APACHE_SUBST(shared_build)
 
 AC_ARG_WITH(program-name,
-[  --with-program-name     alternate executable name],[
+APACHE_HELP_STRING(--with-program-name,alternate executable name),[
   progname="$withval" ], [
   progname="httpd"] )
 
 # SuExec parameters
+AC_ARG_WITH(suexec-bin,
+APACHE_HELP_STRING(--with-suexec-bin,Path to suexec binary),[
+  AC_DEFINE_UNQUOTED(SUEXEC_BIN, "$withval", [Path to suexec binary] )
+] )
+
 AC_ARG_WITH(suexec-caller,
-[  --with-suexec-caller    User allowed to call SuExec],[
+APACHE_HELP_STRING(--with-suexec-caller,User allowed to call SuExec),[
   AC_DEFINE_UNQUOTED(AP_HTTPD_USER, "$withval", [User allowed to call SuExec] ) ] )
 
 AC_ARG_WITH(suexec-userdir,
-[  --with-suexec-userdir   User subdirectory],[
+APACHE_HELP_STRING(--with-suexec-userdir,User subdirectory),[
   AC_DEFINE_UNQUOTED(AP_USERDIR_SUFFIX, "$withval", [User subdirectory] ) ] )
 
 AC_ARG_WITH(suexec-docroot,
-[  --with-suexec-docroot   SuExec root directory],[
+APACHE_HELP_STRING(--with-suexec-docroot,SuExec root directory),[
   AC_DEFINE_UNQUOTED(AP_DOC_ROOT, "$withval", [SuExec root directory] ) ] )
 
 AC_ARG_WITH(suexec-uidmin,
-[  --with-suexec-uidmin    Minimal allowed UID],[
+APACHE_HELP_STRING(--with-suexec-uidmin,Minimal allowed UID),[
   AC_DEFINE_UNQUOTED(AP_UID_MIN, $withval, [Minimum allowed UID] ) ] )
 
 AC_ARG_WITH(suexec-gidmin,
-[  --with-suexec-gidmin    Minimal allowed GID],[
+APACHE_HELP_STRING(--with-suexec-gidmin,Minimal allowed GID),[
   AC_DEFINE_UNQUOTED(AP_GID_MIN, $withval, [Minimum allowed GID] ) ] )
 
 AC_ARG_WITH(suexec-logfile,
-[  --with-suexec-logfile   Set the logfile],[
+APACHE_HELP_STRING(--with-suexec-logfile,Set the logfile),[
   AC_DEFINE_UNQUOTED(AP_LOG_EXEC, "$withval", [SuExec log file] ) ] )
 
 AC_ARG_WITH(suexec-safepath,
-[  --with-suexec-safepath  Set the safepath],[
+APACHE_HELP_STRING(--with-suexec-safepath,Set the safepath),[
   AC_DEFINE_UNQUOTED(AP_SAFE_PATH, "$withval", [safe shell path for SuExec] ) ] )
 
 AC_ARG_WITH(suexec-umask,
-[  --with-suexec-umask     umask for suexec'd process],[
+APACHE_HELP_STRING(--with-suexec-umask,umask for suexec'd process),[
   AC_DEFINE_UNQUOTED(AP_SUEXEC_UMASK, 0$withval, [umask for suexec'd process] ) ] )
 
-dnl AP_LIB_DIRS specifies the additional libs from srclib/ that we need
 dnl AP_LIBS specifies the actual libraries. note we have some required libs.
 AP_LIBS="$abs_builddir/srclib/pcre/libpcre.la $abs_builddir/srclib/apr-util/libaprutil.la $AP_LIBS"
 
 dnl APR should go after the other libs, so the right symbols can be picked up
 AP_LIBS="$AP_LIBS $abs_builddir/srclib/apr/libapr.la"
-APACHE_SUBST(AP_LIB_DIRS)
 APACHE_SUBST(AP_LIBS)
 
 AC_DEFINE(AP_USING_AUTOCONF, 1,
@@ -334,6 +386,15 @@ if test "$SINGLE_LISTEN_UNSERIALIZED_ACCEPT" = "1"; then
               [This platform doesn't suffer from the thundering herd problem])
 fi
 
+AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL, SIG$AP_SIG_GRACEFUL, [Signal used to gracefully restart])
+AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL_STRING, "SIG$AP_SIG_GRACEFUL", [Signal used to gracefully restart (as a quoted string)])
+AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL_SHORT, $AP_SIG_GRACEFUL, [Signal used to gracefully restart (without SIG prefix)])
+AP_SIG_GRACEFUL_SHORT=$AP_SIG_GRACEFUL
+AP_SIG_GRACEFUL=SIG$AP_SIG_GRACEFUL_SHORT
+AC_SUBST(AP_SIG_GRACEFUL)
+AC_SUBST(AP_SIG_GRACEFUL_STRING)
+AC_SUBST(AP_SIG_GRACEFUL_SHORT)
+
 dnl check for endianness
 if test "$cross_compiling" = "no"; then
   AC_C_BIGENDIAN
@@ -346,9 +407,6 @@ APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile)
 APACHE_FAST_OUTPUT(os/beos/Makefile os/os2/Makefile os/Makefile)
 APACHE_FAST_OUTPUT(os/unix/Makefile server/Makefile)
 APACHE_FAST_OUTPUT(support/Makefile srclib/pcre/Makefile)
-for i in $AP_LIB_DIRS; do
-  APACHE_FAST_OUTPUT(srclib/$i/Makefile)
-done
 
 if test -d ./test; then
     APACHE_FAST_OUTPUT(test/Makefile)
@@ -357,6 +415,8 @@ fi
 dnl get the exported vars from APRUTIL
 . ./srclib/apr-util/export_vars.sh
 APR_ADDTO(LIBS, $APRUTIL_EXPORT_LIBS)
+APR_ADDTO(INCLUDES, $APRUTIL_EXPORT_INCLUDES)
+APR_ADDTO(LDFLAGS, $APRUTIL_LDFLAGS)
 AP_LIBS="$AP_LIBS $LIBTOOL_LIBS"
 
 dnl ## Finalize the variables
@@ -404,7 +464,7 @@ case $host in
     ;;
 esac
 
-AC_OUTPUT($APACHE_OUTPUT_FILES support/apxs support/apachectl support/dbmmanage support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk,,[
+AC_OUTPUT($APACHE_OUTPUT_FILES 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,,[
   APACHE_GEN_MAKEFILES
 ])