| dnl ## Process this file with autoconf to produce a configure script |
| |
| AC_PREREQ(2.13) |
| AC_INIT(acinclude.m4) |
| |
| AC_CONFIG_HEADER(include/ap_config_auto.h) |
| AC_CONFIG_AUX_DIR(.) |
| |
| dnl ## This is the central place where Apache's version should be kept. |
| dnl AM_INIT_AUTOMAKE(apache, 2.0-dev) |
| |
| VERSION="apache-2.0-dev" |
| |
| APACHE_VERSION=$VERSION |
| APACHE_SUBST(APACHE_VERSION) |
| |
| test "$exec_prefix" = "NONE" && exec_prefix='${prefix}' |
| test "$prefix" = "NONE" && prefix='/usr/local' |
| |
| dnl Absolute source/build directory |
| abs_srcdir=`(cd $srcdir && pwd)` |
| abs_builddir=`pwd` |
| |
| APACHE_CONFIG_NICE(config.nice) |
| |
| dnl If the source dir is not equal to the build dir, |
| dnl then we are running in VPATH mode. |
| |
| if test "$abs_builddir" != "$abs_srcdir"; then |
| USE_VPATH=1 |
| fi |
| |
| AC_CANONICAL_SYSTEM |
| |
| dnl |
| dnl ## Preload our OS configuration |
| APR_PRELOAD |
| APACHE_PRELOAD |
| |
| dnl |
| dnl Process command line arguments. This is done early in the process so the |
| dnl user can get feedback quickly in case of an error. |
| dnl |
| dnl ### need to move some of the arguments "up here" |
| |
| dnl ## Check for programs |
| |
| AC_PROG_AWK |
| AC_PROG_CC |
| AC_PROG_CPP |
| AC_PROG_INSTALL |
| AC_PROG_LN_S |
| AC_CHECK_TOOL(RANLIB, ranlib, true) |
| dnl AC_PATH_PROG(PERL_PATH, perl) |
| |
| REENTRANCY_FLAGS |
| |
| dnl various OS checks that apparently set required flags |
| AC_AIX |
| AC_ISC_POSIX |
| AC_MINIX |
| |
| dnl ## Check for libraries |
| |
| dnl ## Check for header files |
| |
| dnl I think these are just used all over the place, so just check for |
| dnl them at the base of the tree. If some are specific to a single |
| dnl directory, they should be moved (Comment #Spoon) |
| |
| dnl Regarding standard header files: AC_HEADER_STDC doesn't set symbols |
| dnl HAVE_STRING_H, HAVE_STDLIB_H, etc., so those are checked for |
| dnl explicitly so that the normal HAVE_xxx_H symbol is defined. |
| |
| AC_HEADER_STDC |
| AC_CHECK_HEADERS( \ |
| string.h \ |
| stdlib.h \ |
| ctype.h \ |
| limits.h \ |
| unistd.h \ |
| sys/time.h \ |
| sys/types.h \ |
| sys/socket.h \ |
| netinet/in.h \ |
| netinet/tcp.h \ |
| arpa/inet.h \ |
| netdb.h \ |
| pwd.h \ |
| grp.h \ |
| strings.h |
| ) |
| AC_HEADER_SYS_WAIT |
| |
| dnl ## Check for typedefs, structures, and compiler characteristics. |
| |
| AC_C_CONST |
| |
| dnl ## Check for library functions |
| |
| dnl See Comment #Spoon |
| |
| AC_CHECK_FUNCS( \ |
| initgroups \ |
| ) |
| |
| AC_CHECK_LIB(nsl, gethostbyname) |
| AC_CHECK_LIB(nsl, gethostname) |
| AC_CHECK_LIB(socket, socket) |
| AC_CHECK_LIB(resolv, sethostent) |
| |
| APACHE_EBCDIC |
| |
| AC_ARG_WITH(optim,[ --with-optim="FLAGS" compiler optimisation flags], |
| [OPTIM="$withval"]) |
| |
| AC_ARG_WITH(port,[ --with-port=PORT Port on which to listen (default is 80)], |
| [PORT="$withval"], |
| [PORT=80]) |
| |
| AC_ARG_WITH(debug,[ --with-debug Turn on debugging and compile time warnings], |
| [if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -g -Wall"; else CFLAGS="$CFLAGS -g"; fi]) |
| |
| AC_ARG_WITH(maintainer-mode,[ --with-maintainer-mode Turn on debugging and compile time warnings], |
| [if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -DAP_DEBUG"; else CFLAGS="$CFLAGS -g"; fi]) |
| |
| APACHE_ENABLE_LAYOUT |
| APACHE_ENABLE_MODULES |
| APACHE_ENABLE_SHARED |
| |
| INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/srclib/apr/include -I\$(top_srcdir)/srclib/apr-util/include" |
| if test -n "$USE_VPATH"; then |
| INCLUDES="$INCLUDES -I\$(top_builddir)/include -I\$(top_builddir)/srclib/apr/include" |
| fi |
| |
| dnl reading config stubs |
| esyscmd(./build/config-stubs .) |
| |
| INCLUDES="$INCLUDES -I\$(top_srcdir)/os/\$(OS_DIR)" |
| EXTRA_LIBS="$EXTRA_LIBS $LIBS" |
| EXTRA_LDFLAGS="$LDFLAGS" |
| LIBS="" |
| LDFLAGS="" |
| APACHE_SUBST(progname) |
| APACHE_SUBST(EXTRA_CFLAGS) |
| APACHE_SUBST(EXTRA_LDFLAGS) |
| APACHE_SUBST(EXTRA_LIBS) |
| APACHE_SUBST(INCLUDES) |
| APACHE_SUBST(MPM_LIB) |
| APACHE_SUBST(OS) |
| APACHE_SUBST(OS_DIR) |
| APACHE_SUBST(BUILTIN_LIBS) |
| APACHE_SUBST(LIBPRE) |
| |
| AM_DISABLE_SHARED |
| AM_PROG_LIBTOOL |
| APACHE_LIBTOOL_SILENT |
| |
| if test "$apache_need_shared" = "yes"; then |
| $SHELL $srcdir/ltconfig --output=shlibtool --disable-static --srcdir=$srcdir --cache-file=./config.cache $srcdir/ltmain.sh |
| case $PLATFORM in |
| *os390) |
| CFLAGS="$CFLAGS -Wc,DLL,EXPORTALL" |
| ;; |
| esac |
| fi |
| |
| AC_ARG_WITH(program-name, |
| [ --with-program-name=alternate executable name],[ |
| progname="$withval" ], [ |
| progname="httpd"] ) |
| |
| dnl ### util_xml is always included, so we always need Expat (for now) |
| apache_need_expat=yes |
| |
| 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="srclib/pcre/libpcre.la srclib/apr-util/libaprutil.la" |
| |
| if test "$apache_need_expat" = "yes"; then |
| AP_LIB_DIRS="$AP_LIB_DIRS expat-lite" |
| AP_LIBS="$AP_LIBS srclib/expat-lite/libexpat.la" |
| INCLUDES="$INCLUDES -I\$(top_srcdir)/srclib/expat-lite" |
| fi |
| |
| dnl APR should go after the other libs, so the right symbols can be picked up |
| AP_LIBS="$AP_LIBS srclib/apr/\$(LIBPRE)apr.a" |
| APACHE_SUBST(AP_LIB_DIRS) |
| APACHE_SUBST(AP_LIBS) |
| |
| AC_DEFINE(AP_USING_AUTOCONF, 1, |
| [Using autoconf to configure Apache]) |
| |
| if test "$SINGLE_LISTEN_UNSERIALIZED_ACCEPT" = "1"; then |
| AC_DEFINE(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, 1, |
| [This platform doesn't suffer from the thundering herd problem]) |
| fi |
| |
| dnl check for endianness |
| if test "$cross_compiling" = "no"; then |
| AC_C_BIGENDIAN |
| else |
| AC_DEFINE(AP_UNKNOWN_BYTE_ORDER,1, |
| [byte order is unknown due to cross-compilation]) |
| fi |
| |
| 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 test/Makefile srclib/pcre/Makefile) |
| for i in $AP_LIB_DIRS; do |
| APACHE_FAST_OUTPUT(srclib/$i/Makefile) |
| done |
| |
| dnl ## Run configure for packages Apache uses |
| dnl ## This has been placed at this location for a reason. This allows |
| dnl ## Apache to set some variable that APR needs (like whether to enable |
| dnl ## or disable threads), while still allowing APR to run and generate |
| dnl ## APRVARS before Apache generates it's Makefiles and the related files. |
| dnl ## This allows APR to detect libraries like dl and tell Apache that it |
| dnl ## needs to include or not include them. |
| RUN_SUBDIR_CONFIG_NOW(srclib/apr, $apache_apr_flags) |
| RUN_SUBDIR_CONFIG_NOW(srclib/apr-util, "--with-apr=../apr") |
| RUN_SUBDIR_CONFIG_NOW(srclib/pcre) |
| . ./srclib/apr/APRVARS |
| |
| dnl get the exported vars from APRUTIL |
| . ./srclib/apr-util/export_vars.sh |
| EXTRA_LIBS="$EXTRA_LIBS $APRUTIL_EXPORT_LIBS" |
| |
| APACHE_GEN_CONFIG_VARS |
| |
| dnl ## Build modules.c |
| rm -f modules.c |
| echo $MODLIST | $AWK -f $srcdir/build/build-modules-c.awk > modules.c |
| |
| AC_OUTPUT_COMMANDS([ |
| echo '/* Generated by configure */' > ${path_h}.new |
| echo "#define HTTPD_ROOT \"$prefix\"" >> ${path_h}.new |
| echo "#define SUEXEC_BIN \"$bindir/suexec\"" >> ${path_h}.new |
| echo "#define SERVER_CONFIG_FILE \"conf/$progname.conf\"" >> ${path_h}.new |
| echo "#define APACHE_MPM_DIR \"$mpmdir\"" >> ${path_h}.new |
| |
| cmp ${path_h}.new ${path_h} >/dev/null 2>&1 |
| if test $? -ne 0 ; then |
| rm -f ${path_h} && mv ${path_h}.new ${path_h} && \ |
| echo "Updated ${path_h}" |
| else |
| rm -f ${path_h}.new && \ |
| echo "${path_h} unchanged" |
| fi |
| ],[ |
| path_h=./include/ap_config_path.h |
| prefix=$prefix |
| exec_prefix=$exec_prefix |
| bindir=$bindir |
| progname=$progname |
| mpmdir=$MPM_DIR |
| ]) |
| |
| AC_TYPE_RLIM_T |
| |
| perlbin=`$srcdir/build/PrintPath perl` |
| AC_SUBST(perlbin) |
| |
| dnl If we are running on BSD/OS, we need to use the BSD .include syntax. |
| |
| BSD_MAKEFILE=no |
| case "$host_alias" in |
| *bsdi*) |
| BSD_MAKEFILE=yes;; |
| esac |
| |
| AC_OUTPUT($APACHE_OUTPUT_FILES support/apxs support/apachectl,,[ |
| APACHE_GEN_MAKEFILES |
| ]) |
| |