2 dnl APACHE_HELP_STRING(LHS, RHS)
3 dnl Autoconf 2.50 can not handle substr correctly. It does have
4 dnl AC_HELP_STRING, so let's try to call it if we can.
5 dnl Note: this define must be on one line so that it can be properly returned
6 dnl as the help string.
7 AC_DEFUN(APACHE_HELP_STRING,[ifelse(regexp(AC_ACVERSION, 2\.1), -1, AC_HELP_STRING($1,$2),[ ]$1 substr([ ],len($1))$2)])dnl
9 dnl APACHE_SUBST(VARIABLE)
10 dnl Makes VARIABLE available in generated files
11 dnl (do not use @variable@ in Makefiles, but $(variable))
12 AC_DEFUN(APACHE_SUBST,[
13 APACHE_VAR_SUBST="$APACHE_VAR_SUBST $1"
17 dnl APACHE_FAST_OUTPUT(FILENAME)
18 dnl Perform substitutions on FILENAME (Makefiles only)
19 AC_DEFUN(APACHE_FAST_OUTPUT,[
20 APACHE_FAST_OUTPUT_FILES="$APACHE_FAST_OUTPUT_FILES $1"
23 dnl APACHE_GEN_CONFIG_VARS
24 dnl Creates config_vars.mk
25 AC_DEFUN(APACHE_GEN_CONFIG_VARS,[
26 APACHE_SUBST(HTTPD_VERSION)
27 APACHE_SUBST(HTTPD_MMN)
28 APACHE_SUBST(abs_srcdir)
32 APACHE_SUBST(logfiledir)
33 APACHE_SUBST(exec_prefix)
35 APACHE_SUBST(localstatedir)
38 APACHE_SUBST(libexecdir)
39 APACHE_SUBST(htdocsdir)
40 APACHE_SUBST(manualdir)
41 APACHE_SUBST(includedir)
42 APACHE_SUBST(errordir)
43 APACHE_SUBST(iconsdir)
44 APACHE_SUBST(sysconfdir)
45 APACHE_SUBST(installbuilddir)
46 APACHE_SUBST(runtimedir)
47 APACHE_SUBST(proxycachedir)
48 APACHE_SUBST(other_targets)
49 APACHE_SUBST(progname)
55 APACHE_SUBST(CPPFLAGS)
57 APACHE_SUBST(CXXFLAGS)
60 APACHE_SUBST(LT_LDFLAGS)
61 APACHE_SUBST(SH_LDFLAGS)
62 APACHE_SUBST(HTTPD_LDFLAGS)
63 APACHE_SUBST(UTIL_LDFLAGS)
66 APACHE_SUBST(INCLUDES)
67 APACHE_SUBST(NOTEST_CPPFLAGS)
68 APACHE_SUBST(NOTEST_CFLAGS)
69 APACHE_SUBST(NOTEST_CXXFLAGS)
70 APACHE_SUBST(NOTEST_LDFLAGS)
71 APACHE_SUBST(NOTEST_LIBS)
72 APACHE_SUBST(EXTRA_CPPFLAGS)
73 APACHE_SUBST(EXTRA_CFLAGS)
74 APACHE_SUBST(EXTRA_CXXFLAGS)
75 APACHE_SUBST(EXTRA_LDFLAGS)
76 APACHE_SUBST(EXTRA_LIBS)
77 APACHE_SUBST(EXTRA_INCLUDES)
78 APACHE_SUBST(INTERNAL_CPPFLAGS)
82 APACHE_SUBST(MODULE_DIRS)
83 APACHE_SUBST(MODULE_CLEANDIRS)
86 APACHE_SUBST(CORE_IMPLIB_FILE)
87 APACHE_SUBST(CORE_IMPLIB)
89 APACHE_SUBST(SH_LIBTOOL)
90 APACHE_SUBST(MK_IMPLIB)
92 APACHE_SUBST(INSTALL_PROG_FLAGS)
93 APACHE_SUBST(DSO_MODULES)
94 APACHE_SUBST(ENABLED_DSO_MODULES)
95 APACHE_SUBST(LOAD_ALL_MODULES)
96 APACHE_SUBST(APR_BINDIR)
97 APACHE_SUBST(APR_INCLUDEDIR)
98 APACHE_SUBST(APR_VERSION)
99 APACHE_SUBST(APR_CONFIG)
100 APACHE_SUBST(APU_BINDIR)
101 APACHE_SUBST(APU_INCLUDEDIR)
102 APACHE_SUBST(APU_VERSION)
103 APACHE_SUBST(APU_CONFIG)
105 abs_srcdir="`(cd $srcdir && pwd)`"
107 AC_MSG_NOTICE([creating config_vars.mk])
108 test -d build || $mkdir_p build
109 > build/config_vars.mk
110 for i in $APACHE_VAR_SUBST; do
111 eval echo "$i = \$$i" >> build/config_vars.mk
115 dnl APACHE_GEN_MAKEFILES
116 dnl Creates Makefiles
117 AC_DEFUN(APACHE_GEN_MAKEFILES,[
118 $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $APACHE_FAST_OUTPUT_FILES
121 dnl ## APACHE_OUTPUT(file)
122 dnl ## adds "file" to the list of files generated by AC_OUTPUT
123 dnl ## This macro can be used several times.
124 AC_DEFUN(APACHE_OUTPUT, [
125 APACHE_OUTPUT_FILES="$APACHE_OUTPUT_FILES $1"
129 dnl APACHE_TYPE_RLIM_T
131 dnl If rlim_t is not defined, define it to int
133 AC_DEFUN(APACHE_TYPE_RLIM_T, [
134 AC_CACHE_CHECK([for rlim_t], ac_cv_type_rlim_t, [
136 #include <sys/types.h>
137 #include <sys/time.h>
138 #include <sys/resource.h>
139 ], [rlim_t spoon;], [
140 ac_cv_type_rlim_t=yes
141 ],[ac_cv_type_rlim_t=no
144 if test "$ac_cv_type_rlim_t" = "no" ; then
145 AC_DEFINE(rlim_t, int,
146 [Define to 'int' if <sys/resource.h> doesn't define it for us])
150 dnl the list of build variables which are available for customization on a
151 dnl per module subdir basis (to be inserted into modules.mk with a "MOD_"
152 dnl prefix, i.e. MOD_CFLAGS etc.). Used in APACHE_MODPATH_{INIT,FINISH}.
153 define(mod_buildvars, [CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES])
155 dnl APACHE_MODPATH_INIT(modpath)
156 AC_DEFUN(APACHE_MODPATH_INIT,[
158 modpath_current=modules/$1
161 for var in mod_buildvars; do
164 test -d $1 || $srcdir/build/mkdir.sh $modpath_current
165 > $modpath_current/modules.mk
168 AC_DEFUN(APACHE_MODPATH_FINISH,[
169 echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk
170 echo "static = $modpath_static" >> $modpath_current/modules.mk
171 echo "shared = $modpath_shared" >> $modpath_current/modules.mk
172 for var in mod_buildvars; do
173 if eval val=\"\$MOD_$var\"; test -n "$val"; then
174 echo "MOD_$var = $val" >> $modpath_current/modules.mk
177 if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then
178 MODULE_DIRS="$MODULE_DIRS $current_dir"
180 MODULE_CLEANDIRS="$MODULE_CLEANDIRS $current_dir"
182 APACHE_FAST_OUTPUT($modpath_current/Makefile)
185 dnl APACHE_MODPATH_ADD(name[, shared[, objects [, ldflags[, libs]]]])
186 AC_DEFUN(APACHE_MODPATH_ADD,[
187 if test -z "$3"; then
193 if test -z "$module_standalone"; then
194 if test -z "$2"; then
195 # The filename of a convenience library must have a "lib" prefix:
196 libname="libmod_$1.la"
197 BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname"
198 modpath_static="$modpath_static $libname"
199 cat >>$modpath_current/modules.mk<<EOF
201 \$(MOD_LINK) $objects $5
203 if test ! -z "$5"; then
204 APR_ADDTO(AP_LIBS, [$5])
207 apache_need_shared=yes
209 shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
210 modpath_shared="$modpath_shared $libname"
211 cat >>$modpath_current/modules.mk<<EOF
213 \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5
220 dnl APACHE_MPM_MODULE(name[, shared[, objects[, config[, path[, libs]]]]])
222 dnl Provide information for building the MPM. (Enablement is handled using
223 dnl --with-mpm/--enable-mpms-shared.)
225 dnl name -- name of MPM, same as MPM directory name
226 dnl shared -- "shared" to indicate shared module build, empty string otherwise
227 dnl objects -- one or more .lo files to link into the MPM module (default: mpmname.lo)
228 dnl config -- configuration logic to run if the MPM is enabled
229 dnl path -- relative path to MPM (default: server/mpm/mpmname)
230 dnl libs -- libs needed by this MPM
232 AC_DEFUN(APACHE_MPM_MODULE,[
233 if ap_mpm_is_enabled $1; then
234 if test -z "$3"; then
240 if test -z "$5"; then
241 mpmpath="server/mpm/$1"
247 test -d $mpmpath || $srcdir/build/mkdir.sh $mpmpath
249 APACHE_FAST_OUTPUT($mpmpath/Makefile)
251 if test -z "$2"; then
252 APR_ADDTO(AP_LIBS, [$6])
254 cat >$mpmpath/modules.mk<<EOF
256 \$(MOD_LINK) $objects
257 DISTCLEAN_TARGETS = modules.mk
262 apache_need_shared=yes
263 libname="mod_mpm_$1.la"
264 shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
265 cat >$mpmpath/modules.mk<<EOF
267 \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $objects $6
268 DISTCLEAN_TARGETS = modules.mk
272 DSO_MODULES="$DSO_MODULES mpm_$1"
273 # add default MPM to LoadModule list
274 if test $1 = $default_mpm; then
275 ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},mpm_$1"
283 dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config[, prereq_module]]]]])
285 dnl default is one of:
286 dnl yes -- enabled by default. user must explicitly disable.
287 dnl no -- disabled under default, most, all. user must explicitly enable.
288 dnl most -- disabled by default. enabled explicitly or with most or all.
289 dnl static -- enabled as static by default, must be explicitly changed.
290 dnl "" -- disabled under default, most. enabled explicitly or with all.
291 dnl XXX: The arg must really be empty here. Passing an empty shell
292 dnl XXX: variable doesn't work for some reason. This should be
295 dnl basically: yes/no is a hard setting. "most" means follow the "most"
296 dnl setting. otherwise, fall under the "all" setting.
297 dnl explicit yes/no always overrides, except if the user selects
300 dnl prereq_module is a module (without the "mod_" prefix) that must be enabled
301 dnl if the current module is enabled. If the current module is built
302 dnl statically, prereq_module must be built statically, too. If these
303 dnl conditions are not fulfilled, configure will abort if the current module
304 dnl has been enabled explicitly. Otherwise, configure will disable the
306 dnl prereq_module's APACHE_MODULE() statement must have been processed
307 dnl before the current APACHE_MODULE() statement.
309 AC_DEFUN(APACHE_MODULE,[
310 AC_MSG_CHECKING(whether to enable mod_$1)
311 define([optname],[--]ifelse($5,yes,disable,enable)[-]translit($1,_,-))dnl
312 AC_ARG_ENABLE(translit($1,_,-),APACHE_HELP_STRING(optname(),$2),force_$1=$enableval,enable_$1=ifelse($5,,maybe-all,$5))
313 undefine([optname])dnl
315 dnl When --enable-modules=most or --enable-modules=(really)all is set and the
316 dnl module was not explicitly requested, allow a module to disable itself if
317 dnl its pre-reqs fail.
320 _apmod_required="yes"
323 case "$module_selection" in
328 _apmod_required="yes"
332 if test "$enable_$1" = "static"; then
334 elif test "$enable_$1" = "yes"; then
335 enable_$1=$module_default
336 elif test "$enable_$1" = "most"; then
337 if test "$module_selection" = "most" -o "$module_selection" = "all" -o \
338 "$module_selection" = "reallyall"
340 enable_$1=$module_default
341 elif test "$module_selection" = "few" -o "$module_selection" = "none"; then
344 _apmod_extra_msg=" ($module_selection)"
345 elif test "$enable_$1" = "maybe-all"; then
346 if test "$module_selection" = "all" -o "$module_selection" = "reallyall"
348 enable_$1=$module_default
349 _apmod_extra_msg=" ($module_selection)"
353 elif test "$enable_$1" = "no" -a "$module_selection" = "reallyall" -a \
354 "$force_$1" != "no" ; then
355 enable_$1=$module_default
356 _apmod_extra_msg=" ($module_selection)"
358 if test "$enable_$1" != "no"; then
359 dnl If we plan to enable it, allow the module to run some autoconf magic
360 dnl that may disable it because of missing dependencies.
362 [AC_MSG_RESULT([checking dependencies])
363 ifelse([$7],,:,[if test "$enable_$7" = "no" ; then
365 AC_MSG_WARN("mod_$7 is disabled but required for mod_$1")
366 elif test "$enable_$1" = "static" && test "$enable_$7" != "static" ; then
368 AC_MSG_WARN("cannot build mod_$1 statically if mod_$7 is built shared")
370 ifelse([$6],,:,[ $6])
372 AC_MSG_CHECKING(whether to enable mod_$1)
373 if test "$enable_$1" = "no"; then
374 if test "$_apmod_required" = "no"; then
375 _apmod_extra_msg=" (disabled)"
377 AC_MSG_ERROR([mod_$1 has been requested but can not be built due to prerequisite failures])
381 AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
382 if test "$enable_$1" != "no"; then
385 MODLIST="$MODLIST ifelse($4,,$1,$4)"
386 if test "$1" = "so"; then
391 enable_$1=`echo $enable_$1|sed 's/shared,*//'`
394 DSO_MODULES="$DSO_MODULES $1"
395 if test "$5" = "yes" ; then
396 ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},$1"
400 define([modprefix], [MOD_]translit($1, [a-z-], [A-Z_]))
401 APACHE_MODPATH_ADD($1, $shared, $3,, [\$(]modprefix[_LDADD)])
402 APACHE_SUBST(modprefix[_LDADD])
403 undefine([modprefix])
408 dnl APACHE_ENABLE_MODULES
410 AC_DEFUN(APACHE_ENABLE_MODULES,[
411 module_selection=most
412 module_default=shared
414 dnl Check whether we have DSO support.
415 dnl If "yes", we build shared modules by default.
416 APR_CHECK_APR_DEFINE(APR_HAS_DSO)
418 if test $ac_cv_define_APR_HAS_DSO = "no"; then
419 AC_MSG_WARN([Missing DSO support - building static modules by default.])
420 module_default=static
424 AC_ARG_ENABLE(modules,
425 APACHE_HELP_STRING(--enable-modules=MODULE-LIST,Space-separated list of modules to enable | "all" | "most" | "few" | "none" | "reallyall"),[
426 if test "$enableval" = "none"; then
428 module_selection=none
430 for i in $enableval; do
431 if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
435 i=`echo $i | sed 's/-/_/g'`
436 eval "enable_$i=shared"
442 AC_ARG_ENABLE(mods-shared,
443 APACHE_HELP_STRING(--enable-mods-shared=MODULE-LIST,Space-separated list of shared modules to enable | "all" | "most" | "few" | "reallyall"),[
444 for i in $enableval; do
445 if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
448 module_default=shared
450 i=`echo $i | sed 's/-/_/g'`
451 eval "enable_$i=shared"
456 AC_ARG_ENABLE(mods-static,
457 APACHE_HELP_STRING(--enable-mods-static=MODULE-LIST,Space-separated list of static modules to enable | "all" | "most" | "few" | "reallyall"),[
458 for i in $enableval; do
459 if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"; then
461 module_default=static
463 i=`echo $i | sed 's/-/_/g'`
464 eval "enable_$i=static"
470 AC_DEFUN(APACHE_REQUIRE_CXX,[
471 if test -z "$apache_cxx_done"; then
479 dnl APACHE_CHECK_OPENSSL
481 dnl Configure for OpenSSL, giving preference to
482 dnl "--with-ssl=<path>" if it was specified.
484 AC_DEFUN(APACHE_CHECK_OPENSSL,[
485 AC_CACHE_CHECK([for OpenSSL], [ac_cv_openssl], [
486 dnl initialise the variables we use
492 dnl Determine the OpenSSL base directory, if any
493 AC_MSG_CHECKING([for user-provided OpenSSL base directory])
494 AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=PATH,OpenSSL installation directory), [
495 dnl If --with-ssl specifies a directory, we use that directory
496 if test "x$withval" != "xyes" -a "x$withval" != "x"; then
497 dnl This ensures $withval is actually a directory and that it is absolute
498 ap_openssl_base="`cd $withval ; pwd`"
501 if test "x$ap_openssl_base" = "x"; then
504 AC_MSG_RESULT($ap_openssl_base)
507 dnl Run header and version checks
508 saved_CPPFLAGS="$CPPFLAGS"
510 saved_LDFLAGS="$LDFLAGS"
512 dnl Before doing anything else, load in pkg-config variables
513 if test -n "$PKGCONFIG"; then
514 saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
515 if test "x$ap_openssl_base" != "x" -a \
516 -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then
517 dnl Ensure that the given path is used by pkg-config too, otherwise
518 dnl the system openssl.pc might be picked up instead.
519 PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}"
520 export PKG_CONFIG_PATH
522 AC_ARG_ENABLE(ssl-staticlib-deps,APACHE_HELP_STRING(--enable-ssl-staticlib-deps,[link mod_ssl with dependencies of OpenSSL's static libraries (as indicated by "pkg-config --static"). Must be specified in addition to --enable-ssl.]), [
523 if test "$enableval" = "yes"; then
524 PKGCONFIG_LIBOPTS="--static"
527 ap_openssl_libs="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-l --silence-errors openssl`"
528 if test $? -eq 0; then
529 ap_openssl_found="yes"
530 pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
531 APR_ADDTO(CPPFLAGS, [$pkglookup])
532 APR_ADDTO(MOD_CFLAGS, [$pkglookup])
533 APR_ADDTO(ab_CFLAGS, [$pkglookup])
534 pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-L openssl`"
535 APR_ADDTO(LDFLAGS, [$pkglookup])
536 APR_ADDTO(MOD_LDFLAGS, [$pkglookup])
537 pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-other openssl`"
538 APR_ADDTO(LDFLAGS, [$pkglookup])
539 APR_ADDTO(MOD_LDFLAGS, [$pkglookup])
541 PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH"
544 dnl fall back to the user-supplied directory if not found via pkg-config
545 if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then
546 APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
547 APR_ADDTO(MOD_CFLAGS, [-I$ap_openssl_base/include])
548 APR_ADDTO(ab_CFLAGS, [-I$ap_openssl_base/include])
549 APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
550 APR_ADDTO(MOD_LDFLAGS, [-L$ap_openssl_base/lib])
551 if test "x$ap_platform_runtime_link_flag" != "x"; then
552 APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
553 APR_ADDTO(MOD_LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
557 AC_MSG_CHECKING([for OpenSSL version >= 0.9.8a])
558 AC_TRY_COMPILE([#include <openssl/opensslv.h>],[
559 #if !defined(OPENSSL_VERSION_NUMBER)
560 #error "Missing OpenSSL version"
562 #if OPENSSL_VERSION_NUMBER < 0x0090801f
563 #error "Unsupported OpenSSL version " OPENSSL_VERSION_TEXT
567 [AC_MSG_RESULT(FAILED)])
569 if test "x$ac_cv_openssl" = "xyes"; then
570 ap_openssl_libs="${ap_openssl_libs:--lssl -lcrypto} `$apr_config --libs`"
571 APR_ADDTO(MOD_LDFLAGS, [$ap_openssl_libs])
572 APR_ADDTO(LIBS, [$ap_openssl_libs])
573 APR_SETVAR(ab_LDFLAGS, [$MOD_LDFLAGS])
574 APACHE_SUBST(ab_CFLAGS)
575 APACHE_SUBST(ab_LDFLAGS)
577 dnl Run library and function checks
579 AC_CHECK_HEADERS([openssl/engine.h])
580 AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])
581 AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines RAND_egd])
582 if test "x$liberrors" != "x"; then
583 AC_MSG_WARN([OpenSSL libraries are unusable])
586 AC_MSG_WARN([OpenSSL version is too old])
590 CPPFLAGS="$saved_CPPFLAGS"
592 LDFLAGS="$saved_LDFLAGS"
594 if test "x$ac_cv_openssl" = "xyes"; then
595 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL is available])
600 dnl APACHE_EXPORT_ARGUMENTS
601 dnl Export (via APACHE_SUBST) the various path-related variables that
602 dnl apache will use while generating scripts like autoconf and apxs and
603 dnl the default config file.
605 AC_DEFUN(APACHE_SUBST_EXPANDED_ARG,[
606 APR_EXPAND_VAR(exp_$1, [$]$1)
608 APR_PATH_RELATIVE(rel_$1, [$]exp_$1, ${prefix})
612 AC_DEFUN(APACHE_EXPORT_ARGUMENTS,[
613 APACHE_SUBST_EXPANDED_ARG(exec_prefix)
614 APACHE_SUBST_EXPANDED_ARG(bindir)
615 APACHE_SUBST_EXPANDED_ARG(sbindir)
616 APACHE_SUBST_EXPANDED_ARG(libdir)
617 APACHE_SUBST_EXPANDED_ARG(libexecdir)
618 APACHE_SUBST_EXPANDED_ARG(mandir)
619 APACHE_SUBST_EXPANDED_ARG(sysconfdir)
620 APACHE_SUBST_EXPANDED_ARG(datadir)
621 APACHE_SUBST_EXPANDED_ARG(installbuilddir)
622 APACHE_SUBST_EXPANDED_ARG(errordir)
623 APACHE_SUBST_EXPANDED_ARG(iconsdir)
624 APACHE_SUBST_EXPANDED_ARG(htdocsdir)
625 APACHE_SUBST_EXPANDED_ARG(manualdir)
626 APACHE_SUBST_EXPANDED_ARG(cgidir)
627 APACHE_SUBST_EXPANDED_ARG(includedir)
628 APACHE_SUBST_EXPANDED_ARG(localstatedir)
629 APACHE_SUBST_EXPANDED_ARG(runtimedir)
630 APACHE_SUBST_EXPANDED_ARG(logfiledir)
631 APACHE_SUBST_EXPANDED_ARG(proxycachedir)
635 dnl APACHE_CHECK_APxVER({apr|apu}, major, minor,
636 dnl [actions-if-ok], [actions-if-not-ok])
638 dnl Checks for APR or APR-util of given major/minor version or later;
639 dnl if so, runs actions-if-ok; otherwise runs actions-if-not-ok if given.
640 dnl If the version is not satisfactory and actions-if-not-ok is not
641 dnl given, then an error is printed and the configure script is aborted.
643 dnl The first argument must be [apr] or [apu].
645 AC_DEFUN([APACHE_CHECK_APxVER], [
646 define(ap_ckver_major, translit($1, [apru], [APRU])[_MAJOR_VERSION])
647 define(ap_ckver_minor, translit($1, [apru], [APRU])[_MINOR_VERSION])
648 define(ap_ckver_cvar, [ap_cv_$1ver$2$3])
649 define(ap_ckver_name, ifelse([$1],[apr],[APR],[APR-util]))
651 ap_ckver_CPPFLAGS="$CPPFLAGS"
652 CPPFLAGS="$CPPFLAGS `$[$1]_config --includes`"
654 AC_CACHE_CHECK([for ap_ckver_name version $2.$3.0 or later], ap_ckver_cvar, [
655 AC_EGREP_CPP([good], [
656 #include <$1_version.h>
657 #if ]ap_ckver_major[ > $2 || (]ap_ckver_major[ == $2 && ]ap_ckver_minor[ >= $3)
660 ], [ap_ckver_cvar=yes], [ap_ckver_cvar=no])])
662 if test "$ap_ckver_cvar" = "yes"; then
663 ifelse([$4],[],[:],[$4])
665 ifelse([$5],[],[AC_MSG_ERROR([ap_ckver_name version $2.$3.0 or later is required])], [$5])
668 CPPFLAGS="$ap_ckver_CPPFLAGS"
670 undefine([ap_ckver_major])
671 undefine([ap_ckver_minor])
672 undefine([ap_ckver_cvar])
673 undefine([ap_ckver_name])
677 dnl APACHE_CHECK_VOID_PTR_LEN
679 dnl Checks if the size of a void pointer is at least as big as a "long"
682 AC_DEFUN([APACHE_CHECK_VOID_PTR_LEN], [
684 AC_CACHE_CHECK([for void pointer length], [ap_cv_void_ptr_lt_long],
688 return sizeof(void *) < sizeof(long);
689 }], [ap_cv_void_ptr_lt_long=no], [ap_cv_void_ptr_lt_long=yes],
690 [ap_cv_void_ptr_lt_long=yes])])
692 if test "$ap_cv_void_ptr_lt_long" = "yes"; then
693 AC_MSG_ERROR([Size of "void *" is less than size of "long"])
698 dnl APACHE_CHECK_APR_HAS_LDAP
700 dnl Check if APR_HAS_LDAP is 1
701 dnl Unfortunately, we can't use APR_CHECK_APR_DEFINE (because it only includes apr.h)
702 dnl or APR_CHECK_DEFINE (because it only checks for defined'ness and not for 0/1).
704 AC_DEFUN([APACHE_CHECK_APR_HAS_LDAP], [
705 AC_CACHE_CHECK([for ldap support in apr/apr-util],ac_cv_APR_HAS_LDAP,[
706 apache_old_cppflags="$CPPFLAGS"
707 CPPFLAGS="$CPPFLAGS $INCLUDES"
708 AC_EGREP_CPP(YES_IS_DEFINED, [
709 #include <apr_ldap.h>
713 ], ac_cv_APR_HAS_LDAP=yes, ac_cv_APR_HAS_LDAP=no)
714 CPPFLAGS="$apache_old_cppflags"
719 dnl APACHE_ADD_GCC_CFLAGS
721 dnl Check if compiler is gcc and supports flag. If yes, add to CFLAGS.
723 AC_DEFUN([APACHE_ADD_GCC_CFLAG], [
724 define([ap_gcc_ckvar], [ac_cv_gcc_]translit($1, [-:.=], [____]))
725 if test "$GCC" = "yes"; then
726 AC_CACHE_CHECK([whether gcc accepts $1], ap_gcc_ckvar, [
727 save_CFLAGS="$CFLAGS"
729 AC_COMPILE_IFELSE([AC_LANG_SOURCE([int foo() { return 0; }])],
730 [ap_gcc_ckvar=yes], [ap_gcc_ckvar=no])
731 CFLAGS="$save_CFLAGS"
733 if test "$]ap_gcc_ckvar[" = "yes" ; then
734 APR_ADDTO(CFLAGS,[$1])
737 undefine([ap_gcc_ckvar])