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}"
-APR_SUBDIR_CONFIG(srclib/apr, "$apache_apr_flags --disable-shared --prefix=$prefix")
+APR_SUBDIR_CONFIG(srclib/apr, "$apache_apr_flags --prefix=$prefix")
echo $ac_n "${nl}Configuring Apache Portable Runtime Utility library...${nl}"
-APR_SUBDIR_CONFIG(srclib/apr-util, "--with-apr=../apr --disable-shared --prefix=$prefix")
+APR_SUBDIR_CONFIG(srclib/apr-util, "--with-apr=../apr --prefix=$prefix")
echo $ac_n "${nl}Configuring PCRE regular expression library ...${nl}"
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"
other_targets="$other_targets os2core"
INSTALL_PROG_FLAGS="-e .exe"
+ SHLTCFLAGS=""
+ LTCFLAGS=""
;;
*)
if test "x$LTFLAGS" = "x"; then
LTFLAGS='--silent'
fi
LIBTOOL='$(SHELL) $(top_builddir)/srclib/apr/libtool $(LTFLAGS)'
- SH_LIBTOOL='$(SHELL) $(top_builddir)/shlibtool $(LTFLAGS)'
+ libtoolversion=`$abs_builddir/srclib/apr/libtool --version`
+ case $libtoolversion in
+ *1.4*)
+ 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)
+
+AP_SIG_GRACEFUL=USR1
case $host in
*-apple-aux3*)
APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
;;
*os2_emx*)
- APR_SETVAR(APACHE_MPM, [spmt_os2])
+ APR_SETVAR(APACHE_MPM, [mpmt_os2])
APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
;;
*-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])
;;
* )
;;
dnl This is a hack -- we should be using AC_TRY_RUN instead
ap_platform_runtime_link_flag="-R"
;;
+ *cygwin*)
+ APR_SETVAR(APACHE_MPM, [prefork])
+ APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
+ ;;
esac
dnl
pwd.h \
grp.h \
strings.h \
-sys/processor.h
+sys/processor.h \
+sys/sem.h
)
AC_HEADER_SYS_WAIT
dnl See Comment #Spoon
AC_CHECK_FUNCS( \
+getpwnam \
+getgrnam \
initgroups \
bindprocessor \
+timegm \
)
-AC_CHECK_LIB(nsl, gethostbyname)
-AC_CHECK_LIB(nsl, gethostname)
-AC_CHECK_LIB(socket, socket)
+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
-AC_ARG_WITH(port,[ --with-port=PORT Port on which to listen (default is 80)],
+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
APACHE_ENABLE_LAYOUT
+prefix="$orig_prefix"
APACHE_ENABLE_MODULES
dnl reading config stubs
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_'
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)
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,
[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
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)
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
;;
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,,[
+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
])