1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-06 09:01:14 +03:00
Files
apache/acinclude.m4
Ryan Bloom c1c3267c14 Not all platforms have INADDR_NONE defined by default. Apache used to
check for this and the define it if needed.  Since APR also needs this
check it makes more sense for APR to just check and export a symobl that
is always available.
Submitted by:	Branko �ibej <brane@xbc.nu>
Reviewed by:	Ryan Bloom


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86919 13f79535-47bb-0310-9956-ffa450edef68
2000-11-11 06:06:00 +00:00

397 lines
9.3 KiB
Plaintext

AC_DEFUN(APACHE_CONFIG_NICE,[
rm -f $1
cat >$1<<EOF
#! /bin/sh
#
# Created by configure
EOF
for arg in [$]0 "[$]@"; do
echo "\"[$]arg\" \\" >> $1
done
echo '"[$]@"' >> $1
chmod +x $1
])
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(cgidir)
APACHE_SUBST(logdir)
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(progname)
APACHE_SUBST(prefix)
APACHE_SUBST(CC)
APACHE_SUBST(CFLAGS)
APACHE_SUBST(CPPFLAGS)
APACHE_SUBST(CXX)
APACHE_SUBST(CXXFLAGS)
APACHE_SUBST(LTFLAGS)
APACHE_SUBST(LDFLAGS)
APACHE_SUBST(DEFS)
APACHE_SUBST(LIBTOOL)
APACHE_SUBST(SHELL)
APACHE_SUBST(MODULE_DIRS)
APACHE_SUBST(PORT)
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
])
sinclude(lib/apr/apr_common.m4)
sinclude(lib/apr/hints.m4)
AC_DEFUN(APACHE_CHECK_SIGWAIT_ONE_ARG,[
AC_CACHE_CHECK(whether sigwait takes one argument,ac_cv_sigwait_one_arg,[
AC_TRY_COMPILE([
#ifdef __NETBSD__
/* When using the unproven-pthreads package, we need to pull in this
* header to get a prototype for sigwait(). Else things will fail later
* on. XXX Should probably be fixed in the unproven-pthreads package.
*/
#include <pthread.h>
#endif
#include <signal.h>
],[
sigset_t set;
sigwait(&set);
],[
ac_cv_sigwait_one_arg=yes
],[
ac_cv_sigwait_one_arg=no
])])
if test "$ac_cv_sigwait_one_arg" = "yes"; then
AC_DEFINE(SIGWAIT_TAKES_ONE_ARG,1,[ ])
fi
])
AC_DEFUN(APACHE_EBCDIC,[
AC_CACHE_CHECK([whether system uses EBCDIC],ac_cv_ebcdic,[
AC_TRY_RUN( [
int main(void) {
return (unsigned char)'A' != (unsigned char)0xC1;
}
],[
ac_cv_ebcdic="yes"
],[
ac_cv_ebcdic="no"
],[
ac_cv_ebcdic="no"
])])
if test "$ac_cv_ebcdic" = "yes"; then
AC_DEFINE(CHARSET_EBCDIC,, [Define if system uses EBCDIC])
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/helpers/mkdir.sh $modpath_current
> $modpath_current/modules.mk
])dnl
dnl
AC_DEFUN(APACHE_MODPATH_FINISH,[
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="libapachemod_$1.la"
BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname"
modpath_static="$modpath_static $libname"
cat >>$modpath_current/modules.mk<<EOF
$libname: $objects
\$(LINK) $objects
EOF
else
apache_need_shared=yes
libname="mod_$1.la"
shobjects=`echo $objects | sed 's/\.lo/.slo/'`
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]]]])
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,,no,$5))
undefine([optname])dnl
AC_MSG_RESULT($enable_$1)
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 logdir 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
htdocsdir='$(prefix)/htdocs'
iconsdir='$(prefix)/icons'
cgidir='$(prefix)/cgi-bin'
logdir='$(prefix)/logs'
sysconfdir='${prefix}/conf'
layout_name=Apache
else
APACHE_LAYOUT($srcdir/../config.layout, $LAYOUT)
fi
AC_MSG_CHECKING(for chosen layout)
AC_MSG_RESULT($layout_name)
])dnl
dnl
dnl APACHE_ENABLE_SHARED
dnl
AC_DEFUN(APACHE_ENABLE_SHARED,[
AC_ARG_ENABLE(mods-shared,
[ --enable-mods-shared=MODULE-LIST],[
for i in $enableval; do
eval "enable_$i=shared"
done
])
])dnl
dnl
dnl APACHE_ENABLE_MODULES
dnl
AC_DEFUN(APACHE_ENABLE_MODULES,[
AC_ARG_ENABLE(modules,
[ --enable-modules=MODULE-LIST],[
for i in $enableval; do
eval "enable_$i=yes"
done
])
])dnl
AC_DEFUN(APACHE_REQUIRE_CXX,[
if test -z "$apache_cxx_done"; then
AC_PROG_CXX
AC_PROG_CXXCPP
apache_cxx_done=yes
fi
])