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(abs_srcdir)
30 APACHE_SUBST(logfiledir)
31 APACHE_SUBST(exec_prefix)
33 APACHE_SUBST(localstatedir)
36 APACHE_SUBST(libexecdir)
37 APACHE_SUBST(htdocsdir)
38 APACHE_SUBST(manualdir)
39 APACHE_SUBST(includedir)
40 APACHE_SUBST(errordir)
41 APACHE_SUBST(iconsdir)
42 APACHE_SUBST(sysconfdir)
43 APACHE_SUBST(installbuilddir)
44 APACHE_SUBST(runtimedir)
45 APACHE_SUBST(proxycachedir)
46 APACHE_SUBST(other_targets)
47 APACHE_SUBST(progname)
53 APACHE_SUBST(CPPFLAGS)
55 APACHE_SUBST(CXXFLAGS)
56 APACHE_SUBST(CC_FOR_BUILD)
57 APACHE_SUBST(CFLAGS_FOR_BUILD)
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)
104 APACHE_SUBST(APREQ_MAJOR_VERSION)
105 APACHE_SUBST(APREQ_LIBTOOL_VERSION)
107 abs_srcdir="`(cd $srcdir && pwd)`"
109 AC_MSG_NOTICE([creating config_vars.mk])
110 test -d build || $mkdir_p build
111 > build/config_vars.mk
112 for i in $APACHE_VAR_SUBST; do
113 eval echo "$i = \$$i" >> build/config_vars.mk
117 dnl APACHE_GEN_MAKEFILES
118 dnl Creates Makefiles
119 AC_DEFUN(APACHE_GEN_MAKEFILES,[
120 $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $APACHE_FAST_OUTPUT_FILES
123 dnl ## APACHE_OUTPUT(file)
124 dnl ## adds "file" to the list of files generated by AC_OUTPUT
125 dnl ## This macro can be used several times.
126 AC_DEFUN(APACHE_OUTPUT, [
127 APACHE_OUTPUT_FILES="$APACHE_OUTPUT_FILES $1"
131 dnl APACHE_TYPE_RLIM_T
133 dnl If rlim_t is not defined, define it to int
135 AC_DEFUN(APACHE_TYPE_RLIM_T, [
136 AC_CACHE_CHECK([for rlim_t], ac_cv_type_rlim_t, [
138 #include <sys/types.h>
139 #include <sys/time.h>
140 #include <sys/resource.h>
141 ], [rlim_t spoon;], [
142 ac_cv_type_rlim_t=yes
143 ],[ac_cv_type_rlim_t=no
146 if test "$ac_cv_type_rlim_t" = "no" ; then
147 AC_DEFINE(rlim_t, int,
148 [Define to 'int' if <sys/resource.h> doesn't define it for us])
152 dnl the list of build variables which are available for customization on a
153 dnl per module subdir basis (to be inserted into modules.mk with a "MOD_"
154 dnl prefix, i.e. MOD_CFLAGS etc.). Used in APACHE_MODPATH_{INIT,FINISH}.
155 define(mod_buildvars, [CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS INCLUDES])
157 dnl APACHE_MODPATH_INIT(modpath)
158 AC_DEFUN(APACHE_MODPATH_INIT,[
160 modpath_current=modules/$1
163 for var in mod_buildvars; do
166 test -d $1 || $srcdir/build/mkdir.sh $modpath_current
167 > $modpath_current/modules.mk
170 AC_DEFUN(APACHE_MODPATH_FINISH,[
171 echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk
172 echo "static = $modpath_static" >> $modpath_current/modules.mk
173 echo "shared = $modpath_shared" >> $modpath_current/modules.mk
174 for var in mod_buildvars; do
175 if eval val=\"\$MOD_$var\"; test -n "$val"; then
176 echo "MOD_$var = $val" >> $modpath_current/modules.mk
179 if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then
180 MODULE_DIRS="$MODULE_DIRS $current_dir"
182 MODULE_CLEANDIRS="$MODULE_CLEANDIRS $current_dir"
184 APACHE_FAST_OUTPUT($modpath_current/Makefile)
187 dnl APACHE_MODPATH_ADD(name[, shared[, objects [, ldflags[, libs]]]])
188 AC_DEFUN(APACHE_MODPATH_ADD,[
189 if test -z "$3"; then
195 if test -z "$module_standalone"; then
196 if test -z "$2"; then
197 # The filename of a convenience library must have a "lib" prefix:
198 libname="libmod_$1.la"
199 BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname"
200 modpath_static="$modpath_static $libname"
201 cat >>$modpath_current/modules.mk<<EOF
203 \$(MOD_LINK) $objects $5
205 if test ! -z "$5"; then
206 APR_ADDTO(AP_LIBS, [$5])
209 apache_need_shared=yes
211 shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
212 modpath_shared="$modpath_shared $libname"
213 cat >>$modpath_current/modules.mk<<EOF
215 \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5
220 dnl Same as APACHE_MODPATH_INIT/FINISH but for MPMs
221 dnl APACHE_MPMPATH_INIT(mpmpath)
222 AC_DEFUN(APACHE_MPMPATH_INIT,[
224 modpath_current=server/mpm/$1
227 for var in mod_buildvars; do
230 test -d $1 || $srcdir/build/mkdir.sh $modpath_current
231 > $modpath_current/modules.mk
234 AC_DEFUN(APACHE_MPMPATH_FINISH,[
235 for var in mod_buildvars; do
236 if eval val=\"\$MOD_$var\"; test -n "$val"; then
237 echo "MOD_$var = $val" >> $modpath_current/modules.mk
243 dnl APACHE_MPM_MODULE(name[, shared[, objects[, config[, path[, libs]]]]])
245 dnl Provide information for building the MPM. (Enablement is handled using
246 dnl --with-mpm/--enable-mpms-shared.)
248 dnl name -- name of MPM, same as MPM directory name
249 dnl shared -- "shared" to indicate shared module build, empty string otherwise
250 dnl objects -- one or more .lo files to link into the MPM module (default: mpmname.lo)
251 dnl config -- configuration logic to run if the MPM is enabled
252 dnl path -- relative path to MPM (default: server/mpm/mpmname)
253 dnl libs -- libs needed by this MPM
255 AC_DEFUN(APACHE_MPM_MODULE,[
256 if ap_mpm_is_enabled $1; then
257 if test -z "$3"; then
263 if test -z "$5"; then
264 mpmpath="server/mpm/$1"
270 test -d $mpmpath || $srcdir/build/mkdir.sh $mpmpath
272 APACHE_FAST_OUTPUT($mpmpath/Makefile)
274 if test -z "$2"; then
275 APR_ADDTO(AP_LIBS, [$6])
277 cat >>$mpmpath/modules.mk<<EOF
279 \$(MOD_LINK) $objects
280 DISTCLEAN_TARGETS = modules.mk
285 apache_need_shared=yes
286 libname="mod_mpm_$1.la"
287 shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
288 cat >>$mpmpath/modules.mk<<EOF
290 \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $objects $6
291 DISTCLEAN_TARGETS = modules.mk
295 # add default MPM to LoadModule list
296 if test $1 = $default_mpm; then
297 DSO_MODULES="$DSO_MODULES mpm_$1"
298 ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},mpm_$1"
306 dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config[, prereq_module]]]]])
308 dnl default is one of:
309 dnl yes -- enabled by default. user must explicitly disable.
310 dnl no -- disabled under default, most, all. user must explicitly enable.
311 dnl most -- disabled by default. enabled explicitly or with most or all.
312 dnl static -- enabled as static by default, must be explicitly changed.
313 dnl "" -- disabled under default, most. enabled explicitly or with all.
314 dnl XXX: The arg must really be empty here. Passing an empty shell
315 dnl XXX: variable doesn't work for some reason. This should be
318 dnl basically: yes/no is a hard setting. "most" means follow the "most"
319 dnl setting. otherwise, fall under the "all" setting.
320 dnl explicit yes/no always overrides, except if the user selects
323 dnl prereq_module is a module (without the "mod_" prefix) that must be enabled
324 dnl if the current module is enabled. If the current module is built
325 dnl statically, prereq_module must be built statically, too. If these
326 dnl conditions are not fulfilled, configure will abort if the current module
327 dnl has been enabled explicitly. Otherwise, configure will disable the
329 dnl prereq_module's APACHE_MODULE() statement must have been processed
330 dnl before the current APACHE_MODULE() statement.
332 AC_DEFUN(APACHE_MODULE,[
333 AC_MSG_CHECKING(whether to enable mod_$1)
334 define([optname],[--]ifelse($5,yes,disable,enable)[-]translit($1,_,-))dnl
335 AC_ARG_ENABLE(translit($1,_,-),APACHE_HELP_STRING(optname(),$2),force_$1=$enableval,enable_$1=ifelse($5,,maybe-all,$5))
336 undefine([optname])dnl
338 dnl When --enable-modules=most or --enable-modules=(really)all is set and the
339 dnl module was not explicitly requested, allow a module to disable itself if
340 dnl its pre-reqs fail.
343 _apmod_required="yes"
346 case "$module_selection" in
351 _apmod_required="yes"
355 if test "$enable_$1" = "static"; then
357 elif test "$enable_$1" = "yes"; then
358 enable_$1=$module_default
359 elif test "$enable_$1" = "most"; then
360 if test "$module_selection" = "most" -o "$module_selection" = "all" -o \
361 "$module_selection" = "reallyall"
363 enable_$1=$module_default
364 elif test "$module_selection" = "few" -o "$module_selection" = "none"; then
367 _apmod_extra_msg=" ($module_selection)"
368 elif test "$enable_$1" = "maybe-all"; then
369 if test "$module_selection" = "all" -o "$module_selection" = "reallyall"
371 enable_$1=$module_default
372 _apmod_extra_msg=" ($module_selection)"
376 elif test "$enable_$1" = "no" -a "$module_selection" = "reallyall" -a \
377 "$force_$1" != "no" ; then
378 enable_$1=$module_default
379 _apmod_extra_msg=" ($module_selection)"
381 if test "$enable_$1" != "no"; then
382 dnl If we plan to enable it, allow the module to run some autoconf magic
383 dnl that may disable it because of missing dependencies.
385 [AC_MSG_RESULT([checking dependencies])
386 ifelse([$7],,:,[if test "$enable_$7" = "no" ; then
388 AC_MSG_WARN("mod_$7 is disabled but required for mod_$1")
389 elif test "$enable_$1" = "static" && test "$enable_$7" != "static" ; then
391 AC_MSG_WARN("cannot build mod_$1 statically if mod_$7 is built shared")
393 ifelse([$6],,:,[ $6])
395 AC_MSG_CHECKING(whether to enable mod_$1)
396 if test "$enable_$1" = "no"; then
397 if test "$_apmod_required" = "no"; then
398 _apmod_extra_msg=" (disabled)"
400 AC_MSG_ERROR([mod_$1 has been requested but can not be built due to prerequisite failures])
404 AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
405 if test "$enable_$1" != "no"; then
408 MODLIST="$MODLIST ifelse($4,,$1,$4)"
409 if test "$1" = "so"; then
414 enable_$1=`echo $enable_$1|sed 's/shared,*//'`
417 DSO_MODULES="$DSO_MODULES $1"
418 if test "$5" = "yes" ; then
419 ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},$1"
423 define([modprefix], [MOD_]translit($1, [a-z-], [A-Z_]))
424 APACHE_MODPATH_ADD($1, $shared, $3,, [\$(]modprefix[_LDADD)])
425 APACHE_SUBST(modprefix[_LDADD])
426 undefine([modprefix])
431 dnl APACHE_ENABLE_MODULES
433 AC_DEFUN(APACHE_ENABLE_MODULES,[
434 module_selection=most
435 module_default=shared
437 dnl Check whether we have DSO support.
438 dnl If "yes", we build shared modules by default.
439 APR_CHECK_APR_DEFINE(APR_HAS_DSO)
441 if test $ac_cv_define_APR_HAS_DSO = "no"; then
442 AC_MSG_WARN([Missing DSO support - building static modules by default.])
443 module_default=static
447 AC_ARG_ENABLE(modules,
448 APACHE_HELP_STRING(--enable-modules=MODULE-LIST,Space-separated list of modules to enable | "all" | "most" | "few" | "none" | "reallyall"),[
449 if test "$enableval" = "none"; then
451 module_selection=none
453 for i in $enableval; do
454 if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
458 i=`echo $i | sed 's/-/_/g'`
459 eval "enable_$i=shared"
465 AC_ARG_ENABLE(mods-shared,
466 APACHE_HELP_STRING(--enable-mods-shared=MODULE-LIST,Space-separated list of shared modules to enable | "all" | "most" | "few" | "reallyall"),[
467 for i in $enableval; do
468 if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
471 module_default=shared
473 i=`echo $i | sed 's/-/_/g'`
474 eval "enable_$i=shared"
479 AC_ARG_ENABLE(mods-static,
480 APACHE_HELP_STRING(--enable-mods-static=MODULE-LIST,Space-separated list of static modules to enable | "all" | "most" | "few" | "reallyall"),[
481 for i in $enableval; do
482 if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"; then
484 module_default=static
486 i=`echo $i | sed 's/-/_/g'`
487 eval "enable_$i=static"
493 AC_DEFUN(APACHE_REQUIRE_CXX,[
494 if test -z "$apache_cxx_done"; then
502 dnl APACHE_CHECK_OPENSSL
504 dnl Configure for OpenSSL, giving preference to
505 dnl "--with-ssl=<path>" if it was specified.
507 AC_DEFUN(APACHE_CHECK_OPENSSL,[
508 AC_CACHE_CHECK([for OpenSSL], [ac_cv_openssl], [
509 dnl initialise the variables we use
515 dnl Determine the OpenSSL base directory, if any
516 AC_MSG_CHECKING([for user-provided OpenSSL base directory])
517 AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=PATH,OpenSSL installation directory), [
518 dnl If --with-ssl specifies a directory, we use that directory
519 if test "x$withval" != "xyes" -a "x$withval" != "x"; then
520 dnl This ensures $withval is actually a directory and that it is absolute
521 ap_openssl_base="`cd $withval ; pwd`"
524 if test "x$ap_openssl_base" = "x"; then
527 AC_MSG_RESULT($ap_openssl_base)
530 dnl Run header and version checks
531 saved_CPPFLAGS="$CPPFLAGS"
533 saved_LDFLAGS="$LDFLAGS"
535 dnl Before doing anything else, load in pkg-config variables
536 if test -n "$PKGCONFIG"; then
537 saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
538 if test "x$ap_openssl_base" != "x" -a \
539 -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then
540 dnl Ensure that the given path is used by pkg-config too, otherwise
541 dnl the system openssl.pc might be picked up instead.
542 PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}"
543 export PKG_CONFIG_PATH
545 ap_openssl_libs="`$PKGCONFIG --libs-only-l openssl 2>&1`"
546 if test $? -eq 0; then
547 ap_openssl_found="yes"
548 pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
549 APR_ADDTO(CPPFLAGS, [$pkglookup])
550 APR_ADDTO(MOD_CFLAGS, [$pkglookup])
551 APR_ADDTO(ab_CFLAGS, [$pkglookup])
552 pkglookup="`$PKGCONFIG --libs-only-L --libs-only-other openssl`"
553 APR_ADDTO(LDFLAGS, [$pkglookup])
554 APR_ADDTO(MOD_LDFLAGS, [$pkglookup])
556 PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH"
559 dnl fall back to the user-supplied directory if not found via pkg-config
560 if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then
561 APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
562 APR_ADDTO(MOD_CFLAGS, [-I$ap_openssl_base/include])
563 APR_ADDTO(ab_CFLAGS, [-I$ap_openssl_base/include])
564 APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
565 APR_ADDTO(MOD_LDFLAGS, [-L$ap_openssl_base/lib])
566 if test "x$ap_platform_runtime_link_flag" != "x"; then
567 APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
568 APR_ADDTO(MOD_LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
572 AC_MSG_CHECKING([for OpenSSL version >= 0.9.7])
573 AC_TRY_COMPILE([#include <openssl/opensslv.h>],[
574 #if !defined(OPENSSL_VERSION_NUMBER)
575 #error "Missing OpenSSL version"
577 #if OPENSSL_VERSION_NUMBER < 0x0090700f
578 #error "Unsupported OpenSSL version " OPENSSL_VERSION_TEXT
582 [AC_MSG_RESULT(FAILED)])
584 if test "x$ac_cv_openssl" = "xyes"; then
585 ap_openssl_libs="-lssl -lcrypto `$apr_config --libs`"
586 APR_ADDTO(MOD_LDFLAGS, [$ap_openssl_libs])
587 APR_ADDTO(LIBS, [$ap_openssl_libs])
588 APR_SETVAR(ab_LDFLAGS, [$MOD_LDFLAGS])
589 APACHE_SUBST(ab_CFLAGS)
590 APACHE_SUBST(ab_LDFLAGS)
592 dnl Run library and function checks
594 AC_CHECK_HEADERS([openssl/engine.h])
595 AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])
596 AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines])
597 if test "x$liberrors" != "x"; then
598 AC_MSG_WARN([OpenSSL libraries are unusable])
601 AC_MSG_WARN([OpenSSL version is too old])
605 CPPFLAGS="$saved_CPPFLAGS"
607 LDFLAGS="$saved_LDFLAGS"
609 if test "x$ac_cv_openssl" = "xyes"; then
610 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL is available])
615 dnl APACHE_CHECK_SERF
617 dnl Configure for the detected libserf, giving preference to
618 dnl "--with-serf=<path>" if it was specified.
620 AC_DEFUN([APACHE_CHECK_SERF], [
621 AC_CACHE_CHECK([for libserf], [ac_cv_serf], [
625 AC_ARG_WITH(serf, APACHE_HELP_STRING([--with-serf=PATH],
626 [Serf client library]),
628 if test "$withval" = "yes" ; then
635 if test "$serf_prefix" != "no" ; then
636 save_cppflags="$CPPFLAGS"
637 CPPFLAGS="$CPPFLAGS $APR_INCLUDES $APU_INCLUDES -I$serf_prefix/include/serf-0"
638 AC_CHECK_HEADERS(serf.h,[
639 save_ldflags="$LDFLAGS"
640 LDFLAGS="$LDFLAGS -L$serf_prefix/lib"
641 AC_CHECK_LIB(serf-0, serf_context_create,[ac_cv_serf="yes"])
642 LDFLAGS="$save_ldflags"])
643 CPPFLAGS="$save_cppflags"
647 APACHE_SUBST(SERF_LIBS)
648 if test "$ac_cv_serf" = "yes"; then
649 AC_DEFINE(HAVE_SERF, 1, [Define if libserf is available])
650 APR_SETVAR(SERF_LIBS, [-L$serf_prefix/lib -lserf-0])
651 APR_ADDTO(MOD_INCLUDES, [-I$serf_prefix/include/serf-0])
657 dnl APACHE_EXPORT_ARGUMENTS
658 dnl Export (via APACHE_SUBST) the various path-related variables that
659 dnl apache will use while generating scripts like autoconf and apxs and
660 dnl the default config file.
662 AC_DEFUN(APACHE_SUBST_EXPANDED_ARG,[
663 APR_EXPAND_VAR(exp_$1, [$]$1)
665 APR_PATH_RELATIVE(rel_$1, [$]exp_$1, ${prefix})
669 AC_DEFUN(APACHE_EXPORT_ARGUMENTS,[
670 APACHE_SUBST_EXPANDED_ARG(exec_prefix)
671 APACHE_SUBST_EXPANDED_ARG(bindir)
672 APACHE_SUBST_EXPANDED_ARG(sbindir)
673 APACHE_SUBST_EXPANDED_ARG(libdir)
674 APACHE_SUBST_EXPANDED_ARG(libexecdir)
675 APACHE_SUBST_EXPANDED_ARG(mandir)
676 APACHE_SUBST_EXPANDED_ARG(sysconfdir)
677 APACHE_SUBST_EXPANDED_ARG(datadir)
678 APACHE_SUBST_EXPANDED_ARG(installbuilddir)
679 APACHE_SUBST_EXPANDED_ARG(errordir)
680 APACHE_SUBST_EXPANDED_ARG(iconsdir)
681 APACHE_SUBST_EXPANDED_ARG(htdocsdir)
682 APACHE_SUBST_EXPANDED_ARG(manualdir)
683 APACHE_SUBST_EXPANDED_ARG(cgidir)
684 APACHE_SUBST_EXPANDED_ARG(includedir)
685 APACHE_SUBST_EXPANDED_ARG(localstatedir)
686 APACHE_SUBST_EXPANDED_ARG(runtimedir)
687 APACHE_SUBST_EXPANDED_ARG(logfiledir)
688 APACHE_SUBST_EXPANDED_ARG(proxycachedir)
692 dnl APACHE_CHECK_APxVER({apr|apu}, major, minor,
693 dnl [actions-if-ok], [actions-if-not-ok])
695 dnl Checks for APR or APR-util of given major/minor version or later;
696 dnl if so, runs actions-if-ok; otherwise runs actions-if-not-ok if given.
697 dnl If the version is not satisfactory and actions-if-not-ok is not
698 dnl given, then an error is printed and the configure script is aborted.
700 dnl The first argument must be [apr] or [apu].
702 AC_DEFUN([APACHE_CHECK_APxVER], [
703 define(ap_ckver_major, translit($1, [apru], [APRU])[_MAJOR_VERSION])
704 define(ap_ckver_minor, translit($1, [apru], [APRU])[_MINOR_VERSION])
705 define(ap_ckver_cvar, [ap_cv_$1ver$2$3])
706 define(ap_ckver_name, ifelse([$1],[apr],[APR],[APR-util]))
708 ap_ckver_CPPFLAGS="$CPPFLAGS"
709 CPPFLAGS="$CPPFLAGS `$[$1]_config --includes`"
711 AC_CACHE_CHECK([for ap_ckver_name version $2.$3.0 or later], ap_ckver_cvar, [
712 AC_EGREP_CPP([good], [
713 #include <$1_version.h>
714 #if ]ap_ckver_major[ > $2 || (]ap_ckver_major[ == $2 && ]ap_ckver_minor[ >= $3)
717 ], [ap_ckver_cvar=yes], [ap_ckver_cvar=no])])
719 if test "$ap_ckver_cvar" = "yes"; then
720 ifelse([$4],[],[:],[$4])
722 ifelse([$5],[],[AC_MSG_ERROR([ap_ckver_name version $2.$3.0 or later is required])], [$5])
725 CPPFLAGS="$ap_ckver_CPPFLAGS"
727 undefine([ap_ckver_major])
728 undefine([ap_ckver_minor])
729 undefine([ap_ckver_cvar])
730 undefine([ap_ckver_name])
734 dnl APACHE_CHECK_VOID_PTR_LEN
736 dnl Checks if the size of a void pointer is at least as big as a "long"
739 AC_DEFUN([APACHE_CHECK_VOID_PTR_LEN], [
741 AC_CACHE_CHECK([for void pointer length], [ap_cv_void_ptr_lt_long],
745 return sizeof(void *) < sizeof(long);
746 }], [ap_cv_void_ptr_lt_long=no], [ap_cv_void_ptr_lt_long=yes],
747 [ap_cv_void_ptr_lt_long="cross compile - not checked"])])
749 if test "$ap_cv_void_ptr_lt_long" = "yes"; then
750 AC_MSG_ERROR([Size of "void *" is less than size of "long"])
755 dnl APACHE_CHECK_APR_HAS_LDAP
757 dnl Check if APR_HAS_LDAP is 1
758 dnl Unfortunately, we can't use APR_CHECK_APR_DEFINE (because it only includes apr.h)
759 dnl or APR_CHECK_DEFINE (because it only checks for defined'ness and not for 0/1).
761 AC_DEFUN([APACHE_CHECK_APR_HAS_LDAP], [
762 AC_CACHE_CHECK([for ldap support in apr/apr-util],ac_cv_APR_HAS_LDAP,[
763 apache_old_cppflags="$CPPFLAGS"
764 CPPFLAGS="$CPPFLAGS $INCLUDES"
765 AC_EGREP_CPP(YES_IS_DEFINED, [
766 #include <apr_ldap.h>
770 ], ac_cv_APR_HAS_LDAP=yes, ac_cv_APR_HAS_LDAP=no)
771 CPPFLAGS="$apache_old_cppflags"
776 dnl APACHE_ADD_GCC_CFLAGS
778 dnl Check if compiler is gcc and supports flag. If yes, add to CFLAGS.
780 AC_DEFUN([APACHE_ADD_GCC_CFLAG], [
781 define([ap_gcc_ckvar], [ac_cv_gcc_]translit($1, [-:.=], [____]))
782 if test "$GCC" = "yes"; then
783 AC_CACHE_CHECK([whether gcc accepts $1], ap_gcc_ckvar, [
784 save_CFLAGS="$CFLAGS"
786 AC_COMPILE_IFELSE([AC_LANG_SOURCE([int foo() { return 0; }])],
787 [ap_gcc_ckvar=yes], [ap_gcc_ckvar=no])
788 CFLAGS="$save_CFLAGS"
790 if test "$]ap_gcc_ckvar[" = "yes" ; then
791 APR_ADDTO(CFLAGS,[$1])
794 undefine([ap_gcc_ckvar])