summaryrefslogtreecommitdiff
path: root/m4/ax_prog_apache.m4
diff options
context:
space:
mode:
authorReuben Thomas <rrt@sc3d.org>2009-08-06 22:39:54 +0100
committerReuben Thomas <rrt@sc3d.org>2009-08-06 22:39:54 +0100
commit3ea011f8cd6c4c47bdd8e9779169efe2ad05caa6 (patch)
treeb985d888c9fc54bb8bbf7a7b7b6c3178fc58bb11 /m4/ax_prog_apache.m4
parent2ff01bdb018a1a1bc9e5800314d70e06972192cc (diff)
downloadautoconf-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.m4166
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
+])