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 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.]), [
539 if test "$enableval" = "yes"; then
540 PKGCONFIG_LIBOPTS="--static"
543 ap_openssl_libs="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-l --silence-errors openssl`"
544 if test $? -eq 0; then
545 ap_openssl_found="yes"
546 pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
547 APR_ADDTO(CPPFLAGS, [$pkglookup])
548 APR_ADDTO(MOD_CFLAGS, [$pkglookup])
549 APR_ADDTO(ab_CFLAGS, [$pkglookup])
550 pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-L openssl`"
551 APR_ADDTO(LDFLAGS, [$pkglookup])
552 APR_ADDTO(MOD_LDFLAGS, [$pkglookup])
553 pkglookup="`$PKGCONFIG $PKGCONFIG_LIBOPTS --libs-only-other openssl`"
554 APR_ADDTO(LDFLAGS, [$pkglookup])
555 APR_ADDTO(MOD_LDFLAGS, [$pkglookup])
557 PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH"
560 dnl fall back to the user-supplied directory if not found via pkg-config
561 if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then
562 APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
563 APR_ADDTO(MOD_CFLAGS, [-I$ap_openssl_base/include])
564 APR_ADDTO(ab_CFLAGS, [-I$ap_openssl_base/include])
565 APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
566 APR_ADDTO(MOD_LDFLAGS, [-L$ap_openssl_base/lib])
567 if test "x$ap_platform_runtime_link_flag" != "x"; then
568 APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
569 APR_ADDTO(MOD_LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
573 AC_MSG_CHECKING([for OpenSSL version >= 0.9.7])
574 AC_TRY_COMPILE([#include <openssl/opensslv.h>],[
575 #if !defined(OPENSSL_VERSION_NUMBER)
576 #error "Missing OpenSSL version"
578 #if OPENSSL_VERSION_NUMBER < 0x0090700f
579 #error "Unsupported OpenSSL version " OPENSSL_VERSION_TEXT
583 [AC_MSG_RESULT(FAILED)])
585 if test "x$ac_cv_openssl" = "xyes"; then
586 ap_openssl_libs="${ap_openssl_libs:--lssl -lcrypto} `$apr_config --libs`"
587 APR_ADDTO(MOD_LDFLAGS, [$ap_openssl_libs])
588 APR_ADDTO(LIBS, [$ap_openssl_libs])
589 APR_SETVAR(ab_LDFLAGS, [$MOD_LDFLAGS])
590 APACHE_SUBST(ab_CFLAGS)
591 APACHE_SUBST(ab_LDFLAGS)
593 dnl Run library and function checks
595 AC_CHECK_HEADERS([openssl/engine.h])
596 AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])
597 AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines])
598 if test "x$liberrors" != "x"; then
599 AC_MSG_WARN([OpenSSL libraries are unusable])
602 AC_MSG_WARN([OpenSSL version is too old])
606 CPPFLAGS="$saved_CPPFLAGS"
608 LDFLAGS="$saved_LDFLAGS"
610 if test "x$ac_cv_openssl" = "xyes"; then
611 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL is available])
616 dnl APACHE_CHECK_SERF
618 dnl Configure for the detected libserf, giving preference to
619 dnl "--with-serf=<path>" if it was specified.
621 AC_DEFUN([APACHE_CHECK_SERF], [
622 AC_CACHE_CHECK([for libserf], [ac_cv_serf], [
626 AC_ARG_WITH(serf, APACHE_HELP_STRING([--with-serf=PATH],
627 [Serf client library]),
629 if test "$withval" = "yes" ; then
636 if test "$serf_prefix" != "no" ; then
637 save_cppflags="$CPPFLAGS"
638 CPPFLAGS="$CPPFLAGS $APR_INCLUDES $APU_INCLUDES -I$serf_prefix/include/serf-0"
639 AC_CHECK_HEADERS(serf.h,[
640 save_ldflags="$LDFLAGS"
641 LDFLAGS="$LDFLAGS -L$serf_prefix/lib"
642 AC_CHECK_LIB(serf-0, serf_context_create,[ac_cv_serf="yes"])
643 LDFLAGS="$save_ldflags"])
644 CPPFLAGS="$save_cppflags"
648 APACHE_SUBST(SERF_LIBS)
649 if test "$ac_cv_serf" = "yes"; then
650 AC_DEFINE(HAVE_SERF, 1, [Define if libserf is available])
651 APR_SETVAR(SERF_LIBS, [-L$serf_prefix/lib -lserf-0])
652 APR_ADDTO(MOD_INCLUDES, [-I$serf_prefix/include/serf-0])
658 dnl APACHE_EXPORT_ARGUMENTS
659 dnl Export (via APACHE_SUBST) the various path-related variables that
660 dnl apache will use while generating scripts like autoconf and apxs and
661 dnl the default config file.
663 AC_DEFUN(APACHE_SUBST_EXPANDED_ARG,[
664 APR_EXPAND_VAR(exp_$1, [$]$1)
666 APR_PATH_RELATIVE(rel_$1, [$]exp_$1, ${prefix})
670 AC_DEFUN(APACHE_EXPORT_ARGUMENTS,[
671 APACHE_SUBST_EXPANDED_ARG(exec_prefix)
672 APACHE_SUBST_EXPANDED_ARG(bindir)
673 APACHE_SUBST_EXPANDED_ARG(sbindir)
674 APACHE_SUBST_EXPANDED_ARG(libdir)
675 APACHE_SUBST_EXPANDED_ARG(libexecdir)
676 APACHE_SUBST_EXPANDED_ARG(mandir)
677 APACHE_SUBST_EXPANDED_ARG(sysconfdir)
678 APACHE_SUBST_EXPANDED_ARG(datadir)
679 APACHE_SUBST_EXPANDED_ARG(installbuilddir)
680 APACHE_SUBST_EXPANDED_ARG(errordir)
681 APACHE_SUBST_EXPANDED_ARG(iconsdir)
682 APACHE_SUBST_EXPANDED_ARG(htdocsdir)
683 APACHE_SUBST_EXPANDED_ARG(manualdir)
684 APACHE_SUBST_EXPANDED_ARG(cgidir)
685 APACHE_SUBST_EXPANDED_ARG(includedir)
686 APACHE_SUBST_EXPANDED_ARG(localstatedir)
687 APACHE_SUBST_EXPANDED_ARG(runtimedir)
688 APACHE_SUBST_EXPANDED_ARG(logfiledir)
689 APACHE_SUBST_EXPANDED_ARG(proxycachedir)
693 dnl APACHE_CHECK_APxVER({apr|apu}, major, minor,
694 dnl [actions-if-ok], [actions-if-not-ok])
696 dnl Checks for APR or APR-util of given major/minor version or later;
697 dnl if so, runs actions-if-ok; otherwise runs actions-if-not-ok if given.
698 dnl If the version is not satisfactory and actions-if-not-ok is not
699 dnl given, then an error is printed and the configure script is aborted.
701 dnl The first argument must be [apr] or [apu].
703 AC_DEFUN([APACHE_CHECK_APxVER], [
704 define(ap_ckver_major, translit($1, [apru], [APRU])[_MAJOR_VERSION])
705 define(ap_ckver_minor, translit($1, [apru], [APRU])[_MINOR_VERSION])
706 define(ap_ckver_cvar, [ap_cv_$1ver$2$3])
707 define(ap_ckver_name, ifelse([$1],[apr],[APR],[APR-util]))
709 ap_ckver_CPPFLAGS="$CPPFLAGS"
710 CPPFLAGS="$CPPFLAGS `$[$1]_config --includes`"
712 AC_CACHE_CHECK([for ap_ckver_name version $2.$3.0 or later], ap_ckver_cvar, [
713 AC_EGREP_CPP([good], [
714 #include <$1_version.h>
715 #if ]ap_ckver_major[ > $2 || (]ap_ckver_major[ == $2 && ]ap_ckver_minor[ >= $3)
718 ], [ap_ckver_cvar=yes], [ap_ckver_cvar=no])])
720 if test "$ap_ckver_cvar" = "yes"; then
721 ifelse([$4],[],[:],[$4])
723 ifelse([$5],[],[AC_MSG_ERROR([ap_ckver_name version $2.$3.0 or later is required])], [$5])
726 CPPFLAGS="$ap_ckver_CPPFLAGS"
728 undefine([ap_ckver_major])
729 undefine([ap_ckver_minor])
730 undefine([ap_ckver_cvar])
731 undefine([ap_ckver_name])
735 dnl APACHE_CHECK_VOID_PTR_LEN
737 dnl Checks if the size of a void pointer is at least as big as a "long"
740 AC_DEFUN([APACHE_CHECK_VOID_PTR_LEN], [
742 AC_CACHE_CHECK([for void pointer length], [ap_cv_void_ptr_lt_long],
746 return sizeof(void *) < sizeof(long);
747 }], [ap_cv_void_ptr_lt_long=no], [ap_cv_void_ptr_lt_long=yes],
748 [ap_cv_void_ptr_lt_long="cross compile - not checked"])])
750 if test "$ap_cv_void_ptr_lt_long" = "yes"; then
751 AC_MSG_ERROR([Size of "void *" is less than size of "long"])
756 dnl APACHE_CHECK_APR_HAS_LDAP
758 dnl Check if APR_HAS_LDAP is 1
759 dnl Unfortunately, we can't use APR_CHECK_APR_DEFINE (because it only includes apr.h)
760 dnl or APR_CHECK_DEFINE (because it only checks for defined'ness and not for 0/1).
762 AC_DEFUN([APACHE_CHECK_APR_HAS_LDAP], [
763 AC_CACHE_CHECK([for ldap support in apr/apr-util],ac_cv_APR_HAS_LDAP,[
764 apache_old_cppflags="$CPPFLAGS"
765 CPPFLAGS="$CPPFLAGS $INCLUDES"
766 AC_EGREP_CPP(YES_IS_DEFINED, [
767 #include <apr_ldap.h>
771 ], ac_cv_APR_HAS_LDAP=yes, ac_cv_APR_HAS_LDAP=no)
772 CPPFLAGS="$apache_old_cppflags"
777 dnl APACHE_ADD_GCC_CFLAGS
779 dnl Check if compiler is gcc and supports flag. If yes, add to CFLAGS.
781 AC_DEFUN([APACHE_ADD_GCC_CFLAG], [
782 define([ap_gcc_ckvar], [ac_cv_gcc_]translit($1, [-:.=], [____]))
783 if test "$GCC" = "yes"; then
784 AC_CACHE_CHECK([whether gcc accepts $1], ap_gcc_ckvar, [
785 save_CFLAGS="$CFLAGS"
787 AC_COMPILE_IFELSE([AC_LANG_SOURCE([int foo() { return 0; }])],
788 [ap_gcc_ckvar=yes], [ap_gcc_ckvar=no])
789 CFLAGS="$save_CFLAGS"
791 if test "$]ap_gcc_ckvar[" = "yes" ; then
792 APR_ADDTO(CFLAGS,[$1])
795 undefine([ap_gcc_ckvar])