| 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) |
| |
| |