diff options
author | Reuben Thomas <rrt@sc3d.org> | 2009-08-06 22:39:54 +0100 |
---|---|---|
committer | Reuben Thomas <rrt@sc3d.org> | 2009-08-06 22:39:54 +0100 |
commit | 3ea011f8cd6c4c47bdd8e9779169efe2ad05caa6 (patch) | |
tree | b985d888c9fc54bb8bbf7a7b7b6c3178fc58bb11 /m4/ax_prog_apache.m4 | |
parent | 2ff01bdb018a1a1bc9e5800314d70e06972192cc (diff) | |
download | autoconf-archive-3ea011f8cd6c4c47bdd8e9779169efe2ad05caa6.tar.gz |
Rename AC_ prefixes to AX_ (only in names of aa macros!).
Diffstat (limited to 'm4/ax_prog_apache.m4')
-rw-r--r-- | m4/ax_prog_apache.m4 | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/m4/ax_prog_apache.m4 b/m4/ax_prog_apache.m4 new file mode 100644 index 0000000..64a744e --- /dev/null +++ b/m4/ax_prog_apache.m4 @@ -0,0 +1,166 @@ +# =========================================================================== +# http://www.nongnu.org/autoconf-archive/ax_prog_apache.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PROG_APACHE([version]) +# +# DESCRIPTION +# +# This macro searches for an installed apache server. If nothing was +# specified when calling configure or just --with-apache, it searches in +# /usr/local/apache/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin +# The argument of --with-apache specifies the full pathname of the httpd +# argument. For instance --with-apache=/usr/sbin/httpd. +# +# If the version argument is given, AX_PROG_APACHE checks that the apache +# server is this version number or higher. +# +# If the apache server is not found, abort configuration with error +# message. +# +# It defines the symbol APACHE if the server is found. +# +# Files using apache should do the following: +# +# @APACHE@ -d /etc/httpd +# +# It defines the symbol APACHE_MODULES if a directory containing mod_env.* +# is found in the default server root directory (obtained with httpd -V). +# +# The httpd.conf file listing modules to be loaded dynamicaly can use +# @APACHE_MODULES@ to grab them in the appropriate sub directory. For +# instance: +# +# ... +# <IfModule mod_so.c> +# LoadModule env_module @APACHE_MODULES@/mod_env.so +# LoadModule config_log_module @APACHE_MODULES@/mod_log_config.so +# ... +# +# LICENSE +# +# Copyright (c) 2008 Loic Dachary <loic@senga.org> +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <http://www.gnu.org/licenses/>. +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +AC_DEFUN([AX_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 +]) |