dnl ## Process this file with autoconf to produce a configure script AC_PREREQ(2.13) AC_INIT(acinclude.m4) 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" AC_CONFIG_HEADER(include/ap_config_auto.h) 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 dnl ## Run configure for packages Apache uses AC_CONFIG_SUBDIRS(lib/pcre lib/apr) dnl dnl ## Preload our OS configuration APR_PRELOAD dnl ## Check for programs AC_PROG_AWK AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL dnl AC_PROG_RANLIB 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/stat.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 \ ) AC_HEADER_SYS_WAIT AC_STRUCT_TM dnl ## Check for C preprocessor symbols AC_CHECK_DEFINE(EAGAIN, errno.h) dnl ## Check for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_PID_T dnl ## Check for library functions dnl See Comment #Spoon AC_CHECK_FUNCS( \ strdup \ strcasecmp \ strncasecmp \ strstr \ strerror \ initgroups \ waitpid \ gettimeofday \ memmove \ bzero \ ) AC_CHECK_LIB(nsl, gethostbyname) AC_CHECK_LIB(nsl, gethostname) AC_CHECK_LIB(socket, socket) AC_CHECK_LIB(resolv, sethostent) AC_CHECK_FUNCS(inet_addr inet_network, break, [ AC_MSG_ERROR(inet_addr function not found) ]) APACHE_INADDR_NONE APACHE_EBCDIC AC_FUNC_SELECT_ARGTYPES dnl Check if we'll actually need to cast select args all the time if test "$ac_cv_func_select_arg1" != "int" \ -o "$ac_cv_func_select_arg234" != "fd_set *" \ -o "$ac_cv_func_select_arg5" != "struct timeval *" ; then AC_DEFINE(SELECT_NEEDS_CAST,, [Define if arguments to select() aren't what we expect]) fi AC_ARG_WITH(optim,[ --with-optim="FLAGS" compiler optimisation flags], [OPTIM="$withval"]) 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"; else CFLAGS="$CFLAGS -g"; fi]) APACHE_ENABLE_LAYOUT APACHE_ENABLE_MODULES APACHE_ENABLE_SHARED INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/lib/apr/include" if test -n "$USE_VPATH"; then INCLUDES="$INCLUDES -I\$(top_builddir)/include -I\$(top_builddir)/lib/apr/include" fi dnl reading config stubs esyscmd(./helpers/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 fi AC_ARG_WITH(program-name, [ --with-program-name=alternate executable name],[ progname="$withval" ], [ progname="httpd"] ) APACHE_FAST_OUTPUT(Makefile ap/Makefile lib/Makefile main/Makefile modules/Makefile os/Makefile support/Makefile) APACHE_FAST_GENERATE dnl There needs to be a .deps file in the top build directory. dnl All others are created dynamically by rules.mk. touch .deps dnl ## Build modules.c rm -f $srcdir/modules.c echo $MODLIST | $AWK -f $srcdir/helpers/build-modules-c.awk > $srcdir/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 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 ]) perlbin=`./helpers/PrintPath perl` AC_SUBST(perlbin) AC_OUTPUT($APACHE_OUTPUT_FILES support/apxs)