]> granicus.if.org Git - apache/blob - configure.in
fix Korean translation
[apache] / configure.in
1 dnl
2 dnl Autoconf configuration for Apache httpd
3 dnl
4 dnl     Use ./buildconf to produce a configure script
5 dnl
6
7 AC_PREREQ(2.13)
8 AC_INIT(ABOUT_APACHE)
9
10 AC_CONFIG_HEADER(include/ap_config_auto.h)
11 AC_CONFIG_AUX_DIR(build)
12
13 dnl #
14 dnl # Include our own M4 macros along with those for APR and libtool
15 dnl #
16 sinclude(build/apr_common.m4)
17 sinclude(build/find_apr.m4)
18 sinclude(build/find_apu.m4)
19 sinclude(acinclude.m4)
20
21 dnl XXX we can't just use AC_PREFIX_DEFAULT because that isn't subbed in
22 dnl by configure until it is too late.  Is that how it should be or not?
23 dnl Something seems broken here.                                               
24 AC_PREFIX_DEFAULT(/usr/local/apache2)
25
26 dnl Get the layout here, so we can pass the required variables to apr
27 APR_ENABLE_LAYOUT(Apache, [errordir iconsdir htdocsdir cgidir])
28
29 dnl reparse the configure arguments.
30 APR_PARSE_ARGUMENTS
31
32 dnl export expanded and relative configure argument variables
33 APACHE_EXPORT_ARGUMENTS
34
35 dnl Save user-defined environment settings for later restoration
36 dnl
37 APR_SAVE_THE_ENVIRONMENT(CPPFLAGS)
38 APR_SAVE_THE_ENVIRONMENT(CFLAGS)
39 APR_SAVE_THE_ENVIRONMENT(CXXFLAGS)
40 APR_SAVE_THE_ENVIRONMENT(LDFLAGS)
41 APR_SAVE_THE_ENVIRONMENT(LIBS)
42 APR_SAVE_THE_ENVIRONMENT(INCLUDES)
43
44 dnl Generate ./config.nice for reproducing runs of configure
45 dnl
46 APR_CONFIG_NICE(config.nice)
47
48 nl='
49 '
50 dnl Check that mkdir -p works
51 APR_MKDIR_P_CHECK($top_srcdir/build/mkdir.sh)
52
53 dnl ## Run configure for packages Apache uses
54
55 dnl shared library support for these packages doesn't currently
56 dnl work on some platforms
57
58 AC_CANONICAL_SYSTEM
59
60 orig_prefix="$prefix"
61
62 echo $ac_n "${nl}Configuring Apache Portable Runtime library ...${nl}"
63
64 APR_FIND_APR("$srcdir/srclib/apr", "./srclib/apr", 1, 1)
65
66 if test "$apr_found" = "no"; then
67   AC_MSG_ERROR([APR not found.  Please read the documentation.])
68 fi
69
70 if test "$apr_found" = "reconfig"; then
71   APR_SUBDIR_CONFIG(srclib/apr,
72                     [$apache_apr_flags --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir --datadir=$datadir --with-installbuilddir=$installbuilddir],
73                     [--enable-layout=*|\'--enable-layout=*])
74   dnl We must be the first to build and the last to be cleaned
75   AP_BUILD_SRCLIB_DIRS="apr $AP_BUILD_SRCLIB_DIRS"
76   AP_CLEAN_SRCLIB_DIRS="$AP_CLEAN_SRCLIB_DIRS apr"
77 fi
78
79 APR_SETIFNULL(CC, `$apr_config --cc`)
80 APR_SETIFNULL(CPP, `$apr_config --cpp`)
81 APR_ADDTO(CFLAGS, `$apr_config --cflags`)
82 APR_ADDTO(CPPFLAGS, `$apr_config --cppflags`)
83 APR_ADDTO(LDFLAGS, `$apr_config --ldflags`)
84 SHLIBPATH_VAR=`$apr_config --shlib-path-var`
85 APR_BINDIR=`$apr_config --bindir`
86 APR_INCLUDEDIR=`$apr_config --includedir`
87 APR_VERSION=`$apr_config --version`
88 APR_CONFIG="$APR_BINDIR/apr-`echo ${APR_VERSION} | sed 's,\..*,,'`-config"
89
90 echo $ac_n "${nl}Configuring Apache Portable Runtime Utility library...${nl}"
91
92 APR_FIND_APU("$srcdir/srclib/apr-util", "./srclib/apr-util", 1, 1)
93
94 if test "$apu_found" = "no"; then
95   AC_MSG_ERROR([APR-util not found.  Please read the documentation.])
96 fi
97
98 if test "$apu_found" = "reconfig"; then
99   APR_SUBDIR_CONFIG(srclib/apr-util,
100                     [--with-apr=../apr --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir],
101                     [--enable-layout=*|\'--enable-layout=*])
102   dnl We must be the last to build and the first to be cleaned
103   AP_BUILD_SRCLIB_DIRS="$AP_BUILD_SRCLIB_DIRS apr-util"
104   AP_CLEAN_SRCLIB_DIRS="apr-util $AP_CLEAN_SRCLIB_DIRS"
105 fi
106
107 APR_ADDTO(LDFLAGS, `$apu_config --ldflags`)
108 APU_BINDIR=`$apu_config --bindir`
109 APU_INCLUDEDIR=`$apu_config --includedir`
110 APU_VERSION=`$apu_config --version`
111 APU_CONFIG="$APU_BINDIR/apu-`echo ${APU_VERSION} | sed 's,\..*,,'`-config"
112
113 dnl In case we picked up CC and CPP from APR, get that info into the
114 dnl config cache so that PCRE uses it.  Otherwise, CC and CPP used for
115 dnl PCRE and for our config tests will be whatever PCRE determines.
116 AC_PROG_CC
117 AC_PROG_CPP
118
119 if test "x${cache_file}" = "x/dev/null"; then
120   # Likewise, ensure that CC and CPP are passed through to the pcre
121   # configure script iff caching is disabled (the autoconf 2.5x default).
122   export CC; export CPP
123 fi
124
125 dnl Absolute source/build directory
126 abs_srcdir=`(cd $srcdir && pwd)`
127 abs_builddir=`pwd`
128
129 AC_ARG_WITH(pcre,
130 APACHE_HELP_STRING(--with-pcre=PATH,Use external PCRE library))
131
132 case $with_pcre in
133 yes) AC_PATH_PROG(PCRE_CONFIG, pcre-config, false) ;;
134  /*) if test -d "$with_pcre" && test -x "$with_pcre/bin/pcre-config"; then
135        PCRE_CONFIG=$with_pcre/bin/pcre-config
136      elif test -x "$with_pcre"; then
137        PCRE_CONFIG=$with_pcre
138      fi
139
140      if $PCRE_CONFIG --version >&/dev/null; then :; else
141        AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG])
142      fi
143      ;;
144 *) PCRE_CONFIG=false ;;
145 esac
146
147 if test "$PCRE_CONFIG" != "false"; then
148   AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG])
149   APR_ADDTO(CFLAGS, [`$PCRE_CONFIG --cflags`])
150   APR_ADDTO(LIBS, [`$PCRE_CONFIG --libs`])
151 else
152   # Build the bundled PCRE
153   AC_MSG_NOTICE([Configuring PCRE regular expression library])
154
155   APR_SUBDIR_CONFIG(srclib/pcre,
156                   [--prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir])
157
158   APR_ADDTO(AP_LIBS, [$abs_builddir/srclib/pcre/libpcre.la])
159   APR_ADDTO(CPPFLAGS, [-I$abs_builddir/srclib/pcre])
160
161   AP_BUILD_SRCLIB_DIRS="$AP_BUILD_SRCLIB_DIRS pcre"
162   AP_CLEAN_SRCLIB_DIRS="$AP_CLEAN_SRCLIB_DIRS pcre" 
163 fi
164
165 echo $ac_n "${nl}Configuring Apache httpd ...${nl}"
166
167 dnl If the source dir is not equal to the build dir, 
168 dnl then we are running in VPATH mode.
169
170 APR_ADDTO(INCLUDES, [-I.])
171
172 if test "$abs_builddir" != "$abs_srcdir"; then
173   APR_ADDTO(INCLUDES, [-I\$(top_builddir)/include])
174 fi
175
176 APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/os/\$(OS_DIR) -I\$(top_srcdir)/server/mpm/\$(MPM_SUBDIR_NAME) -I\$(top_srcdir)/modules/http -I\$(top_srcdir)/modules/filters -I\$(top_srcdir)/modules/proxy -I\$(top_srcdir)/include -I\$(top_srcdir)/modules/generators -I\$(top_srcdir)/modules/mappers])
177
178 # apr/apr-util --includes may pick up system paths for dependent
179 # libraries, so ensure these are later in INCLUDES than local source
180 # directories.
181 APR_ADDTO(INCLUDES, `$apr_config --includes`)
182 APR_ADDTO(INCLUDES, `$apu_config --includes`)
183
184 echo $ac_n "${nl}Applying OS-specific hints for httpd ...${nl}"
185
186 case $host in
187   *os2*)
188       # Use a custom made libtool replacement
189       echo "using aplibtool"
190       LIBTOOL="$abs_srcdir/srclib/apr/build/aplibtool"
191       SH_LIBTOOL="$LIBTOOL --shared --export-all"
192       SH_LIBS="\$(ALL_LIBS)"
193       CORE_IMPLIB_FILE="ApacheCoreOS2.la"
194       CORE_IMPLIB="$abs_srcdir/server/$CORE_IMPLIB_FILE"
195       MK_IMPLIB="emximp"
196       other_targets="$other_targets os2core"
197       INSTALL_PROG_FLAGS="-e .exe"
198       SHLTCFLAGS=""
199       LTCFLAGS=""
200       ;;
201   *)
202       if test "x$LTFLAGS" = "x"; then
203           LTFLAGS='--silent'
204       fi
205       my_libtool=`$apr_config --apr-libtool`
206       LIBTOOL="$my_libtool \$(LTFLAGS)"
207       libtoolversion=`$my_libtool --version`
208       case $libtoolversion in
209           *1.[[45]]*)
210               SH_LIBTOOL='$(LIBTOOL)'
211               SHLTCFLAGS="-prefer-pic"
212               LTCFLAGS="-prefer-non-pic -static"
213               ;;
214           *)
215               SH_LIBTOOL='$(SHELL) $(top_builddir)/shlibtool $(LTFLAGS)'
216               SHLTCFLAGS=""
217               LTCFLAGS=""
218               ;;
219       esac
220       ;;
221 esac
222 APACHE_SUBST(SHLTCFLAGS)
223 APACHE_SUBST(LTCFLAGS)
224
225 AP_SIG_GRACEFUL=USR1
226
227 case $host in
228   *-apple-aux3*)
229       APR_SETVAR(APACHE_MPM, [prefork])
230       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
231       ;;
232   *-beos*)
233       APR_SETVAR(APACHE_MPM, [beos])
234       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
235       ;;
236   *os2-emx*)
237       APR_SETVAR(APACHE_MPM, [mpmt_os2])
238       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
239       ;;
240   *-linux-*)
241       case `uname -r` in
242         2.0* ) 
243             AP_SIG_GRACEFUL=WINCH
244             ;;
245         2.[[2-9]]* ) 
246             APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
247             ;;
248         * )
249             ;;
250       esac
251       ;;
252   *486-*-bsdi* | *-netbsd* | *-freebsd* | *-apple-darwin* | *-dec-osf* | *-qnx)
253       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
254       ;;
255   *-solaris2*)
256       dnl This is a hack -- we should be using AC_TRY_RUN instead
257       ap_platform_runtime_link_flag="-R"
258       dnl solaris 8 and above don't have a thundering herd
259       dnl not sure about rev's before this one.
260       case `uname -r` in
261         5.[567]*)
262             ;;
263         * )
264             APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
265             ;;
266       esac
267       ;;
268   *cygwin*)
269       APR_SETVAR(APACHE_MPM, [prefork])
270       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
271       ;;
272   *aix*)
273       aixver=`echo $host | sed 's/^[[^0-9]]*//' | sed 's/\.//g'`
274       if test $aixver -ge 4320; then
275         APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
276       fi
277       ;;
278   *os390*)
279       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
280       ;;
281 esac
282
283 APR_SETVAR(AP_NONBLOCK_WHEN_MULTI_LISTEN, [1])
284
285 dnl
286 dnl Process command line arguments. This is done early in the process so the
287 dnl user can get feedback quickly in case of an error.
288 dnl
289 dnl ### need to move some of the arguments "up here"
290
291 dnl ## Check for programs
292
293 AC_PATH_PROG(RM, rm)
294 AC_PATH_PROG(PKGCONFIG, pkg-config)
295 AC_PROG_AWK
296 AC_PROG_INSTALL
297 AC_PROG_LN_S
298 AC_CHECK_TOOL(RANLIB, ranlib, true)
299 dnl AC_PATH_PROG(PERL_PATH, perl)
300 AC_CHECK_PROGS(LYNX_PATH,[lynx links elinks], [lynx])
301
302 dnl various OS checks that apparently set required flags
303 AC_AIX
304 AC_ISC_POSIX
305 AC_MINIX
306
307 dnl Check for what we can generate dependency files with
308 APR_CHECK_DEPEND
309
310 dnl ## Check for libraries
311
312 dnl ## Check for header files
313
314 dnl I think these are just used all over the place, so just check for
315 dnl them at the base of the tree. If some are specific to a single
316 dnl directory, they should be moved (Comment #Spoon)
317
318 dnl Regarding standard header files: AC_HEADER_STDC doesn't set symbols
319 dnl HAVE_STRING_H, HAVE_STDLIB_H, etc., so those are checked for
320 dnl explicitly so that the normal HAVE_xxx_H symbol is defined.
321
322 AC_HEADER_STDC
323 AC_CHECK_HEADERS( \
324 string.h \
325 limits.h \
326 unistd.h \
327 sys/socket.h \
328 pwd.h \
329 grp.h \
330 strings.h \
331 sys/prctl.h \
332 sys/processor.h \
333 sys/sem.h
334 )
335 AC_HEADER_SYS_WAIT
336
337 dnl ## Check for typedefs, structures, and compiler characteristics.
338
339 AC_C_CONST
340 if test "x$GCC" = "xyes"; then
341   AC_DEFINE([AP_HAVE_DESIGNATED_INITIALIZER], 1,
342             [Define if the compiler supports designated initializers])
343 fi
344
345 dnl ## Check for library functions
346 AC_SEARCH_LIBS(sqrt, m)
347
348 dnl See Comment #Spoon
349
350 AC_CHECK_FUNCS( \
351 getpwnam \
352 getgrnam \
353 initgroups \
354 bindprocessor \
355 prctl \
356 timegm \
357 )
358
359 dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs
360 AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
361 [AC_TRY_COMPILE([#include <sys/types.h>
362 #include <time.h>], [struct tm tm; tm.tm_gmtoff;],
363   ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
364 if test "$ac_cv_struct_tm_gmtoff" = "yes"; then
365     AC_DEFINE(HAVE_GMTOFF, 1, [Define if struct tm has a tm_gmtoff field])
366 fi
367
368 dnl ## Set up any appropriate OS-specific environment variables for apachectl
369
370 case $host in
371     *aix*)
372         # for 32-bit builds, increase MAXDATA to allow lots of threads
373         if test x$OBJECT_MODE != x64; then
374             OS_SPECIFIC_VARS="LDR_CNTRL=\"MAXDATA=0x80000000\" ; export LDR_CNTRL ;"
375         fi
376         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS AIXTHREAD_SCOPE=S ; export AIXTHREAD_SCOPE"
377         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; AIXTHREAD_MUTEX_DEBUG=OFF ; export AIXTHREAD_MUTEX_DEBUG"
378         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; AIXTHREAD_RWLOCK_DEBUG=OFF ; export AIXTHREAD_RWLOCK_DEBUG"
379         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; AIXTHREAD_COND_DEBUG=OFF ; export AIXTHREAD_COND_DEBUG"
380         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; SPINLOOPTIME=1000 ; export SPINLOOPTIME"
381         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; YIELDLOOPTIME=8 ; export YIELDLOOPTIME"
382         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; MALLOCMULTIHEAP=considersize,heaps:8 ; export MALLOCMULTIHEAP"
383         ;;
384     *os390*)
385         OS_SPECIFIC_VARS="export _CEE_RUNOPTS=\"STACK(,,ANY)\" ; export _EDC_ADD_ERRNO2=1"
386         ;;
387     *)
388         OS_SPECIFIC_VARS=""
389 esac
390       
391 AC_ARG_WITH(port,APACHE_HELP_STRING(--with-port=PORT,Port on which to listen (default is 80)),
392         [if test "$withval" = "yes"; then AC_MSG_ERROR('option --with-port requires a value (the TCP port number)'); else PORT="$withval"; fi],
393         [PORT=80])
394
395 APR_CHECK_APR_DEFINE(APR_HAVE_IPV6)
396
397 AC_ARG_ENABLE(v4-mapped,APACHE_HELP_STRING(--enable-v4-mapped,Allow IPv6 sockets to handle IPv4 connections),
398
399   v4mapped=$enableval
400 ],
401 [
402     case $host in
403     *freebsd5*|*netbsd*|*openbsd*)
404         v4mapped=no
405         ;;
406     *)
407         v4mapped=yes
408         ;;
409 esac
410 ])
411
412 if test $v4mapped = "yes" -a $ac_cv_define_APR_HAVE_IPV6 = "yes"; then
413     AC_DEFINE(AP_ENABLE_V4_MAPPED, 1,
414               [Allow IPv4 connections on IPv6 listening sockets])
415 fi
416
417 AC_ARG_ENABLE(exception-hook,APACHE_HELP_STRING(--enable-exception-hook,Enable fatal exception hook),
418 [
419     AC_DEFINE(AP_ENABLE_EXCEPTION_HOOK, 1,
420               [Allow modules to run hook after a fatal exception])
421 ])dnl
422
423 AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings),
424 [
425   APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
426 ])dnl
427
428 dnl Conditionally enable PIE support for GNU toolchains.
429 AC_ARG_ENABLE(pie,APACHE_HELP_STRING(--enable-pie,Build httpd as a Position Independent Executable))
430 if test "$enable_pie" = "yes"; then
431    AC_CACHE_CHECK([whether $CC accepts PIE flags], [ap_cv_cc_pie], [
432      save_CFLAGS=$CFLAGS
433      save_LDFLAGS=$LDFLAGS
434      CFLAGS="$CFLAGS -fPIE"
435      LDFLAGS="$LDFLAGS -pie"
436      AC_TRY_RUN([static int foo[30000]; int main () { return 0; }],
437       [ap_cv_cc_pie=yes], [ap_cv_cc_pie=no], [ap_cv_cc_pie=yes])
438      CFLAGS=$save_CFLAGS
439      LDFLAGS=$save_LDFLAGS
440    ])
441    if test "$ap_cv_cc_pie" = "yes"; then
442      PICFLAGS="-fPIE"
443      PILDFLAGS="-pie"
444    else
445      AC_ERROR([--enable-pie requested but $CC failed using PIE flags])
446    fi
447 fi
448 AC_SUBST(PICFLAGS)
449 AC_SUBST(PILDFLAGS)
450
451 prefix="$orig_prefix"
452 APACHE_ENABLE_MODULES
453
454 dnl reading config stubs
455 esyscmd(./build/config-stubs .)
456
457 APACHE_SUBST(progname)
458 APACHE_SUBST(MPM_LIB)
459 APACHE_SUBST(OS)
460 APACHE_SUBST(OS_DIR)
461 APACHE_SUBST(BUILTIN_LIBS)
462 APACHE_SUBST(SHLIBPATH_VAR)
463 APACHE_SUBST(OS_SPECIFIC_VARS)
464
465 PRE_SHARED_CMDS='echo ""'
466 POST_SHARED_CMDS='echo ""'
467
468 dnl apache_need_shared tells us if Apache modules are being built as DSOs
469
470 if test "$apache_need_shared" = "yes"; then
471   if test -f $ac_aux_dir/ltconfig; then
472     $SHELL $ac_aux_dir/ltconfig --output=shlibtool --disable-static --srcdir=$ac_aux_dir --cache-file=./config.cache $ac_aux_dir/ltmain.sh
473   fi
474   shared_build="shared-build"
475 fi
476
477 dnl enable_so tells us if *any* modules can be built as DSOs
478
479 if test "$enable_so" = "yes"; then
480   case $host in
481     *-ibm-aix*)
482       HTTPD_LDFLAGS="$HTTPD_LDFLAGS -Wl,-uXML_Parse -Wl,-bE:$abs_builddir/server/httpd.exp"
483       SH_LDFLAGS="$SH_LDFLAGS \$(EXTRA_LDFLAGS) \$(EXTRA_LIBS)"
484       UTIL_LDFLAGS="$UTIL_LDFLAGS -Wl,-uXML_Parse"
485       ;;
486     *beos)
487       SH_LDFLAGS='$(top_builddir)/_APP_'
488       PRE_SHARED_CMDS='ln -s $(top_builddir)/httpd $(top_builddir)/_APP_'
489       POST_SHARED_CMDS='rm $(top_builddir)/_APP_'
490       ;;
491     *os390)
492       HTTPD_LDFLAGS="$HTTPD_LDFLAGS --main=$abs_srcdir/server/main.o --core-dll=$abs_srcdir/apachecore.dll"
493       SH_LDFLAGS="$SH_LDFLAGS --core-dll=$abs_srcdir/apachecore.dll"
494   esac
495 fi
496
497 APACHE_SUBST(PRE_SHARED_CMDS)
498 APACHE_SUBST(POST_SHARED_CMDS)
499 APACHE_SUBST(shared_build)
500
501 AC_ARG_WITH(program-name,
502 APACHE_HELP_STRING(--with-program-name,alternate executable name),[
503   progname="$withval" ], [
504   progname="httpd"] )
505
506 # SuExec parameters
507 AC_ARG_WITH(suexec-bin,
508 APACHE_HELP_STRING(--with-suexec-bin,Path to suexec binary),[
509   AC_DEFINE_UNQUOTED(SUEXEC_BIN, "$withval", [Path to suexec binary] )
510 ] )
511
512 AC_ARG_WITH(suexec-caller,
513 APACHE_HELP_STRING(--with-suexec-caller,User allowed to call SuExec),[
514   AC_DEFINE_UNQUOTED(AP_HTTPD_USER, "$withval", [User allowed to call SuExec] ) ] )
515
516 AC_ARG_WITH(suexec-userdir,
517 APACHE_HELP_STRING(--with-suexec-userdir,User subdirectory),[
518   AC_DEFINE_UNQUOTED(AP_USERDIR_SUFFIX, "$withval", [User subdirectory] ) ] )
519
520 AC_ARG_WITH(suexec-docroot,
521 APACHE_HELP_STRING(--with-suexec-docroot,SuExec root directory),[
522   AC_DEFINE_UNQUOTED(AP_DOC_ROOT, "$withval", [SuExec root directory] ) ] )
523
524 AC_ARG_WITH(suexec-uidmin,
525 APACHE_HELP_STRING(--with-suexec-uidmin,Minimal allowed UID),[
526   AC_DEFINE_UNQUOTED(AP_UID_MIN, $withval, [Minimum allowed UID] ) ] )
527
528 AC_ARG_WITH(suexec-gidmin,
529 APACHE_HELP_STRING(--with-suexec-gidmin,Minimal allowed GID),[
530   AC_DEFINE_UNQUOTED(AP_GID_MIN, $withval, [Minimum allowed GID] ) ] )
531
532 AC_ARG_WITH(suexec-logfile,
533 APACHE_HELP_STRING(--with-suexec-logfile,Set the logfile),[
534   AC_DEFINE_UNQUOTED(AP_LOG_EXEC, "$withval", [SuExec log file] ) ] )
535
536 AC_ARG_WITH(suexec-safepath,
537 APACHE_HELP_STRING(--with-suexec-safepath,Set the safepath),[
538   AC_DEFINE_UNQUOTED(AP_SAFE_PATH, "$withval", [safe shell path for SuExec] ) ] )
539
540 AC_ARG_WITH(suexec-umask,
541 APACHE_HELP_STRING(--with-suexec-umask,umask for suexec'd process),[
542   AC_DEFINE_UNQUOTED(AP_SUEXEC_UMASK, 0$withval, [umask for suexec'd process] ) ] )
543
544 dnl APR should go after the other libs, so the right symbols can be picked up
545 AP_LIBS="$AP_LIBS `$apu_config --link-libtool --libs` `$apr_config --link-libtool --libs`"
546 APACHE_SUBST(AP_LIBS)
547 APACHE_SUBST(AP_BUILD_SRCLIB_DIRS)
548 APACHE_SUBST(AP_CLEAN_SRCLIB_DIRS)
549
550 AC_DEFINE(AP_USING_AUTOCONF, 1,
551                 [Using autoconf to configure Apache])
552
553 if test "$SINGLE_LISTEN_UNSERIALIZED_ACCEPT" = "1"; then
554     AC_DEFINE(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, 1, 
555               [This platform doesn't suffer from the thundering herd problem])
556 fi
557
558 if test "$AP_NONBLOCK_WHEN_MULTI_LISTEN" = "1"; then
559     AC_DEFINE(AP_NONBLOCK_WHEN_MULTI_LISTEN, 1, 
560               [Listening sockets are non-blocking when there are more than 1])
561 fi
562
563 AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL, SIG$AP_SIG_GRACEFUL, [Signal used to gracefully restart])
564 AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL_STRING, "SIG$AP_SIG_GRACEFUL", [Signal used to gracefully restart (as a quoted string)])
565 AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL_SHORT, $AP_SIG_GRACEFUL, [Signal used to gracefully restart (without SIG prefix)])
566 AP_SIG_GRACEFUL_SHORT=$AP_SIG_GRACEFUL
567 AP_SIG_GRACEFUL=SIG$AP_SIG_GRACEFUL_SHORT
568 AC_SUBST(AP_SIG_GRACEFUL)
569 AC_SUBST(AP_SIG_GRACEFUL_STRING)
570 AC_SUBST(AP_SIG_GRACEFUL_SHORT)
571
572 APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile) 
573 APACHE_FAST_OUTPUT(os/Makefile server/Makefile)
574 APACHE_FAST_OUTPUT(support/Makefile srclib/pcre/Makefile)
575
576 if test -d ./test; then
577     APACHE_FAST_OUTPUT(test/Makefile)
578 fi
579
580 dnl ## Finalize the variables
581 echo $ac_n "${nl}Restore user-defined environment settings...${nl}"
582
583 APR_RESTORE_THE_ENVIRONMENT(CPPFLAGS, EXTRA_)
584 APR_RESTORE_THE_ENVIRONMENT(CFLAGS, EXTRA_)
585 APR_RESTORE_THE_ENVIRONMENT(CXXFLAGS, EXTRA_)
586 APR_RESTORE_THE_ENVIRONMENT(LDFLAGS, EXTRA_)
587 APR_RESTORE_THE_ENVIRONMENT(LIBS, EXTRA_)
588 APR_RESTORE_THE_ENVIRONMENT(INCLUDES, EXTRA_)
589
590 echo $ac_n "${nl}Construct makefiles and header files...${nl}"
591
592 APACHE_GEN_CONFIG_VARS
593
594 dnl ## Build modules.c
595 rm -f modules.c
596 echo $MODLIST | $AWK -f $srcdir/build/build-modules-c.awk > modules.c
597
598 APR_EXPAND_VAR(ap_prefix, $prefix)
599 AC_DEFINE_UNQUOTED(HTTPD_ROOT, "${ap_prefix}",
600         [Root directory of the Apache install area])
601 AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "${rel_sysconfdir}/${progname}.conf",
602         [Location of the config file, relative to the Apache root directory])
603 AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types",
604         [Location of the MIME types config file, relative to the Apache root directory])
605 AC_DEFINE_UNQUOTED(APACHE_MPM_DIR, "$MPM_DIR",
606         [Location of the source for the current MPM])
607
608 perlbin=`$ac_aux_dir/PrintPath perl`
609 if test "x$perlbin" = "x"; then
610     perlbin="/replace/with/path/to/perl/interpreter"
611 fi
612 AC_SUBST(perlbin)
613
614 dnl If we are running on BSD/OS, we need to use the BSD .include syntax.
615
616 BSD_MAKEFILE=no
617 ap_make_include=include
618 ap_make_delimiter=' '
619 case $host in
620 *bsdi*)
621     # Check whether they've installed GNU make
622     if make --version > /dev/null 2>&1; then
623         true
624     else
625         BSD_MAKEFILE=yes
626         ap_make_include=.include
627         ap_make_delimiter='"'
628     fi
629     ;;
630 esac
631 AC_SUBST(ap_make_include)
632 AC_SUBST(ap_make_delimiter)
633
634 dnl Ensure that docs/conf is created.
635 test -d docs/conf||$mkdir_p docs/conf
636
637 dnl Ensure that the httpd version is included
638 HTTPD_VERSION=`$abs_srcdir/build/get-version.sh all $abs_srcdir/include/ap_release.h AP_SERVER`
639 AC_SUBST(HTTPD_VERSION)
640
641 AC_OUTPUT($APACHE_OUTPUT_FILES docs/conf/httpd-std.conf docs/conf/ssl-std.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo,[true],[
642   APACHE_GEN_MAKEFILES
643 ])
644
645 case $MPM_SUBDIR_NAME in
646 *experimental*)
647     echo ""
648     echo ""
649     echo "============================================================"
650     echo "    WARNING: THE '${APACHE_MPM}' MPM IS EXPERIMENTAL"
651     echo "============================================================"
652     echo " The selected MPM might not be fully functional!"
653     echo ""
654     echo " Development of this MPM is not complete. Do not use this"
655     echo " MPM unless you are a programmer willing to help fix it."
656     echo ""
657     echo " If you are looking for a stable server, you should not use"
658     echo " the '${APACHE_MPM}' MPM until it is moved out of experimental."
659     echo "============================================================"
660     echo ""
661     echo ""
662     ;;
663 esac