1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-26 19:01:35 +03:00
Files
apache/acinclude.m4
Marc Slemko 2918690131 Temporary (hopefully) reversion to the previously used hack to
allow --prefix to work for now.  This means that part of the Apache
layout is duplicated in configure.in again.

There are a _LOT_ of inconsistencies in different places about what
items in config.layout are actually used and how they can be set.

Also, change the couple of other things that are necessary to make
/usr/local/apache2 the default prefix when using this way of doing
things.

PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88704 13f79535-47bb-0310-9956-ffa450edef68
2001-04-03 23:47:39 +00:00

388 lines
9.8 KiB
Plaintext

AC_DEFUN(APACHE_PASSTHRU,[
unset ac_cv_pass_$1
AC_CACHE_VAL(ac_cv_pass_$1, [ac_cv_pass_$1=$$1])
])
dnl APACHE_SUBST(VARIABLE)
dnl Makes VARIABLE available in generated files
dnl (do not use @variable@ in Makefiles, but $(variable))
AC_DEFUN(APACHE_SUBST,[
APACHE_VAR_SUBST="$APACHE_VAR_SUBST $1"
AC_SUBST($1)
])
dnl APACHE_FAST_OUTPUT(FILENAME)
dnl Perform substitutions on FILENAME (Makefiles only)
AC_DEFUN(APACHE_FAST_OUTPUT,[
APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES $1"
])
dnl APACHE_MKDIR_P_CHECK
dnl checks whether mkdir -p works
AC_DEFUN(APACHE_MKDIR_P_CHECK,[
AC_CACHE_CHECK(for working mkdir -p, ac_cv_mkdir_p,[
test -d conftestdir && rm -rf conftestdir
mkdir -p conftestdir/somedir >/dev/null 2>&1
if test -d conftestdir/somedir; then
ac_cv_mkdir_p=yes
else
ac_cv_mkdir_p=no
fi
rm -rf conftestdir
])
])
dnl APACHE_GEN_CONFIG_VARS
dnl Creates config_vars.mk
AC_DEFUN(APACHE_GEN_CONFIG_VARS,[
APACHE_SUBST(abs_srcdir)
APACHE_SUBST(bindir)
APACHE_SUBST(sbindir)
APACHE_SUBST(cgidir)
APACHE_SUBST(logfiledir)
APACHE_SUBST(exec_prefix)
APACHE_SUBST(datadir)
APACHE_SUBST(localstatedir)
APACHE_SUBST(libexecdir)
APACHE_SUBST(htdocsdir)
APACHE_SUBST(includedir)
APACHE_SUBST(iconsdir)
APACHE_SUBST(sysconfdir)
APACHE_SUBST(other_targets)
APACHE_SUBST(progname)
APACHE_SUBST(prefix)
APACHE_SUBST(AWK)
APACHE_SUBST(CC)
APACHE_SUBST(CFLAGS)
APACHE_SUBST(CPPFLAGS)
APACHE_SUBST(CXX)
APACHE_SUBST(CXXFLAGS)
APACHE_SUBST(LTFLAGS)
APACHE_SUBST(LDFLAGS)
APACHE_SUBST(SH_LDFLAGS)
APACHE_SUBST(HTTPD_LDFLAGS)
APACHE_SUBST(DEFS)
APACHE_SUBST(LIBTOOL)
APACHE_SUBST(SHELL)
APACHE_SUBST(MODULE_DIRS)
APACHE_SUBST(PORT)
APACHE_SUBST(NOTEST_CFLAGS)
APACHE_SUBST(NOTEST_LDFLAGS)
APACHE_SUBST(CORE_IMPLIB_FILE)
APACHE_SUBST(CORE_IMPLIB)
APACHE_SUBST(SH_LIBTOOL)
APACHE_SUBST(MK_IMPLIB)
abs_srcdir="`(cd $srcdir && pwd)`"
APACHE_MKDIR_P_CHECK
echo creating config_vars.mk
> config_vars.mk
for i in $APACHE_VAR_SUBST; do
eval echo "$i = \$$i" >> config_vars.mk
done
])
dnl APACHE_GEN_MAKEFILES
dnl Creates Makefiles
AC_DEFUN(APACHE_GEN_MAKEFILES,[
$SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $APACHE_FAST_OUTPUT_FILES
])
AC_DEFUN(APACHE_LIBTOOL_SILENT,[
LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent'
])
dnl ## APACHE_OUTPUT(file)
dnl ## adds "file" to the list of files generated by AC_OUTPUT
dnl ## This macro can be used several times.
AC_DEFUN(APACHE_OUTPUT, [
APACHE_OUTPUT_FILES="$APACHE_OUTPUT_FILES $1"
])
dnl
dnl AC_ADD_LIBRARY(library)
dnl
dnl add a library to the link line
dnl
AC_DEFUN(AC_ADD_LIBRARY,[
APACHE_ONCE(LIBRARY, $1, [
EXTRA_LIBS="$EXTRA_LIBS -l$1"
])
])
dnl
dnl AC_CHECK_DEFINE(macro, headerfile)
dnl
dnl checks for the macro in the header file
dnl
AC_DEFUN(AC_CHECK_DEFINE,[
AC_CACHE_CHECK(for $1 in $2, ac_cv_define_$1,
AC_EGREP_CPP([YES_IS_DEFINED], [
#include <$2>
#ifdef $1
YES_IS_DEFINED
#endif
], ac_cv_define_$1=yes, ac_cv_define_$1=no))
if test "$ac_cv_define_$1" = "yes" ; then
AC_DEFINE(HAVE_$1,,
[Define if the macro "$1" is defined on this system])
fi
])
dnl
dnl AC_TYPE_RLIM_T
dnl
dnl If rlim_t is not defined, define it to int
dnl
AC_DEFUN(AC_TYPE_RLIM_T, [
AC_CACHE_CHECK([for rlim_t], ac_cv_type_rlim_t, [
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
], [rlim_t spoon;], [
ac_cv_type_rlim_t=yes
],[ac_cv_type_rlim_t=no
])
])
if test "$ac_cv_type_rlim_t" = "no" ; then
AC_DEFINE(rlim_t, int,
[Define to 'int' if <sys/resource.h> doesn't define it for us])
fi
])
dnl
dnl APACHE_ONCE(namespace, variable, code)
dnl
dnl execute code, if variable is not set in namespace
dnl
AC_DEFUN(APACHE_ONCE,[
unique=`echo $ac_n "$2$ac_c" | tr -cd a-zA-Z0-9`
cmd="echo $ac_n \"\$$1$unique$ac_c\""
if test -n "$unique" && test "`eval $cmd`" = "" ; then
eval "$1$unique=set"
$3
fi
])
dnl APACHE_MODPATH_INIT(modpath)
AC_DEFUN(APACHE_MODPATH_INIT,[
current_dir=$1
modpath_current=modules/$1
modpath_static=
modpath_shared=
test -d $1 || $srcdir/build/mkdir.sh $modpath_current
> $modpath_current/modules.mk
])dnl
dnl
AC_DEFUN(APACHE_MODPATH_FINISH,[
echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk
echo "static = $modpath_static" >> $modpath_current/modules.mk
echo "shared = $modpath_shared" >> $modpath_current/modules.mk
if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then
MODULE_DIRS="$MODULE_DIRS $current_dir"
fi
APACHE_FAST_OUTPUT($modpath_current/Makefile)
])dnl
dnl
dnl APACHE_MODPATH_ADD(name[, shared[, objects [, ldflags[, libs]]]])
AC_DEFUN(APACHE_MODPATH_ADD,[
if test -z "$3"; then
objects="mod_$1.lo"
else
objects="$3"
fi
if test -z "$module_standalone"; then
if test -z "$2"; then
libname="mod_$1.la"
BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname"
modpath_static="$modpath_static $libname"
cat >>$modpath_current/modules.mk<<EOF
$libname: $objects
\$(MOD_LINK) $objects
EOF
else
apache_need_shared=yes
libname="mod_$1.la"
shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
modpath_shared="$modpath_shared $libname"
cat >>$modpath_current/modules.mk<<EOF
$libname: $shobjects
\$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5
EOF
fi
fi
])dnl
dnl
dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]])
dnl
dnl default is one of:
dnl yes -- enabled by default. user must explicitly disable.
dnl no -- disabled under default, most, all. user must explicitly enable.
dnl most -- disabled by default. enabled explicitly or with most or all.
dnl "" -- disabled under default, most. enabled explicitly or with all.
dnl
dnl basically: yes/no is a hard setting. "most" means follow the "most"
dnl setting. otherwise, fall under the "all" setting.
dnl explicit yes/no always overrides.
dnl
AC_DEFUN(APACHE_MODULE,[
AC_MSG_CHECKING(whether to enable mod_$1)
define([optname],[ --]ifelse($5,yes,disable,enable)[-]translit($1,_,-))dnl
AC_ARG_ENABLE(translit($1,_,-),optname() substr([ ],len(optname()))$2,,enable_$1=ifelse($5,,maybe-all,$5))
undefine([optname])dnl
_apmod_extra_msg=""
if test "$enable_$1" = "most"; then
if test "$module_selection" = "most" -o "$module_selection" = "all"; then
enable_$1=$module_default
_apmod_extra_msg=" ($module_selection)"
else
enable_$1=no
fi
elif test "$enable_$1" = "maybe-all"; then
if test "$module_selection" = "all"; then
enable_$1=$module_default
_apmod_extra_msg=" (all)"
else
enable_$1=no
fi
fi
AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
if test "$enable_$1" != "no"; then
case "$enable_$1" in
shared*)
enable_$1=`echo $ac_n $enable_$1$ac_c|sed 's/shared,*//'`
sharedobjs=yes
shared=yes;;
*)
MODLIST="$MODLIST ifelse($4,,$1,$4)"
if test "$1" = "so"; then
sharedobjs=yes
fi
shared="";;
esac
ifelse([$6],,:,[$6])
APACHE_MODPATH_ADD($1, $shared, $3)
fi
])dnl
dnl
dnl APACHE_LAYOUT(configlayout, layoutname)
AC_DEFUN(APACHE_LAYOUT,[
if test ! -f $srcdir/config.layout; then
echo "** Error: Layout file $srcdir/config.layout not found"
echo "** Error: Cannot use undefined layout '$LAYOUT'"
exit 1
fi
pldconf=./config.pld
changequote({,})
sed -e "1,/[ ]*<[lL]ayout[ ]*$2[ ]*>[ ]*/d" \
-e '/[ ]*<\/Layout>[ ]*/,$d' \
-e "s/^[ ]*//g" \
-e "s/:[ ]*/=\'/g" \
-e "s/[ ]*$/'/g" \
$1 > $pldconf
layout_name=$2
. $pldconf
rm $pldconf
for var in prefix exec_prefix bindir sbindir libexecdir mandir \
sysconfdir datadir iconsdir htdocsdir cgidir includedir \
localstatedir runtimedir logfiledir proxycachedir; do
eval "val=\"\$$var\""
case $val in
*+)
val=`echo $val | sed -e 's;\+$;;'`
eval "$var=\"\$val\""
autosuffix=yes
;;
*)
autosuffix=no
;;
esac
val=`echo $val | sed -e 's:\(.\)/*$:\1:'`
val=`echo $val | sed -e 's:$\([a-z_]*\):$(\1):g'`
if test "$autosuffix" = "yes"; then
if echo $val | grep apache >/dev/null; then
addtarget=no
else
addtarget=yes
fi
if test "$addtarget" = "yes"; then
val="$val/apache"
fi
fi
eval "$var='$val'"
done
changequote([,])
])dnl
dnl
dnl APACHE_ENABLE_LAYOUT
dnl
AC_DEFUN(APACHE_ENABLE_LAYOUT,[
AC_ARG_ENABLE(layout,
[ --enable-layout=LAYOUT],[
LAYOUT=$enableval
])
if test -z "$LAYOUT"; then
# XXX FIXME: this isn't a complete list of things that have to be set to
# create the Apache layout in config.layout, and it really should just
# use what is specified in config.layout instead of duping it.
htdocsdir='$(prefix)/htdocs'
iconsdir='$(prefix)/icons'
cgidir='$(prefix)/cgi-bin'
logfiledir='$(prefix)/logs'
sysconfdir='${prefix}/conf'
libexecdir='${prefix}/modules'
layout_name=Apache
else
APACHE_LAYOUT($srcdir/config.layout, $LAYOUT)
fi
AC_MSG_CHECKING(for chosen layout)
AC_MSG_RESULT($layout_name)
])
dnl
dnl APACHE_ENABLE_MODULES
dnl
AC_DEFUN(APACHE_ENABLE_MODULES,[
module_selection=default
module_default=yes
AC_ARG_ENABLE(modules,
[ --enable-modules=MODULE-LIST],[
for i in $enableval; do
if test "$i" = "all" -o "$i" = "most"; then
module_selection=$i
else
eval "enable_$i=yes"
fi
done
])
AC_ARG_ENABLE(mods-shared,
[ --enable-mods-shared=MODULE-LIST],[
for i in $enableval; do
if test "$i" = "all" -o "$i" = "most"; then
module_selection=$i
module_default=shared
else
eval "enable_$i=shared"
fi
done
])
])
AC_DEFUN(APACHE_REQUIRE_CXX,[
if test -z "$apache_cxx_done"; then
AC_PROG_CXX
AC_PROG_CXXCPP
apache_cxx_done=yes
fi
])