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