1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
dnl @synopsis AC_PROG_APACHE([version])
dnl
dnl This macro searches for an installed apache server. If nothing was
dnl specified when calling configure or just --with-apache, it searches
dnl in
dnl /usr/local/apache/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
dnl The argument of --with-apache specifies the full pathname of the
dnl httpd argument. For instance --with-apache=/usr/sbin/httpd.
dnl
dnl If the version argument is given, AC_PROG_APACHE checks that the
dnl apache server is this version number or higher.
dnl
dnl If the apache server is not found, abort configuration with error
dnl message.
dnl
dnl It defines the symbol APACHE if the server is found.
dnl
dnl Files using apache should do the following:
dnl
dnl @APACHE@ -d /etc/httpd
dnl
dnl It defines the symbol APACHE_MODULES if a directory containing
dnl mod_env.* is found in the default server root directory (obtained
dnl with httpd -V).
dnl
dnl The httpd.conf file listing modules to be loaded dynamicaly can use
dnl @APACHE_MODULES@ to grab them in the appropriate sub directory. For
dnl instance:
dnl
dnl ...
dnl <IfModule mod_so.c>
dnl LoadModule env_module @APACHE_MODULES@/mod_env.so
dnl LoadModule config_log_module @APACHE_MODULES@/mod_log_config.so
dnl ...
dnl
dnl @category InstalledPackages
dnl @author Loic Dachary <loic@senga.org>
dnl @version 2000-07-19
dnl @license GPLWithACException
AC_DEFUN([AC_PROG_APACHE],
#
# Handle user hints
#
[
AC_MSG_CHECKING(if apache is wanted)
AC_ARG_WITH(apache,
[ --with-apache=PATH absolute path name of apache server (default is to search httpd in
/usr/local/apache/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin),
--without-apache to disable apache detection],
[
#
# Run this if -with or -without was specified
#
if test "$withval" != no ; then
AC_MSG_RESULT(yes)
APACHE_WANTED=yes
if test "$withval" != yes ; then
APACHE="$withval"
fi
else
APACHE_WANTED=no
AC_MSG_RESULT(no)
fi
], [
#
# Run this if nothing was said
#
APACHE_WANTED=yes
AC_MSG_RESULT(yes)
])
#
# Now we know if we want apache or not, only go further if
# it's wanted.
#
if test $APACHE_WANTED = yes ; then
#
# If not specified by caller, search in standard places
#
if test -z "$APACHE" ; then
AC_PATH_PROG(APACHE, httpd, , /usr/local/apache/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin)
fi
AC_SUBST(APACHE)
if test -z "$APACHE" ; then
AC_MSG_ERROR("apache server executable not found");
fi
#
# Collect apache version number. If for nothing else, this
# guaranties that httpd is a working apache executable.
#
changequote(<<, >>)dnl
APACHE_READABLE_VERSION=`$APACHE -v | grep 'Server version' | sed -e 's;.*Apache/\([0-9\.][0-9\.]*\).*;\1;'`
changequote([, ])dnl
APACHE_VERSION=`echo $APACHE_READABLE_VERSION | sed -e 's/\.//g'`
if test -z "$APACHE_VERSION" ; then
AC_MSG_ERROR("could not determine apache version number");
fi
APACHE_MAJOR=`expr $APACHE_VERSION : '\(..\)'`
APACHE_MINOR=`expr $APACHE_VERSION : '..\(.*\)'`
#
# Check that apache version matches requested version or above
#
if test -n "$1" ; then
AC_MSG_CHECKING(apache version >= $1)
APACHE_REQUEST=`echo $1 | sed -e 's/\.//g'`
APACHE_REQUEST_MAJOR=`expr $APACHE_REQUEST : '\(..\)'`
APACHE_REQUEST_MINOR=`expr $APACHE_REQUEST : '..\(.*\)'`
if test "$APACHE_MAJOR" -lt "$APACHE_REQUEST_MAJOR" -o "$APACHE_MINOR" -lt "$APACHE_REQUEST_MINOR" ; then
AC_MSG_RESULT(no)
AC_MSG_ERROR(apache version is $APACHE_READABLE_VERSION)
else
AC_MSG_RESULT(yes)
fi
fi
#
# Find out if .so modules are in libexec/module.so or modules/module.so
#
HTTP_ROOT=`$APACHE -V | grep HTTPD_ROOT | sed -e 's/.*"\(.*\)"/\1/'`
AC_MSG_CHECKING(apache modules)
for dir in libexec modules
do
if test -f $HTTP_ROOT/$dir/mod_env.*
then
APACHE_MODULES=$dir
fi
done
if test -z "$APACHE_MODULES"
then
AC_MSG_RESULT(not found)
else
AC_MSG_RESULT(in $HTTP_ROOT/$APACHE_MODULES)
fi
AC_SUBST(APACHE_MODULES)
fi
])
|