configure.in revision 46a06e5f359747d9b673ea77fcef89a851192e18
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl ## Process this file with autoconf to produce a configure script
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_PREREQ(2.13)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAC_INIT(acinclude.m4)
c011c534663a2fa9802bddb623fe64ddacfc663erbb
0c9e5b4045874fe433fbe8c9888cdd37aae00704manojdnl ## This is the central place where Apache's version should be kept.
6ca0e6973c8176100f4a426444823ae5e777e28fsaschadnl AM_INIT_AUTOMAKE(apache, 2.0-dev)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaVERSION="apache-2.0-dev"
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAC_CONFIG_HEADER(include/ap_config_auto.h)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAPACHE_VERSION=$VERSION
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(APACHE_VERSION)
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschatest "$exec_prefix" = "NONE" && exec_prefix='${prefix}'
6ca0e6973c8176100f4a426444823ae5e777e28fsaschatest "$prefix" = "NONE" && prefix='/usr/local'
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl Needed for APACHE_MODULE() to work
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojcwd=`pwd`
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
98ae9e8a4fb9568fcaf37bf44e089e7e752ab902manojdnl ## Run configure for packages Apache uses
98ae9e8a4fb9568fcaf37bf44e089e7e752ab902manojAC_CONFIG_SUBDIRS(lib/apr)
98ae9e8a4fb9568fcaf37bf44e089e7e752ab902manoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl ## Check for programs
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
06b6cb227bb560084b5f87b30fa0023440abf369manojAC_PROG_AWK
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_PROG_CC
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_PROG_CPP
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_PROG_INSTALL
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl AC_PROG_RANLIB
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl AC_PATH_PROG(PERL_PATH, perl)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
eb8be08c80084a6c5aca0fbab2c1f2410b25db7dmanojdnl various OS checks that apparently set required flags
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_AIX
eb8be08c80084a6c5aca0fbab2c1f2410b25db7dmanojAC_ISC_POSIX
eb8be08c80084a6c5aca0fbab2c1f2410b25db7dmanojAC_MINIX
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl ## Check for libraries
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl ## Check for header files
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl I think these are just used all over the place, so just check for
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl them at the base of the tree. If some are specific to a single
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl directory, they should be moved (Comment #Spoon)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojAC_HEADER_STDC
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_CHECK_HEADERS( \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojunistd.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojsys/stat.h \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojsys/time.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojsys/types.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojsys/socket.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojnetinet/in.h \
38221be5b2951c31f7cebb2ae7f3646471fed450trawicknetinet/tcp.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojarpa/inet.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojnetdb.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojpwd.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojgrp.h \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj)
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojAC_HEADER_SYS_WAIT
383139bd9ddb83b56cc32d936d3c8ed15acb7c69martinAC_STRUCT_TM
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojdnl ## Check for C preprocessor symbols
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojAC_CHECK_DEFINE(EAGAIN, errno.h)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl ## Check for typedefs, structures, and compiler characteristics.
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojAC_C_CONST
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_C_INLINE
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojAC_TYPE_PID_T
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl ## Check for library functions
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl See Comment #Spoon
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_CHECK_FUNCS( \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojstrdup \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojstrcasecmp \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojstrncasecmp \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojstrstr \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojstrerror \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojinitgroups \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojwaitpid \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojgettimeofday \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojmemmove \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojbzero \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
0f47ee3ae8ede113e11f21bf34f3b11161d3e61drasmusAC_CHECK_LIB(nsl, gethostbyname)
91730099c987cbf1a78df41924ad9ba6733792c2martinAC_CHECK_LIB(nsl, gethostname)
0f47ee3ae8ede113e11f21bf34f3b11161d3e61drasmusAC_CHECK_LIB(socket, socket)
383139bd9ddb83b56cc32d936d3c8ed15acb7c69martinAC_CHECK_LIB(resolv, sethostent)
0f47ee3ae8ede113e11f21bf34f3b11161d3e61drasmus
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojAC_CHECK_FUNCS(inet_addr inet_network, break, [
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj AC_MSG_ERROR(inet_addr function not found)
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj])
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj
0f47ee3ae8ede113e11f21bf34f3b11161d3e61drasmusAPACHE_INADDR_NONE
0f47ee3ae8ede113e11f21bf34f3b11161d3e61drasmus
e2f1d8336d48264cf7715e104b1a69bac57bcbfctrawickAPACHE_EBCDIC
e2f1d8336d48264cf7715e104b1a69bac57bcbfctrawick
05e6aefad7ca4918ddf74ae2a4bf24a5ab347ec5saschaREENTRANCY_FLAGS
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojAC_FUNC_SELECT_ARGTYPES
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojdnl Check if we'll actually need to cast select args all the time
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojif test "$ac_cv_func_select_arg1" != "int" \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj -o "$ac_cv_func_select_arg234" != "fd_set *" \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj -o "$ac_cv_func_select_arg5" != "struct timeval *" ; then
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj
b9e4a86f22b3e8666186b9fe08e9241cdaf50d26manoj AC_DEFINE(SELECT_NEEDS_CAST,,
b9e4a86f22b3e8666186b9fe08e9241cdaf50d26manoj [Define if arguments to select() aren't what we expect])
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojfi
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl ## Checking command-line options
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojtest -n "$GCC" && test "$USE_MAINTAINER_MODE" = "yes" && \
8286a571dd6e517e3ed493e10cee7b138794f470manoj EXTRA_CFLAGS="$EXTRA_CFLAGS -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations"
04d823bcbf34a05048d8e2b3b54d203f41826a6cbentest -n "$GCC" && test "$USE_MAINTAINER_MODE" = "y2" && \
04d823bcbf34a05048d8e2b3b54d203f41826a6cben EXTRA_CFLAGS="$EXTRA_CFLAGS -g -Wall -Werror -Wmissing-declarations"
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_ENABLE_LAYOUT
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_ENABLE_MODULES
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_ENABLE_SHARED
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojINCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/lib/apr/include"
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(INCLUDES)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl reading config stubs
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojesyscmd(./helpers/config-stubs .)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojINCLUDES="$INCLUDES -I\$(top_srcdir)/\$(OS_DIR)"
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaEXTRA_LIBS="$EXTRA_LIBS $LIBS"
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaEXTRA_LDFLAGS="$LDFLAGS"
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaLIBS=""
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaLDFLAGS=""
54435cd5855947861316d7d47a143bf4c8768cbemanojAPACHE_SUBST(EXTRA_CFLAGS)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(EXTRA_LDFLAGS)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(EXTRA_LIBS)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(REGEX_DIR)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(REGEX_LIB)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(MPM_LIB)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(OS)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(OS_DIR)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_SUBST(BUILTIN_LIBS)
bca21a070d927aeca42736eeb02fec5859574a0fbjhAPACHE_SUBST(LIBPRE)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAM_DISABLE_SHARED
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAM_PROG_LIBTOOL
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_LIBTOOL_SILENT
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaif test "$apache_need_shared" = "yes"; then
6ca0e6973c8176100f4a426444823ae5e777e28fsascha $SHELL $srcdir/ltconfig --output=shlibtool --disable-static --srcdir=$srcdir --cache-file=./config.cache $srcdir/ltmain.sh
6ca0e6973c8176100f4a426444823ae5e777e28fsaschafi
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
955090ae4c1760ea528630b791c64754b3ece837manojAPACHE_FAST_OUTPUT(Makefile ap/Makefile lib/Makefile main/Makefile
955090ae4c1760ea528630b791c64754b3ece837manoj modules/Makefile os/Makefile)
6ca0e6973c8176100f4a426444823ae5e777e28fsaschaAPACHE_FAST_GENERATE
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
06b6cb227bb560084b5f87b30fa0023440abf369manojdnl ## Build modules.c
06b6cb227bb560084b5f87b30fa0023440abf369manojrm -f $srcdir/modules.c
06b6cb227bb560084b5f87b30fa0023440abf369manojecho $MODLIST | $AWK -f $srcdir/helpers/build-modules-c.awk > $srcdir/modules.c
6ca0e6973c8176100f4a426444823ae5e777e28fsascha
12b0070d002520b81a273ae892b9ea08e810b123rbbAC_ARG_WITH(program-name,
12b0070d002520b81a273ae892b9ea08e810b123rbb[ --with-program-name=alternate executable name],[
12b0070d002520b81a273ae892b9ea08e810b123rbb progname="$withval" ], [
46a06e5f359747d9b673ea77fcef89a851192e18rbb progname="httpd"] )
12b0070d002520b81a273ae892b9ea08e810b123rbb
955090ae4c1760ea528630b791c64754b3ece837manojAC_OUTPUT_COMMANDS([
955090ae4c1760ea528630b791c64754b3ece837manojecho '/* Generated by configure */' > ${path_h}.new
955090ae4c1760ea528630b791c64754b3ece837manojecho "#define HTTPD_ROOT \"$prefix\"" >> ${path_h}.new
955090ae4c1760ea528630b791c64754b3ece837manojecho "#define SUEXEC_BIN \"$bindir/suexec\"" >> ${path_h}.new
46a06e5f359747d9b673ea77fcef89a851192e18rbbecho "#define SERVER_CONFIG_FILE \"conf/$progname.conf\"" >> ${path_h}.new
955090ae4c1760ea528630b791c64754b3ece837manoj
955090ae4c1760ea528630b791c64754b3ece837manojcmp ${path_h}.new ${path_h} >/dev/null 2>&1
955090ae4c1760ea528630b791c64754b3ece837manojif test $? -ne 0 ; then
955090ae4c1760ea528630b791c64754b3ece837manoj rm -f ${path_h} && mv ${path_h}.new ${path_h} && \
955090ae4c1760ea528630b791c64754b3ece837manoj echo "Updated ${path_h}"
955090ae4c1760ea528630b791c64754b3ece837manojelse
955090ae4c1760ea528630b791c64754b3ece837manoj rm -f ${path_h}.new && \
955090ae4c1760ea528630b791c64754b3ece837manoj echo "${path_h} unchanged"
955090ae4c1760ea528630b791c64754b3ece837manojfi
955090ae4c1760ea528630b791c64754b3ece837manoj],[
955090ae4c1760ea528630b791c64754b3ece837manojpath_h=./include/ap_config_path.h
955090ae4c1760ea528630b791c64754b3ece837manojprefix=$prefix
955090ae4c1760ea528630b791c64754b3ece837manojexec_prefix=$exec_prefix
955090ae4c1760ea528630b791c64754b3ece837manojbindir=$bindir
46a06e5f359747d9b673ea77fcef89a851192e18rbbprogname=$progname
955090ae4c1760ea528630b791c64754b3ece837manoj])
4430ecb172205882391cc75ef17d70722d36ca71rbb
12b0070d002520b81a273ae892b9ea08e810b123rbbAC_OUTPUT($APACHE_OUTPUT_FILES Makefile)
c011c534663a2fa9802bddb623fe64ddacfc663erbb
c011c534663a2fa9802bddb623fe64ddacfc663erbb