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 If the module was not explicitly requested, allow it to disable itself if
339 dnl its pre-reqs fail.
342 _apmod_required="yes"
348 if test "$enable_$1" = "static"; then
350 elif test "$enable_$1" = "yes"; then
351 enable_$1=$module_default
352 elif test "$enable_$1" = "most"; then
353 if test "$module_selection" = "most" -o "$module_selection" = "all" -o \
354 "$module_selection" = "reallyall"
356 enable_$1=$module_default
357 elif test "$module_selection" = "few" -o "$module_selection" = "none"; then
360 _apmod_extra_msg=" ($module_selection)"
361 elif test "$enable_$1" = "maybe-all"; then
362 if test "$module_selection" = "all" -o "$module_selection" = "reallyall"
364 enable_$1=$module_default
365 _apmod_extra_msg=" ($module_selection)"
369 elif test "$enable_$1" = "no" -a "$module_selection" = "reallyall" -a \
370 "$force_$1" != "no" ; then
371 enable_$1=$module_default
372 _apmod_extra_msg=" ($module_selection)"
374 if test "$enable_$1" != "no"; then
375 dnl If we plan to enable it, allow the module to run some autoconf magic
376 dnl that may disable it because of missing dependencies.
378 [AC_MSG_RESULT([checking dependencies])
379 ifelse([$7],,:,[if test "$enable_$7" = "no" ; then
381 AC_MSG_WARN("mod_$7 is disabled but required for mod_$1")
382 elif test "$enable_$1" = "static" && test "$enable_$7" != "static" ; then
384 AC_MSG_WARN("cannot build mod_$1 statically if mod_$7 is built shared")
386 ifelse([$6],,:,[ $6])
388 AC_MSG_CHECKING(whether to enable mod_$1)
389 if test "$enable_$1" = "no"; then
390 if test "$_apmod_required" = "no"; then
391 _apmod_extra_msg=" (disabled)"
393 AC_MSG_ERROR([mod_$1 has been requested but can not be built due to prerequisite failures])
397 AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
398 if test "$enable_$1" != "no"; then
401 MODLIST="$MODLIST ifelse($4,,$1,$4)"
402 if test "$1" = "so"; then
407 enable_$1=`echo $enable_$1|sed 's/shared,*//'`
410 DSO_MODULES="$DSO_MODULES $1"
411 if test "$5" = "yes" ; then
412 ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},$1"
416 define([modprefix], [MOD_]translit($1, [a-z-], [A-Z_]))
417 APACHE_MODPATH_ADD($1, $shared, $3,, [\$(]modprefix[_LDADD)])
418 APACHE_SUBST(modprefix[_LDADD])
419 undefine([modprefix])
424 dnl APACHE_ENABLE_MODULES
426 AC_DEFUN(APACHE_ENABLE_MODULES,[
427 module_selection=most
428 module_default=shared
430 dnl Check whether we have DSO support.
431 dnl If "yes", we build shared modules by default.
432 APR_CHECK_APR_DEFINE(APR_HAS_DSO)
434 if test $ac_cv_define_APR_HAS_DSO = "no"; then
435 AC_MSG_WARN([Missing DSO support - building static modules by default.])
436 module_default=static
440 AC_ARG_ENABLE(modules,
441 APACHE_HELP_STRING(--enable-modules=MODULE-LIST,Space-separated list of modules to enable | "all" | "most" | "few" | "none" | "reallyall"),[
442 if test "$enableval" = "none"; then
444 module_selection=none
446 for i in $enableval; do
447 if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
451 i=`echo $i | sed 's/-/_/g'`
452 eval "enable_$i=shared"
458 AC_ARG_ENABLE(mods-shared,
459 APACHE_HELP_STRING(--enable-mods-shared=MODULE-LIST,Space-separated list of shared modules to enable | "all" | "most" | "few" | "reallyall"),[
460 for i in $enableval; do
461 if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"
464 module_default=shared
466 i=`echo $i | sed 's/-/_/g'`
467 eval "enable_$i=shared"
472 AC_ARG_ENABLE(mods-static,
473 APACHE_HELP_STRING(--enable-mods-static=MODULE-LIST,Space-separated list of static modules to enable | "all" | "most" | "few" | "reallyall"),[
474 for i in $enableval; do
475 if test "$i" = "all" -o "$i" = "most" -o "$i" = "few" -o "$i" = "reallyall"; then
477 module_default=static
479 i=`echo $i | sed 's/-/_/g'`
480 eval "enable_$i=static"
486 AC_DEFUN(APACHE_REQUIRE_CXX,[
487 if test -z "$apache_cxx_done"; then
495 dnl APACHE_CHECK_OPENSSL
497 dnl Configure for OpenSSL, giving preference to
498 dnl "--with-ssl=<path>" if it was specified.
500 AC_DEFUN(APACHE_CHECK_OPENSSL,[
501 AC_CACHE_CHECK([for OpenSSL], [ac_cv_openssl], [
502 dnl initialise the variables we use
508 dnl Determine the OpenSSL base directory, if any
509 AC_MSG_CHECKING([for user-provided OpenSSL base directory])
510 AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=PATH,OpenSSL installation directory), [
511 dnl If --with-ssl specifies a directory, we use that directory
512 if test "x$withval" != "xyes" -a "x$withval" != "x"; then
513 dnl This ensures $withval is actually a directory and that it is absolute
514 ap_openssl_base="`cd $withval ; pwd`"
517 if test "x$ap_openssl_base" = "x"; then
520 AC_MSG_RESULT($ap_openssl_base)
523 dnl Run header and version checks
524 saved_CPPFLAGS="$CPPFLAGS"
526 saved_LDFLAGS="$LDFLAGS"
528 dnl Before doing anything else, load in pkg-config variables
529 if test -n "$PKGCONFIG"; then
530 saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
531 if test "x$ap_openssl_base" != "x" -a \
532 -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then
533 dnl Ensure that the given path is used by pkg-config too, otherwise
534 dnl the system openssl.pc might be picked up instead.
535 PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}"
536 export PKG_CONFIG_PATH
538 ap_openssl_libs="`$PKGCONFIG --libs-only-l openssl 2>&1`"
539 if test $? -eq 0; then
540 ap_openssl_found="yes"
541 pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
542 APR_ADDTO(CPPFLAGS, [$pkglookup])
543 APR_ADDTO(MOD_CFLAGS, [$pkglookup])
544 APR_ADDTO(ab_CFLAGS, [$pkglookup])
545 pkglookup="`$PKGCONFIG --libs-only-L --libs-only-other openssl`"
546 APR_ADDTO(LDFLAGS, [$pkglookup])
547 APR_ADDTO(MOD_LDFLAGS, [$pkglookup])
549 PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH"
552 dnl fall back to the user-supplied directory if not found via pkg-config
553 if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then
554 APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
555 APR_ADDTO(MOD_CFLAGS, [-I$ap_openssl_base/include])
556 APR_ADDTO(ab_CFLAGS, [-I$ap_openssl_base/include])
557 APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
558 APR_ADDTO(MOD_LDFLAGS, [-L$ap_openssl_base/lib])
559 if test "x$ap_platform_runtime_link_flag" != "x"; then
560 APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
561 APR_ADDTO(MOD_LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
565 AC_MSG_CHECKING([for OpenSSL version >= 0.9.7])
566 AC_TRY_COMPILE([#include <openssl/opensslv.h>],[
567 #if !defined(OPENSSL_VERSION_NUMBER)
568 #error "Missing OpenSSL version"
570 #if OPENSSL_VERSION_NUMBER < 0x0090700f
571 #error "Unsupported OpenSSL version " OPENSSL_VERSION_TEXT
575 [AC_MSG_RESULT(FAILED)])
577 if test "x$ac_cv_openssl" = "xyes"; then
578 ap_openssl_libs="-lssl -lcrypto `$apr_config --libs`"
579 APR_ADDTO(MOD_LDFLAGS, [$ap_openssl_libs])
580 APR_ADDTO(LIBS, [$ap_openssl_libs])
581 APR_SETVAR(ab_LDFLAGS, [$MOD_LDFLAGS])
582 APACHE_SUBST(ab_CFLAGS)
583 APACHE_SUBST(ab_LDFLAGS)
585 dnl Run library and function checks
587 AC_CHECK_HEADERS([openssl/engine.h])
588 AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])
589 AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines])
590 if test "x$liberrors" != "x"; then
591 AC_MSG_WARN([OpenSSL libraries are unusable])
594 AC_MSG_WARN([OpenSSL version is too old])
598 CPPFLAGS="$saved_CPPFLAGS"
600 LDFLAGS="$saved_LDFLAGS"
602 if test "x$ac_cv_openssl" = "xyes"; then
603 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL is available])
608 dnl APACHE_CHECK_SERF
610 dnl Configure for the detected libserf, giving preference to
611 dnl "--with-serf=<path>" if it was specified.
613 AC_DEFUN([APACHE_CHECK_SERF], [
614 AC_CACHE_CHECK([for libserf], [ac_cv_serf], [
618 AC_ARG_WITH(serf, APACHE_HELP_STRING([--with-serf=PATH],
619 [Serf client library]),
621 if test "$withval" = "yes" ; then
628 if test "$serf_prefix" != "no" ; then
629 save_cppflags="$CPPFLAGS"
630 CPPFLAGS="$CPPFLAGS $APR_INCLUDES $APU_INCLUDES -I$serf_prefix/include/serf-0"
631 AC_CHECK_HEADERS(serf.h,[
632 save_ldflags="$LDFLAGS"
633 LDFLAGS="$LDFLAGS -L$serf_prefix/lib"
634 AC_CHECK_LIB(serf-0, serf_context_create,[ac_cv_serf="yes"])
635 LDFLAGS="$save_ldflags"])
636 CPPFLAGS="$save_cppflags"
640 APACHE_SUBST(SERF_LIBS)
641 if test "$ac_cv_serf" = "yes"; then
642 AC_DEFINE(HAVE_SERF, 1, [Define if libserf is available])
643 APR_SETVAR(SERF_LIBS, [-L$serf_prefix/lib -lserf-0])
644 APR_ADDTO(MOD_INCLUDES, [-I$serf_prefix/include/serf-0])
650 dnl APACHE_EXPORT_ARGUMENTS
651 dnl Export (via APACHE_SUBST) the various path-related variables that
652 dnl apache will use while generating scripts like autoconf and apxs and
653 dnl the default config file.
655 AC_DEFUN(APACHE_SUBST_EXPANDED_ARG,[
656 APR_EXPAND_VAR(exp_$1, [$]$1)
658 APR_PATH_RELATIVE(rel_$1, [$]exp_$1, ${prefix})
662 AC_DEFUN(APACHE_EXPORT_ARGUMENTS,[
663 APACHE_SUBST_EXPANDED_ARG(exec_prefix)
664 APACHE_SUBST_EXPANDED_ARG(bindir)
665 APACHE_SUBST_EXPANDED_ARG(sbindir)
666 APACHE_SUBST_EXPANDED_ARG(libdir)
667 APACHE_SUBST_EXPANDED_ARG(libexecdir)
668 APACHE_SUBST_EXPANDED_ARG(mandir)
669 APACHE_SUBST_EXPANDED_ARG(sysconfdir)
670 APACHE_SUBST_EXPANDED_ARG(datadir)
671 APACHE_SUBST_EXPANDED_ARG(installbuilddir)
672 APACHE_SUBST_EXPANDED_ARG(errordir)
673 APACHE_SUBST_EXPANDED_ARG(iconsdir)
674 APACHE_SUBST_EXPANDED_ARG(htdocsdir)
675 APACHE_SUBST_EXPANDED_ARG(manualdir)
676 APACHE_SUBST_EXPANDED_ARG(cgidir)
677 APACHE_SUBST_EXPANDED_ARG(includedir)
678 APACHE_SUBST_EXPANDED_ARG(localstatedir)
679 APACHE_SUBST_EXPANDED_ARG(runtimedir)
680 APACHE_SUBST_EXPANDED_ARG(logfiledir)
681 APACHE_SUBST_EXPANDED_ARG(proxycachedir)
685 dnl APACHE_CHECK_APxVER({apr|apu}, major, minor,
686 dnl [actions-if-ok], [actions-if-not-ok])
688 dnl Checks for APR or APR-util of given major/minor version or later;
689 dnl if so, runs actions-if-ok; otherwise runs actions-if-not-ok if given.
690 dnl If the version is not satisfactory and actions-if-not-ok is not
691 dnl given, then an error is printed and the configure script is aborted.
693 dnl The first argument must be [apr] or [apu].
695 AC_DEFUN([APACHE_CHECK_APxVER], [
696 define(ap_ckver_major, translit($1, [apru], [APRU])[_MAJOR_VERSION])
697 define(ap_ckver_minor, translit($1, [apru], [APRU])[_MINOR_VERSION])
698 define(ap_ckver_cvar, [ap_cv_$1ver$2$3])
699 define(ap_ckver_name, ifelse([$1],[apr],[APR],[APR-util]))
701 ap_ckver_CPPFLAGS="$CPPFLAGS"
702 CPPFLAGS="$CPPFLAGS `$[$1]_config --includes`"
704 AC_CACHE_CHECK([for ap_ckver_name version $2.$3.0 or later], ap_ckver_cvar, [
705 AC_EGREP_CPP([good], [
706 #include <$1_version.h>
707 #if ]ap_ckver_major[ > $2 || (]ap_ckver_major[ == $2 && ]ap_ckver_minor[ >= $3)
710 ], [ap_ckver_cvar=yes], [ap_ckver_cvar=no])])
712 if test "$ap_ckver_cvar" = "yes"; then
713 ifelse([$4],[],[:],[$4])
715 ifelse([$5],[],[AC_MSG_ERROR([ap_ckver_name version $2.$3.0 or later is required])], [$5])
718 CPPFLAGS="$ap_ckver_CPPFLAGS"
720 undefine([ap_ckver_major])
721 undefine([ap_ckver_minor])
722 undefine([ap_ckver_cvar])
723 undefine([ap_ckver_name])
727 dnl APACHE_CHECK_VOID_PTR_LEN
729 dnl Checks if the size of a void pointer is at least as big as a "long"
732 AC_DEFUN([APACHE_CHECK_VOID_PTR_LEN], [
734 AC_CACHE_CHECK([for void pointer length], [ap_cv_void_ptr_lt_long],
738 return sizeof(void *) < sizeof(long);
739 }], [ap_cv_void_ptr_lt_long=no], [ap_cv_void_ptr_lt_long=yes],
740 [ap_cv_void_ptr_lt_long="cross compile - not checked"])])
742 if test "$ap_cv_void_ptr_lt_long" = "yes"; then
743 AC_MSG_ERROR([Size of "void *" is less than size of "long"])
748 dnl APACHE_CHECK_APR_HAS_LDAP
750 dnl Check if APR_HAS_LDAP is 1
751 dnl Unfortunately, we can't use APR_CHECK_APR_DEFINE (because it only includes apr.h)
752 dnl or APR_CHECK_DEFINE (because it only checks for defined'ness and not for 0/1).
754 AC_DEFUN([APACHE_CHECK_APR_HAS_LDAP], [
755 AC_CACHE_CHECK([for ldap support in apr/apr-util],ac_cv_APR_HAS_LDAP,[
756 apache_old_cppflags="$CPPFLAGS"
757 CPPFLAGS="$CPPFLAGS $INCLUDES"
758 AC_EGREP_CPP(YES_IS_DEFINED, [
759 #include <apr_ldap.h>
763 ], ac_cv_APR_HAS_LDAP=yes, ac_cv_APR_HAS_LDAP=no)
764 CPPFLAGS="$apache_old_cppflags"
769 dnl APACHE_ADD_GCC_CFLAGS
771 dnl Check if compiler is gcc and supports flag. If yes, add to CFLAGS.
773 AC_DEFUN([APACHE_ADD_GCC_CFLAG], [
774 define([ap_gcc_ckvar], [ac_cv_gcc_]translit($1, [-:.=], [____]))
775 if test "$GCC" = "yes"; then
776 AC_CACHE_CHECK([whether gcc accepts $1], ap_gcc_ckvar, [
777 save_CFLAGS="$CFLAGS"
779 AC_COMPILE_IFELSE([AC_LANG_SOURCE([int foo() { return 0; }])],
780 [ap_gcc_ckvar=yes], [ap_gcc_ckvar=no])
781 CFLAGS="$save_CFLAGS"
783 if test "$]ap_gcc_ckvar[" = "yes" ; then
784 APR_ADDTO(CFLAGS,[$1])
787 undefine([ap_gcc_ckvar])