]> granicus.if.org Git - apache/blob - configure.in
Initialize workers for every virtual server not just for default one.
[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 echo $ac_n "${nl}Configuring PCRE regular expression library ...${nl}"
126
127 APR_SUBDIR_CONFIG(srclib/pcre,
128                   [--prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir])
129
130 echo $ac_n "${nl}Configuring Apache httpd ...${nl}"
131
132 dnl Absolute source/build directory
133 abs_srcdir=`(cd $srcdir && pwd)`
134 abs_builddir=`pwd`
135
136 dnl If the source dir is not equal to the build dir, 
137 dnl then we are running in VPATH mode.
138
139 APR_ADDTO(INCLUDES, [-I.])
140
141 if test "$abs_builddir" != "$abs_srcdir"; then
142   APR_ADDTO(INCLUDES, [-I\$(top_builddir)/include])
143 fi
144
145 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])
146
147 # apr/apr-util --includes may pick up system paths for dependent
148 # libraries, so ensure these are later in INCLUDES than local source
149 # directories.
150 APR_ADDTO(INCLUDES, `$apr_config --includes`)
151 APR_ADDTO(INCLUDES, `$apu_config --includes`)
152
153 echo $ac_n "${nl}Applying OS-specific hints for httpd ...${nl}"
154
155 case $host in
156   *os2*)
157       # Use a custom made libtool replacement
158       echo "using aplibtool"
159       LIBTOOL="$abs_srcdir/srclib/apr/build/aplibtool"
160       SH_LIBTOOL="$LIBTOOL --shared --export-all"
161       SH_LIBS="\$(ALL_LIBS)"
162       CORE_IMPLIB_FILE="ApacheCoreOS2.la"
163       CORE_IMPLIB="$abs_srcdir/server/$CORE_IMPLIB_FILE"
164       MK_IMPLIB="emximp"
165       other_targets="$other_targets os2core"
166       INSTALL_PROG_FLAGS="-e .exe"
167       SHLTCFLAGS=""
168       LTCFLAGS=""
169       ;;
170   *)
171       if test "x$LTFLAGS" = "x"; then
172           LTFLAGS='--silent'
173       fi
174       my_libtool=`$apr_config --apr-libtool`
175       LIBTOOL="$my_libtool \$(LTFLAGS)"
176       libtoolversion=`$my_libtool --version`
177       case $libtoolversion in
178           *1.[[45]]*)
179               SH_LIBTOOL='$(LIBTOOL)'
180               SHLTCFLAGS="-prefer-pic"
181               LTCFLAGS="-prefer-non-pic -static"
182               ;;
183           *)
184               SH_LIBTOOL='$(SHELL) $(top_builddir)/shlibtool $(LTFLAGS)'
185               SHLTCFLAGS=""
186               LTCFLAGS=""
187               ;;
188       esac
189       ;;
190 esac
191 APACHE_SUBST(SHLTCFLAGS)
192 APACHE_SUBST(LTCFLAGS)
193
194 AP_SIG_GRACEFUL=USR1
195
196 case $host in
197   *-apple-aux3*)
198       APR_SETVAR(APACHE_MPM, [prefork])
199       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
200       ;;
201   *-beos*)
202       APR_SETVAR(APACHE_MPM, [beos])
203       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
204       ;;
205   *os2_emx*)
206       APR_SETVAR(APACHE_MPM, [mpmt_os2])
207       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
208       ;;
209   *-linux-*)
210       case `uname -r` in
211         2.0* ) 
212             AP_SIG_GRACEFUL=WINCH
213             ;;
214         2.[[2-9]]* ) 
215             APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
216             ;;
217         * )
218             ;;
219       esac
220       ;;
221   *486-*-bsdi* | *-netbsd* | *-freebsd* | *-apple-darwin* | *-dec-osf* | *-qnx)
222       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
223       ;;
224   *-solaris2*)
225       dnl This is a hack -- we should be using AC_TRY_RUN instead
226       ap_platform_runtime_link_flag="-R"
227       dnl solaris 8 and above don't have a thundering herd
228       dnl not sure about rev's before this one.
229       case `uname -r` in
230         5.[567]*)
231             ;;
232         * )
233             APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
234             ;;
235       esac
236       ;;
237   *cygwin*)
238       APR_SETVAR(APACHE_MPM, [prefork])
239       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
240       ;;
241   *aix*)
242       aixver=`echo $host | sed 's/^[[^0-9]]*//' | sed 's/\.//g'`
243       if test $aixver -ge 4320; then
244         APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
245       fi
246       ;;
247   *os390*)
248       APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1])
249       ;;
250 esac
251
252 APR_SETVAR(AP_NONBLOCK_WHEN_MULTI_LISTEN, [1])
253
254 dnl
255 dnl Process command line arguments. This is done early in the process so the
256 dnl user can get feedback quickly in case of an error.
257 dnl
258 dnl ### need to move some of the arguments "up here"
259
260 dnl ## Check for programs
261
262 AC_PATH_PROG(RM, rm)
263 AC_PATH_PROG(PKGCONFIG, pkg-config)
264 AC_PROG_AWK
265 AC_PROG_INSTALL
266 AC_PROG_LN_S
267 AC_CHECK_TOOL(RANLIB, ranlib, true)
268 dnl AC_PATH_PROG(PERL_PATH, perl)
269 AC_CHECK_PROGS(LYNX_PATH,[lynx links elinks], [lynx])
270
271 dnl various OS checks that apparently set required flags
272 AC_AIX
273 AC_ISC_POSIX
274 AC_MINIX
275
276 dnl Check for what we can generate dependency files with
277 APR_CHECK_DEPEND
278
279 dnl ## Check for libraries
280
281 dnl ## Check for header files
282
283 dnl I think these are just used all over the place, so just check for
284 dnl them at the base of the tree. If some are specific to a single
285 dnl directory, they should be moved (Comment #Spoon)
286
287 dnl Regarding standard header files: AC_HEADER_STDC doesn't set symbols
288 dnl HAVE_STRING_H, HAVE_STDLIB_H, etc., so those are checked for
289 dnl explicitly so that the normal HAVE_xxx_H symbol is defined.
290
291 AC_HEADER_STDC
292 AC_CHECK_HEADERS( \
293 string.h \
294 limits.h \
295 unistd.h \
296 sys/socket.h \
297 pwd.h \
298 grp.h \
299 strings.h \
300 sys/prctl.h \
301 sys/processor.h \
302 sys/sem.h
303 )
304 AC_HEADER_SYS_WAIT
305
306 dnl ## Check for typedefs, structures, and compiler characteristics.
307
308 AC_C_CONST
309 if test "x$GCC" = "xyes"; then
310   AC_DEFINE([AP_HAVE_DESIGNATED_INITIALIZER], 1,
311             [Define if the compiler supports designated initializers])
312 fi
313
314 dnl ## Check for library functions
315 AC_SEARCH_LIBS(sqrt, m)
316
317 dnl See Comment #Spoon
318
319 AC_CHECK_FUNCS( \
320 getpwnam \
321 getgrnam \
322 initgroups \
323 bindprocessor \
324 prctl \
325 timegm \
326 )
327
328 dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs
329 AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
330 [AC_TRY_COMPILE([#include <sys/types.h>
331 #include <time.h>], [struct tm tm; tm.tm_gmtoff;],
332   ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
333 if test "$ac_cv_struct_tm_gmtoff" = "yes"; then
334     AC_DEFINE(HAVE_GMTOFF, 1, [Define if struct tm has a tm_gmtoff field])
335 fi
336
337 dnl ## Set up any appropriate OS-specific environment variables for apachectl
338
339 case $host in
340     *aix*)
341         # for 32-bit builds, increase MAXDATA to allow lots of threads
342         if test x$OBJECT_MODE != x64; then
343             OS_SPECIFIC_VARS="LDR_CNTRL=\"MAXDATA=0x80000000\" ; export LDR_CNTRL ;"
344         fi
345         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS AIXTHREAD_SCOPE=S ; export AIXTHREAD_SCOPE"
346         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; AIXTHREAD_MUTEX_DEBUG=OFF ; export AIXTHREAD_MUTEX_DEBUG"
347         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; AIXTHREAD_RWLOCK_DEBUG=OFF ; export AIXTHREAD_RWLOCK_DEBUG"
348         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; AIXTHREAD_COND_DEBUG=OFF ; export AIXTHREAD_COND_DEBUG"
349         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; SPINLOOPTIME=1000 ; export SPINLOOPTIME"
350         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; YIELDLOOPTIME=8 ; export YIELDLOOPTIME"
351         OS_SPECIFIC_VARS="$OS_SPECIFIC_VARS ; MALLOCMULTIHEAP=considersize,heaps:8 ; export MALLOCMULTIHEAP"
352         ;;
353     *os390*)
354         OS_SPECIFIC_VARS="export _CEE_RUNOPTS=\"STACK(,,ANY)\" ; export _EDC_ADD_ERRNO2=1"
355         ;;
356     *)
357         OS_SPECIFIC_VARS=""
358 esac
359       
360 AC_ARG_WITH(port,APACHE_HELP_STRING(--with-port=PORT,Port on which to listen (default is 80)),
361         [if test "$withval" = "yes"; then AC_MSG_ERROR('option --with-port requires a value (the TCP port number)'); else PORT="$withval"; fi],
362         [PORT=80])
363
364 APR_CHECK_APR_DEFINE(APR_HAVE_IPV6)
365
366 AC_ARG_ENABLE(v4-mapped,APACHE_HELP_STRING(--enable-v4-mapped,Allow IPv6 sockets to handle IPv4 connections),
367
368   v4mapped=$enableval
369 ],
370 [
371     case $host in
372     *freebsd5*|*netbsd*|*openbsd*)
373         v4mapped=no
374         ;;
375     *)
376         v4mapped=yes
377         ;;
378 esac
379 ])
380
381 if test $v4mapped = "yes" -a $ac_cv_define_APR_HAVE_IPV6 = "yes"; then
382     AC_DEFINE(AP_ENABLE_V4_MAPPED, 1,
383               [Allow IPv4 connections on IPv6 listening sockets])
384 fi
385
386 AC_ARG_ENABLE(exception-hook,APACHE_HELP_STRING(--enable-exception-hook,Enable fatal exception hook),
387 [
388     AC_DEFINE(AP_ENABLE_EXCEPTION_HOOK, 1,
389               [Allow modules to run hook after a fatal exception])
390 ])dnl
391
392 AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings),
393 [
394   APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
395 ])dnl
396
397 prefix="$orig_prefix"
398 APACHE_ENABLE_MODULES
399
400 dnl reading config stubs
401 esyscmd(./build/config-stubs .)
402
403 APACHE_SUBST(progname)
404 APACHE_SUBST(MPM_LIB)
405 APACHE_SUBST(OS)
406 APACHE_SUBST(OS_DIR)
407 APACHE_SUBST(BUILTIN_LIBS)
408 APACHE_SUBST(SHLIBPATH_VAR)
409 APACHE_SUBST(OS_SPECIFIC_VARS)
410
411 PRE_SHARED_CMDS='echo ""'
412 POST_SHARED_CMDS='echo ""'
413
414 dnl apache_need_shared tells us if Apache modules are being built as DSOs
415
416 if test "$apache_need_shared" = "yes"; then
417   if test -f $ac_aux_dir/ltconfig; then
418     $SHELL $ac_aux_dir/ltconfig --output=shlibtool --disable-static --srcdir=$ac_aux_dir --cache-file=./config.cache $ac_aux_dir/ltmain.sh
419   fi
420   shared_build="shared-build"
421 fi
422
423 dnl enable_so tells us if *any* modules can be built as DSOs
424
425 if test "$enable_so" = "yes"; then
426   case $host in
427     *-ibm-aix*)
428       HTTPD_LDFLAGS="$HTTPD_LDFLAGS -Wl,-uXML_Parse -Wl,-bE:$abs_builddir/server/httpd.exp"
429       SH_LDFLAGS="$SH_LDFLAGS \$(EXTRA_LDFLAGS) \$(EXTRA_LIBS)"
430       UTIL_LDFLAGS="$UTIL_LDFLAGS -Wl,-uXML_Parse"
431       ;;
432     *beos)
433       SH_LDFLAGS='$(top_builddir)/_APP_'
434       PRE_SHARED_CMDS='ln -s $(top_builddir)/httpd $(top_builddir)/_APP_'
435       POST_SHARED_CMDS='rm $(top_builddir)/_APP_'
436       ;;
437     *os390)
438       HTTPD_LDFLAGS="$HTTPD_LDFLAGS --main=$abs_srcdir/server/main.o --core-dll=$abs_srcdir/apachecore.dll"
439       SH_LDFLAGS="$SH_LDFLAGS --core-dll=$abs_srcdir/apachecore.dll"
440   esac
441 fi
442
443 APACHE_SUBST(PRE_SHARED_CMDS)
444 APACHE_SUBST(POST_SHARED_CMDS)
445 APACHE_SUBST(shared_build)
446
447 AC_ARG_WITH(program-name,
448 APACHE_HELP_STRING(--with-program-name,alternate executable name),[
449   progname="$withval" ], [
450   progname="httpd"] )
451
452 # SuExec parameters
453 AC_ARG_WITH(suexec-bin,
454 APACHE_HELP_STRING(--with-suexec-bin,Path to suexec binary),[
455   AC_DEFINE_UNQUOTED(SUEXEC_BIN, "$withval", [Path to suexec binary] )
456 ] )
457
458 AC_ARG_WITH(suexec-caller,
459 APACHE_HELP_STRING(--with-suexec-caller,User allowed to call SuExec),[
460   AC_DEFINE_UNQUOTED(AP_HTTPD_USER, "$withval", [User allowed to call SuExec] ) ] )
461
462 AC_ARG_WITH(suexec-userdir,
463 APACHE_HELP_STRING(--with-suexec-userdir,User subdirectory),[
464   AC_DEFINE_UNQUOTED(AP_USERDIR_SUFFIX, "$withval", [User subdirectory] ) ] )
465
466 AC_ARG_WITH(suexec-docroot,
467 APACHE_HELP_STRING(--with-suexec-docroot,SuExec root directory),[
468   AC_DEFINE_UNQUOTED(AP_DOC_ROOT, "$withval", [SuExec root directory] ) ] )
469
470 AC_ARG_WITH(suexec-uidmin,
471 APACHE_HELP_STRING(--with-suexec-uidmin,Minimal allowed UID),[
472   AC_DEFINE_UNQUOTED(AP_UID_MIN, $withval, [Minimum allowed UID] ) ] )
473
474 AC_ARG_WITH(suexec-gidmin,
475 APACHE_HELP_STRING(--with-suexec-gidmin,Minimal allowed GID),[
476   AC_DEFINE_UNQUOTED(AP_GID_MIN, $withval, [Minimum allowed GID] ) ] )
477
478 AC_ARG_WITH(suexec-logfile,
479 APACHE_HELP_STRING(--with-suexec-logfile,Set the logfile),[
480   AC_DEFINE_UNQUOTED(AP_LOG_EXEC, "$withval", [SuExec log file] ) ] )
481
482 AC_ARG_WITH(suexec-safepath,
483 APACHE_HELP_STRING(--with-suexec-safepath,Set the safepath),[
484   AC_DEFINE_UNQUOTED(AP_SAFE_PATH, "$withval", [safe shell path for SuExec] ) ] )
485
486 AC_ARG_WITH(suexec-umask,
487 APACHE_HELP_STRING(--with-suexec-umask,umask for suexec'd process),[
488   AC_DEFINE_UNQUOTED(AP_SUEXEC_UMASK, 0$withval, [umask for suexec'd process] ) ] )
489
490 dnl AP_LIBS specifies the actual libraries. note we have some required libs.
491 AP_LIBS="$abs_builddir/srclib/pcre/libpcre.la $AP_LIBS"
492
493 dnl APR should go after the other libs, so the right symbols can be picked up
494 AP_LIBS="$AP_LIBS `$apu_config --link-libtool --libs` `$apr_config --link-libtool --libs`"
495 APACHE_SUBST(AP_LIBS)
496 APACHE_SUBST(AP_BUILD_SRCLIB_DIRS)
497 APACHE_SUBST(AP_CLEAN_SRCLIB_DIRS)
498
499 AC_DEFINE(AP_USING_AUTOCONF, 1,
500                 [Using autoconf to configure Apache])
501
502 if test "$SINGLE_LISTEN_UNSERIALIZED_ACCEPT" = "1"; then
503     AC_DEFINE(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, 1, 
504               [This platform doesn't suffer from the thundering herd problem])
505 fi
506
507 if test "$AP_NONBLOCK_WHEN_MULTI_LISTEN" = "1"; then
508     AC_DEFINE(AP_NONBLOCK_WHEN_MULTI_LISTEN, 1, 
509               [Listening sockets are non-blocking when there are more than 1])
510 fi
511
512 AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL, SIG$AP_SIG_GRACEFUL, [Signal used to gracefully restart])
513 AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL_STRING, "SIG$AP_SIG_GRACEFUL", [Signal used to gracefully restart (as a quoted string)])
514 AC_DEFINE_UNQUOTED(AP_SIG_GRACEFUL_SHORT, $AP_SIG_GRACEFUL, [Signal used to gracefully restart (without SIG prefix)])
515 AP_SIG_GRACEFUL_SHORT=$AP_SIG_GRACEFUL
516 AP_SIG_GRACEFUL=SIG$AP_SIG_GRACEFUL_SHORT
517 AC_SUBST(AP_SIG_GRACEFUL)
518 AC_SUBST(AP_SIG_GRACEFUL_STRING)
519 AC_SUBST(AP_SIG_GRACEFUL_SHORT)
520
521 APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile) 
522 APACHE_FAST_OUTPUT(os/Makefile server/Makefile)
523 APACHE_FAST_OUTPUT(support/Makefile srclib/pcre/Makefile)
524
525 if test -d ./test; then
526     APACHE_FAST_OUTPUT(test/Makefile)
527 fi
528
529 dnl ## Finalize the variables
530 echo $ac_n "${nl}Restore user-defined environment settings...${nl}"
531
532 APR_RESTORE_THE_ENVIRONMENT(CPPFLAGS, EXTRA_)
533 APR_RESTORE_THE_ENVIRONMENT(CFLAGS, EXTRA_)
534 APR_RESTORE_THE_ENVIRONMENT(CXXFLAGS, EXTRA_)
535 APR_RESTORE_THE_ENVIRONMENT(LDFLAGS, EXTRA_)
536 APR_RESTORE_THE_ENVIRONMENT(LIBS, EXTRA_)
537 APR_RESTORE_THE_ENVIRONMENT(INCLUDES, EXTRA_)
538
539 echo $ac_n "${nl}Construct makefiles and header files...${nl}"
540
541 APACHE_GEN_CONFIG_VARS
542
543 dnl ## Build modules.c
544 rm -f modules.c
545 echo $MODLIST | $AWK -f $srcdir/build/build-modules-c.awk > modules.c
546
547 APR_EXPAND_VAR(ap_prefix, $prefix)
548 AC_DEFINE_UNQUOTED(HTTPD_ROOT, "${ap_prefix}",
549         [Root directory of the Apache install area])
550 AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "${rel_sysconfdir}/${progname}.conf",
551         [Location of the config file, relative to the Apache root directory])
552 AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types",
553         [Location of the MIME types config file, relative to the Apache root directory])
554 AC_DEFINE_UNQUOTED(APACHE_MPM_DIR, "$MPM_DIR",
555         [Location of the source for the current MPM])
556
557 perlbin=`$ac_aux_dir/PrintPath perl`
558 if test "x$perlbin" = "x"; then
559     perlbin="/replace/with/path/to/perl/interpreter"
560 fi
561 AC_SUBST(perlbin)
562
563 dnl If we are running on BSD/OS, we need to use the BSD .include syntax.
564
565 BSD_MAKEFILE=no
566 ap_make_include=include
567 ap_make_delimiter=' '
568 case $host in
569 *bsdi*)
570     # Check whether they've installed GNU make
571     if make --version > /dev/null 2>&1; then
572         true
573     else
574         BSD_MAKEFILE=yes
575         ap_make_include=.include
576         ap_make_delimiter='"'
577     fi
578     ;;
579 esac
580 AC_SUBST(ap_make_include)
581 AC_SUBST(ap_make_delimiter)
582
583 dnl Ensure that docs/conf is created.
584 test -d docs/conf||$mkdir_p docs/conf
585
586 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,[true],[
587   APACHE_GEN_MAKEFILES
588 ])
589
590 case $MPM_SUBDIR_NAME in
591 *experimental*)
592     echo ""
593     echo ""
594     echo "============================================================"
595     echo "    WARNING: THE '${APACHE_MPM}' MPM IS EXPERIMENTAL"
596     echo "============================================================"
597     echo " The selected MPM might not be fully functional!"
598     echo ""
599     echo " Development of this MPM is not complete. Do not use this"
600     echo " MPM unless you are a programmer willing to help fix it."
601     echo ""
602     echo " If you are looking for a stable server, you should not use"
603     echo " the '${APACHE_MPM}' MPM until it is moved out of experimental."
604     echo "============================================================"
605     echo ""
606     echo ""
607     ;;
608 esac