]> granicus.if.org Git - apache/blob - acinclude.m4
53a46f8143fbec6cc45e60f2af6c823c1a81d941
[apache] / acinclude.m4
1
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
8
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"
14   AC_SUBST($1)
15 ])
16
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"
21 ])
22
23 dnl APACHE_GEN_CONFIG_VARS
24 dnl Creates config_vars.mk
25 AC_DEFUN(APACHE_GEN_CONFIG_VARS,[
26   APACHE_SUBST(abs_srcdir)
27   APACHE_SUBST(bindir)
28   APACHE_SUBST(sbindir)
29   APACHE_SUBST(cgidir)
30   APACHE_SUBST(logfiledir)
31   APACHE_SUBST(exec_prefix)
32   APACHE_SUBST(datadir)
33   APACHE_SUBST(localstatedir)
34   APACHE_SUBST(mandir)
35   APACHE_SUBST(libdir)
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)
48   APACHE_SUBST(prefix)
49   APACHE_SUBST(AWK)
50   APACHE_SUBST(CC)
51   APACHE_SUBST(CPP)
52   APACHE_SUBST(CXX)
53   APACHE_SUBST(CPPFLAGS)
54   APACHE_SUBST(CFLAGS)
55   APACHE_SUBST(CXXFLAGS)
56   APACHE_SUBST(LTFLAGS)
57   APACHE_SUBST(LDFLAGS)
58   APACHE_SUBST(LT_LDFLAGS)
59   APACHE_SUBST(SH_LDFLAGS)
60   APACHE_SUBST(HTTPD_LDFLAGS)
61   APACHE_SUBST(UTIL_LDFLAGS)
62   APACHE_SUBST(LIBS)
63   APACHE_SUBST(DEFS)
64   APACHE_SUBST(INCLUDES)
65   APACHE_SUBST(NOTEST_CPPFLAGS)
66   APACHE_SUBST(NOTEST_CFLAGS)
67   APACHE_SUBST(NOTEST_CXXFLAGS)
68   APACHE_SUBST(NOTEST_LDFLAGS)
69   APACHE_SUBST(NOTEST_LIBS)
70   APACHE_SUBST(EXTRA_CPPFLAGS)
71   APACHE_SUBST(EXTRA_CFLAGS)
72   APACHE_SUBST(EXTRA_CXXFLAGS)
73   APACHE_SUBST(EXTRA_LDFLAGS)
74   APACHE_SUBST(EXTRA_LIBS)
75   APACHE_SUBST(EXTRA_INCLUDES)
76   APACHE_SUBST(LIBTOOL)
77   APACHE_SUBST(SHELL)
78   APACHE_SUBST(MODULE_DIRS)
79   APACHE_SUBST(MODULE_CLEANDIRS)
80   APACHE_SUBST(PORT)
81   APACHE_SUBST(CORE_IMPLIB_FILE)
82   APACHE_SUBST(CORE_IMPLIB)
83   APACHE_SUBST(SH_LIBS)
84   APACHE_SUBST(SH_LIBTOOL)
85   APACHE_SUBST(MK_IMPLIB)
86   APACHE_SUBST(INSTALL_PROG_FLAGS)
87   APACHE_SUBST(DSO_MODULES)
88
89   abs_srcdir="`(cd $srcdir && pwd)`"
90
91   echo creating config_vars.mk
92   test -d build || $mkdir_p build
93   > build/config_vars.mk
94   for i in $APACHE_VAR_SUBST; do
95     eval echo "$i = \$$i" >> build/config_vars.mk
96   done
97 ])
98
99 dnl APACHE_GEN_MAKEFILES
100 dnl Creates Makefiles
101 AC_DEFUN(APACHE_GEN_MAKEFILES,[
102   $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $APACHE_FAST_OUTPUT_FILES
103 ])
104
105 dnl ## APACHE_OUTPUT(file)
106 dnl ## adds "file" to the list of files generated by AC_OUTPUT
107 dnl ## This macro can be used several times.
108 AC_DEFUN(APACHE_OUTPUT, [
109   APACHE_OUTPUT_FILES="$APACHE_OUTPUT_FILES $1"
110 ])
111
112 dnl
113 dnl APACHE_TYPE_RLIM_T
114 dnl
115 dnl If rlim_t is not defined, define it to int
116 dnl
117 AC_DEFUN(APACHE_TYPE_RLIM_T, [
118   AC_CACHE_CHECK([for rlim_t], ac_cv_type_rlim_t, [
119     AC_TRY_COMPILE([
120 #include <sys/types.h>
121 #include <sys/time.h>
122 #include <sys/resource.h>
123 ], [rlim_t spoon;], [
124       ac_cv_type_rlim_t=yes
125     ],[ac_cv_type_rlim_t=no
126     ])
127   ])
128   if test "$ac_cv_type_rlim_t" = "no" ; then
129       AC_DEFINE(rlim_t, int,
130           [Define to 'int' if <sys/resource.h> doesn't define it for us])
131   fi
132 ])
133
134 dnl APACHE_MODPATH_INIT(modpath)
135 AC_DEFUN(APACHE_MODPATH_INIT,[
136   current_dir=$1
137   modpath_current=modules/$1
138   modpath_static=
139   modpath_shared=
140   test -d $1 || $srcdir/build/mkdir.sh $modpath_current
141   > $modpath_current/modules.mk
142 ])dnl
143 dnl
144 AC_DEFUN(APACHE_MODPATH_FINISH,[
145   echo "DISTCLEAN_TARGETS = modules.mk" >> $modpath_current/modules.mk
146   echo "static = $modpath_static" >> $modpath_current/modules.mk
147   echo "shared = $modpath_shared" >> $modpath_current/modules.mk
148   if test ! -z "$modpath_static" -o ! -z "$modpath_shared"; then
149     MODULE_DIRS="$MODULE_DIRS $current_dir"
150   else
151     MODULE_CLEANDIRS="$MODULE_CLEANDIRS $current_dir"
152   fi
153   APACHE_FAST_OUTPUT($modpath_current/Makefile)
154 ])dnl
155 dnl
156 dnl APACHE_MODPATH_ADD(name[, shared[, objects [, ldflags[, libs]]]])
157 AC_DEFUN(APACHE_MODPATH_ADD,[
158   if test -z "$3"; then
159     objects="mod_$1.lo"
160   else
161     objects="$3"
162   fi
163
164   if test -z "$module_standalone"; then
165     if test -z "$2"; then
166       libname="mod_$1.la"
167       BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname"
168       modpath_static="$modpath_static $libname"
169       cat >>$modpath_current/modules.mk<<EOF
170 $libname: $objects
171         \$(MOD_LINK) $objects
172 EOF
173     else
174       apache_need_shared=yes
175       libname="mod_$1.la"
176       shobjects=`echo $objects | sed 's/\.lo/.slo/g'`
177       modpath_shared="$modpath_shared $libname"
178       cat >>$modpath_current/modules.mk<<EOF
179 $libname: $shobjects
180         \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5
181 EOF
182     fi
183   fi
184 ])dnl
185
186 dnl
187 dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]])
188 dnl
189 dnl default is one of:
190 dnl   yes    -- enabled by default. user must explicitly disable.
191 dnl   no     -- disabled under default, most, all. user must explicitly enable.
192 dnl   most   -- disabled by default. enabled explicitly or with most or all.
193 dnl   static -- enabled as static by default, must be explicitly changed.
194 dnl   ""     -- disabled under default, most. enabled explicitly or with all.
195 dnl
196 dnl basically: yes/no is a hard setting. "most" means follow the "most"
197 dnl            setting. otherwise, fall under the "all" setting.
198 dnl            explicit yes/no always overrides.
199 dnl
200 AC_DEFUN(APACHE_MODULE,[
201   AC_MSG_CHECKING(whether to enable mod_$1)
202   define([optname],[--]ifelse($5,yes,disable,enable)[-]translit($1,_,-))dnl
203   AC_ARG_ENABLE(translit($1,_,-),APACHE_HELP_STRING(optname(),$2),,enable_$1=ifelse($5,,maybe-all,$5))
204   undefine([optname])dnl
205   _apmod_extra_msg=""
206   dnl When --enable-modules=most is set and the module was not explicitly
207   dnl requested, allow a module to disable itself if its pre-reqs fail.
208   if test "$module_selection" = "most" -a "$enable_$1" = "most"; then
209     _apmod_error_fatal="no"
210   else
211     _apmod_error_fatal="yes"
212   fi
213   if test "$enable_$1" = "static"; then
214     enable_$1=yes
215   elif test "$enable_$1" = "yes"; then
216     enable_$1=$module_default
217     _apmod_extra_msg=" ($module_selection)"
218   elif test "$enable_$1" = "most"; then
219     if test "$module_selection" = "most" -o "$module_selection" = "all"; then
220       enable_$1=$module_default
221       _apmod_extra_msg=" ($module_selection)"
222     elif test "$enable_$1" != "yes"; then
223       enable_$1=no
224     fi
225   elif test "$enable_$1" = "maybe-all"; then
226     if test "$module_selection" = "all"; then
227       enable_$1=$module_default
228       _apmod_extra_msg=" (all)"
229     else
230       enable_$1=no
231     fi
232   fi
233   if test "$enable_$1" != "no"; then
234     dnl If we plan to enable it, allow the module to run some autoconf magic
235     dnl that may disable it because of missing dependencies.
236     ifelse([$6],,:,[AC_MSG_RESULT([checking dependencies])
237                     $6
238                     AC_MSG_CHECKING(whether to enable mod_$1)
239                     if test "$enable_$1" = "no"; then
240                       if test "$_apmod_error_fatal" = "no"; then
241                         _apmod_extra_msg=" (disabled)"
242                       else
243                         AC_MSG_ERROR([mod_$1 has been requested but can not be built due to prerequisite failures])
244                       fi
245                     fi])
246   fi
247   AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
248   if test "$enable_$1" != "no"; then
249     case "$enable_$1" in
250     shared*)
251       enable_$1=`echo $ac_n $enable_$1$ac_c|sed 's/shared,*//'`
252       sharedobjs=yes
253       shared=yes
254       DSO_MODULES="$DSO_MODULES $1"
255       ;;
256     *)
257       MODLIST="$MODLIST ifelse($4,,$1,$4)"
258       if test "$1" = "so"; then
259           sharedobjs=yes
260       fi
261       shared="";;
262     esac
263     APACHE_MODPATH_ADD($1, $shared, $3)
264   fi
265 ])dnl
266
267 dnl
268 dnl APACHE_LAYOUT_DEFAULTS
269 dnl
270 AC_DEFUN(APACHE_LAYOUT_DEFAULTS,[
271   dnl Apache defaults for autoconf variables.
272   test "x${prefix}" = "xNONE" && prefix='/usr/local/apache2'
273   test "x${exec_prefix}" = "xNONE" && exec_prefix='${prefix}'
274   dnl Now we need to check the non-autoconf variables.
275   test "x${cgidir}" = "x" && cgidir='${datadir}/cgi-bin'
276   test "x${logfiledir}" = "x" && logfiledir='${localstatedir}/logs'
277   test "x${htdocsdir}" = "x" && htdocsdir='${datadir}/htdocs'
278   test "x${manualdir}" = "x" && manualdir='${datadir}/manual'
279   test "x${errordir}" = "x" && errordir='${datadir}/error'
280   test "x${iconsdir}" = "x" && iconsdir='${datadir}/icons'
281   test "x${installbuilddir}" = "x" && installbuilddir='${datadir}/build'
282   test "x${runtimedir}" = "x" && runtimedir='${localstatedir}/logs'
283   test "x${proxycachedir}" = "x" && proxycachedir='${localstatedir}/proxy'
284 ])dnl
285
286 dnl
287 dnl APACHE_LAYOUT(configlayout, layoutname)
288 dnl
289 AC_DEFUN(APACHE_LAYOUT,[
290   if test ! -f $srcdir/config.layout; then
291     echo "** Error: Layout file $srcdir/config.layout not found"
292     echo "** Error: Cannot use undefined layout '$LAYOUT'"
293     exit 1
294   fi
295   pldconf=./config.pld
296   changequote({,})
297   sed -e "1,/[  ]*<[lL]ayout[   ]*$2[   ]*>[    ]*/d" \
298       -e '/[    ]*<\/Layout>[   ]*/,$d' \
299       -e "s/^[  ]*//g" \
300       -e "s/:[  ]*/=\'/g" \
301       -e "s/[   ]*$/'/g" \
302       $1 > $pldconf
303   layout_name=$2
304   . $pldconf
305   rm $pldconf
306   for var in prefix exec_prefix bindir sbindir libexecdir mandir \
307              sysconfdir datadir errordir iconsdir htdocsdir cgidir \
308              includedir localstatedir runtimedir logfiledir libdir \
309              manualdir proxycachedir installbuilddir; do
310     eval "val=\"\$$var\""
311     case $val in
312       *+)
313         val=`echo $val | sed -e 's;\+$;;'`
314         eval "$var=\"\$val\""
315         autosuffix=yes
316         ;;
317       *)
318         autosuffix=no
319         ;;
320     esac
321     val=`echo $val | sed -e 's:\(.\)/*$:\1:'`
322     val=`echo $val | sed -e 's:[\$]\([a-z_]*\):${\1}:g'`
323     if test "$autosuffix" = "yes"; then
324       if echo $val | grep apache >/dev/null; then
325         addtarget=no
326       else
327         addtarget=yes
328       fi
329       if test "$addtarget" = "yes"; then
330         val="$val/apache2"
331       fi
332     fi
333     eval "$var='$val'"
334   done
335   changequote([,])
336 ])dnl
337
338 dnl
339 dnl APACHE_ENABLE_LAYOUT
340 dnl
341 AC_DEFUN(APACHE_ENABLE_LAYOUT,[
342 AC_ARG_ENABLE(layout,
343 [  --enable-layout=LAYOUT],[
344   LAYOUT=$enableval
345 ])
346
347 if test -z "$LAYOUT"; then
348   LAYOUT="Apache"
349 fi
350 APACHE_LAYOUT($srcdir/config.layout, $LAYOUT)
351
352 AC_MSG_CHECKING(for chosen layout)
353 AC_MSG_RESULT($layout_name)
354 ])
355
356 dnl
357 dnl APACHE_ENABLE_MODULES
358 dnl
359 AC_DEFUN(APACHE_ENABLE_MODULES,[
360   module_selection=default
361   module_default=yes
362
363   AC_ARG_ENABLE(modules,
364   APACHE_HELP_STRING(--enable-modules=MODULE-LIST,Modules to enable),[
365     for i in $enableval; do
366       if test "$i" = "all" -o "$i" = "most"; then
367         module_selection=$i
368       else
369         eval "enable_$i=yes"
370       fi
371     done
372   ])
373   
374   AC_ARG_ENABLE(mods-shared,
375   APACHE_HELP_STRING(--enable-mods-shared=MODULE-LIST,Shared modules to enable),[
376     for i in $enableval; do
377       if test "$i" = "all" -o "$i" = "most"; then
378         module_selection=$i
379         module_default=shared
380       else
381         i=`echo $i | sed 's/-/_/g'`
382         eval "enable_$i=shared"
383       fi
384     done
385   ])
386 ])
387
388 AC_DEFUN(APACHE_REQUIRE_CXX,[
389   if test -z "$apache_cxx_done"; then
390     AC_PROG_CXX
391     AC_PROG_CXXCPP
392     apache_cxx_done=yes
393   fi
394 ])
395
396 dnl
397 dnl APACHE_CHECK_SSL_TOOLKIT
398 dnl
399 dnl Find the openssl toolkit installation and check it for the right
400 dnl version, then add its flags to INCLUDES and LIBS.  This should
401 dnl really be using a custom AC_TRY_COMPILE function to test the includes
402 dnl and then AC_TRY_LINK to test the libraries directly for the version,
403 dnl but that will require someone who knows how to program openssl.
404 dnl
405 AC_DEFUN(APACHE_CHECK_SSL_TOOLKIT,[
406 if test "x$ap_ssltk_base" = "x"; then
407   AC_MSG_CHECKING(for SSL/TLS toolkit base)
408   ap_ssltk_base=""
409   AC_ARG_WITH(ssl, APACHE_HELP_STRING(--with-ssl=DIR,SSL/TLS toolkit (OpenSSL)), [
410     if test "x$withval" != "xyes" -a "x$withval" != "x"; then
411       ap_ssltk_base="$withval"
412     fi
413   ])
414   if test "x$ap_ssltk_base" = "x"; then
415     AC_CACHE_VAL(ap_cv_ssltk,[
416       #
417       # shotgun approach: find all occurrences of the openssl program
418       #
419       ap_ssltk_try=""
420       # The IFS=... trick eliminates the colons from $PATH, without using an external program
421       for p in `IFS=":$IFS"; echo $PATH` /usr/local/openssl/bin /usr/local/ssl/bin; do
422         if test -f "$p/openssl"; then
423           ap_ssltk_try="$ap_ssltk_try $p"
424         fi
425       done
426       if test "x$ap_ssltk_try" = "x"; then
427         AC_MSG_ERROR(['openssl' not found in path])
428       fi
429       for p in $ap_ssltk_try; do
430         ap_ssltk_version="`$p/openssl version`"
431         case "$ap_ssltk_version" in
432             "OpenSSL "[[1-9]]* | \
433             "OpenSSL "0.9.[[6-9]][[e-z]]* | \
434             "OpenSSL "0.[[1-9]][[0-9]]* )
435                 ap_cv_ssltk="`(cd $p/.. && pwd)`"
436                 break
437                 ;;
438             *)
439                 # skip because it is too old or a bad result
440                 ;;
441         esac
442       done
443       if test "x$ap_cv_ssltk" = "x"; then
444         AC_MSG_ERROR([requires OpenSSL 0.9.6e or higher])
445       fi
446     ])
447     ap_ssltk_base="$ap_cv_ssltk"
448   fi
449   if test ! -d $ap_ssltk_base; then
450     AC_MSG_ERROR([invalid SSL/TLS toolkit base directory $ap_ssltk_base])
451   fi
452   AC_MSG_RESULT($ap_ssltk_base)
453     
454   AC_MSG_CHECKING(for SSL/TLS toolkit version)
455   AC_MSG_RESULT($ap_ssltk_version)
456     
457   AC_MSG_CHECKING(for SSL/TLS toolkit includes)
458   ap_ssltk_incdir=""
459   for p in $ap_ssltk_base/include /usr/local/openssl/include \
460            /usr/local/ssl/include /usr/local/include /usr/include; do
461     if test -f "$p/openssl/ssl.h"; then
462       ap_ssltk_incdir="$p"
463       break
464     elif test -f "$p/ssl.h"; then
465       ap_ssltk_incdir="$p"
466       break
467     fi
468   done
469   if test "x$ap_ssltk_incdir" = "x"; then
470     AC_MSG_ERROR([OpenSSL headers not found])
471   fi
472   AC_MSG_RESULT($ap_ssltk_incdir)
473
474   AC_MSG_CHECKING(for SSL/TLS toolkit libraries)
475   ap_ssltk_libdir=""
476   for p in $ap_ssltk_base/lib /usr/local/openssl/lib \
477            /usr/local/ssl/lib /usr/local/lib /usr/lib /lib /usr/lib64; do
478     if test -f "$p/libssl.a" -o -f "$p/libssl.so"; then
479       ap_ssltk_libdir="$p"
480       break
481     fi
482   done
483   if test ".$ap_ssltk_libdir" = .; then
484     AC_MSG_ERROR([OpenSSL libraries not found])
485   fi
486   AC_MSG_RESULT($ap_ssltk_libdir)
487
488   dnl #  annotate the Apache build environment with determined information
489   APR_ADDTO(INCLUDES, [-I$ap_ssltk_incdir/openssl])
490   if test "x$ap_ssltk_incdir" != "x/usr/include"; then
491     APR_ADDTO(INCLUDES, [-I$ap_ssltk_incdir])
492   fi
493   if test "x$ap_ssltk_libdir" != "x/usr/lib"; then
494     APR_ADDTO(LDFLAGS, [-L$ap_ssltk_libdir])
495     if test "x$ap_platform_runtime_link_flag" != "x"; then
496       APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_ssltk_libdir])
497     fi
498   fi
499   APR_ADDTO(LIBS, [-lssl -lcrypto])
500   ap_cv_ssltk="$ap_ssltk_base"
501 fi
502 ])
503
504 dnl
505 dnl APACHE_PARSE_ARGUMENTS
506 dnl a reimplementation of autoconf's argument parser,
507 dnl used here to allow us to co-exist layouts and argument based
508 dnl set ups.
509 AC_DEFUN(APACHE_PARSE_ARGUMENTS,[
510 ac_prev=
511 for ac_option
512 do
513   # If the previous option needs an argument, assign it.
514   if test -n "$ac_prev"; then
515     eval "$ac_prev=\$ac_option"
516     ac_prev=
517     continue
518   fi
519
520   ac_optarg=`expr "x$ac_option" : 'x[[^=]]*=\(.*\)'`
521
522   case $ac_option in
523
524   -bindir | --bindir | --bindi | --bind | --bin | --bi)
525     ac_prev=bindir ;;
526   -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
527     bindir="$ac_optarg" ;;
528
529   -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
530     ac_prev=datadir ;;
531   -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
532   | --da=*)
533     datadir="$ac_optarg" ;;
534
535   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
536   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
537   | --exec | --exe | --ex)
538     ac_prev=exec_prefix ;;
539   -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
540   | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
541   | --exec=* | --exe=* | --ex=*)
542     exec_prefix="$ac_optarg" ;;
543
544   -includedir | --includedir | --includedi | --included | --include \
545   | --includ | --inclu | --incl | --inc)
546     ac_prev=includedir ;;
547   -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
548   | --includ=* | --inclu=* | --incl=* | --inc=*)
549     includedir="$ac_optarg" ;;
550
551   -infodir | --infodir | --infodi | --infod | --info | --inf)
552     ac_prev=infodir ;;
553   -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
554     infodir="$ac_optarg" ;;
555
556   -libdir | --libdir | --libdi | --libd)
557     ac_prev=libdir ;;
558   -libdir=* | --libdir=* | --libdi=* | --libd=*)
559     libdir="$ac_optarg" ;;
560
561   -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
562   | --libexe | --libex | --libe)
563     ac_prev=libexecdir ;;
564   -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
565   | --libexe=* | --libex=* | --libe=*)
566     libexecdir="$ac_optarg" ;;
567
568   -localstatedir | --localstatedir | --localstatedi | --localstated \
569   | --localstate | --localstat | --localsta | --localst \
570   | --locals | --local | --loca | --loc | --lo)
571     ac_prev=localstatedir ;;
572   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
573   | --localstate=* | --localstat=* | --localsta=* | --localst=* \
574   | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
575     localstatedir="$ac_optarg" ;;
576
577   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
578     ac_prev=mandir ;;
579   -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
580     mandir="$ac_optarg" ;;
581
582   -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
583     ac_prev=prefix ;;
584   -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
585     prefix="$ac_optarg" ;;
586
587   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
588     ac_prev=sbindir ;;
589   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
590   | --sbi=* | --sb=*)
591     sbindir="$ac_optarg" ;;
592
593   -sharedstatedir | --sharedstatedir | --sharedstatedi \
594   | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
595   | --sharedst | --shareds | --shared | --share | --shar \
596   | --sha | --sh)
597     ac_prev=sharedstatedir ;;
598   -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
599   | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
600   | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
601   | --sha=* | --sh=*)
602     sharedstatedir="$ac_optarg" ;;
603
604   -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
605   | --syscon | --sysco | --sysc | --sys | --sy)
606     ac_prev=sysconfdir ;;
607   -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
608   | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
609     sysconfdir="$ac_optarg" ;;
610
611   esac
612 done
613
614 # Be sure to have absolute paths.
615 for ac_var in exec_prefix prefix
616 do
617   eval ac_val=$`echo $ac_var`
618   case $ac_val in
619     [[\\/$]]* | ?:[[\\/]]* | NONE | '' ) ;;
620     *)  AC_MSG_ERROR([expected an absolute path for --$ac_var: $ac_val]);;
621   esac
622 done
623
624 ])dnl
625
626 dnl
627 dnl APACHE_EXPORT_ARGUMENTS
628 dnl Export (via APACHE_SUBST) the various path-related variables that
629 dnl apache will use while generating scripts like autoconf and apxs and
630 dnl the default config file.
631
632 AC_DEFUN(APACHE_SUBST_EXPANDED_ARG,[
633   APR_EXPAND_VAR(exp_$1, [$]$1)
634   APACHE_SUBST(exp_$1)
635   APR_PATH_RELATIVE(rel_$1, [$]exp_$1, ${prefix})
636   APACHE_SUBST(rel_$1)
637 ])
638
639 AC_DEFUN(APACHE_EXPORT_ARGUMENTS,[
640   APACHE_SUBST_EXPANDED_ARG(exec_prefix)
641   APACHE_SUBST_EXPANDED_ARG(bindir)
642   APACHE_SUBST_EXPANDED_ARG(sbindir)
643   APACHE_SUBST_EXPANDED_ARG(libdir)
644   APACHE_SUBST_EXPANDED_ARG(libexecdir)
645   APACHE_SUBST_EXPANDED_ARG(mandir)
646   APACHE_SUBST_EXPANDED_ARG(sysconfdir)
647   APACHE_SUBST_EXPANDED_ARG(datadir)
648   APACHE_SUBST_EXPANDED_ARG(installbuilddir)
649   APACHE_SUBST_EXPANDED_ARG(errordir)
650   APACHE_SUBST_EXPANDED_ARG(iconsdir)
651   APACHE_SUBST_EXPANDED_ARG(htdocsdir)
652   APACHE_SUBST_EXPANDED_ARG(manualdir)
653   APACHE_SUBST_EXPANDED_ARG(cgidir)
654   APACHE_SUBST_EXPANDED_ARG(includedir)
655   APACHE_SUBST_EXPANDED_ARG(localstatedir)
656   APACHE_SUBST_EXPANDED_ARG(runtimedir)
657   APACHE_SUBST_EXPANDED_ARG(logfiledir)
658   APACHE_SUBST_EXPANDED_ARG(proxycachedir)
659 ])
660