configure.in revision 98ae9e8a4fb9568fcaf37bf44e089e7e752ab902
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl ## Process this file with autoconf to produce a configure script
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_PREREQ(2.13)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_INIT(main/http_main.c)
0c9e5b4045874fe433fbe8c9888cdd37aae00704manoj
0c9e5b4045874fe433fbe8c9888cdd37aae00704manojdnl ## This is the central place where Apache's version should be kept.
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAM_INIT_AUTOMAKE(apache, 2.0-dev)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
bf9fb3f500df2694c521d4c7a7343c6e51557227manojAM_CONFIG_HEADER(include/ap_config_auto.h)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAPACHE_VERSION=$VERSION
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_SUBST(APACHE_VERSION)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
0c9e5b4045874fe433fbe8c9888cdd37aae00704manojdnl XXX - make will sometimes die as annoyingly as automake with this option.
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojdnl just remake and continue
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAM_MAINTAINER_MODE
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl We want this one before the checks, so the checks can modify CFLAGS
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojtest -z "$CFLAGS" && auto_cflags=1
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 \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojarpa/inet.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojnetdb.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojpwd.h \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojgrp.h \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj)
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojAC_HEADER_SYS_WAIT
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 \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdifftime \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojgettimeofday \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojmemmove \
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojbzero \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojAC_CHECK_FUNCS(inet_addr inet_network, break, [
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj AC_MSG_ERROR(inet_addr function not found)
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj])
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj
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
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj AC_DEFINE(SELECT_NEEDS_CAST)
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manojfi
aa811cad2eb3fc01d17a5c8eba274b915ab8cd20manoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAM_PROG_LIBTOOL
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl ## Checking command-line options
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojtest -n "$GCC" && test "$USE_MAINTAINER_MODE" = "yes" && \
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj CFLAGS="$CFLAGS -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations"
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojINCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/lib/apr/include"
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_SUBST(INCLUDES)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojdnl reading config stubs
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojesyscmd(./helpers/config-stubs .)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojINCLUDES="$INCLUDES -I\$(top_srcdir)/\$(OS_DIR)"
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_SUBST(EXTRA_LIBS)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_SUBST(REGEX_DIR)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_SUBST(REGEX_LIB)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_SUBST(MPM_LIB)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_SUBST(OS)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanojAC_SUBST(OS_DIR)
22ad84685642948ad15cc1e881ecbc4ac8cbf98cmanoj
06b6cb227bb560084b5f87b30fa0023440abf369manojdnl ## Build modules.c
06b6cb227bb560084b5f87b30fa0023440abf369manojrm -f $srcdir/modules.c
06b6cb227bb560084b5f87b30fa0023440abf369manojecho $MODLIST | $AWK -f $srcdir/helpers/build-modules-c.awk > $srcdir/modules.c
7abe86bacd7821fb83a784398037defc64060a2emanojAC_OUTPUT([Makefile ap/Makefile main/Makefile modules/Makefile
7abe86bacd7821fb83a784398037defc64060a2emanoj modules/standard/Makefile os/Makefile $APACHE_OUTPUT_FILES])