]> granicus.if.org Git - apache/blob - server/mpm/config.m4
Oooooooooooo look a commit! Wow!
[apache] / server / mpm / config.m4
1 AC_MSG_CHECKING(which MPM to use)
2 AC_ARG_WITH(mpm,
3 APACHE_HELP_STRING(--with-mpm=MPM,Choose the process model for Apache to use.
4                           MPM={simple|event|worker|prefork|winnt}
5                           Specify "shared" instead of an MPM name to load MPMs dynamically.
6 ),[
7   APACHE_MPM=$withval
8 ],[
9   if test "x$APACHE_MPM" = "x"; then
10     APACHE_MPM=event
11   fi
12 ])
13 AC_MSG_RESULT($APACHE_MPM)
14
15 apache_cv_mpm=$APACHE_MPM
16
17 dnl Note that a build with an explicitly loaded MPM must support threaded MPMs.
18 ap_mpm_is_threaded ()
19 {
20     if test "$apache_cv_mpm" = "shared" -o "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "simple" -o "$apache_cv_mpm" = "winnt" ; then
21         return 0
22     else
23         return 1
24     fi
25 }
26
27 if ap_mpm_is_threaded; then
28   APR_CHECK_APR_DEFINE(APR_HAS_THREADS)
29
30   if test "x$ac_cv_define_APR_HAS_THREADS" = "xno"; then
31     AC_MSG_RESULT(The currently selected MPM requires threads which your system seems to lack)
32     AC_MSG_CHECKING(checking for replacement)
33     AC_MSG_RESULT(prefork selected)
34     apache_cv_mpm=prefork
35   else
36     case $host in
37       *-linux-*)
38         case `uname -r` in
39           2.0* )
40             dnl Threaded MPM's are not supported on Linux 2.0
41             dnl as on 2.0 the linuxthreads library uses SIGUSR1
42             dnl and SIGUSR2 internally
43             echo "Threaded MPM's are not supported on this platform"
44             AC_MSG_CHECKING(checking for replacement)
45             AC_MSG_RESULT(prefork selected)
46             apache_cv_mpm=prefork
47           ;;
48         esac
49       ;;
50     esac
51   fi
52 fi
53
54 APACHE_FAST_OUTPUT(server/mpm/Makefile)
55
56 if test "$apache_cv_mpm" = "shared"; then
57   MPM_NAME=""
58   MPM_SUBDIR_NAME=""
59   MPM_LIB=""
60   MPM_DIR=""
61 else
62   MPM_NAME=$apache_cv_mpm
63   MPM_SUBDIR_NAME=$MPM_NAME
64   MPM_DIR=server/mpm/$MPM_SUBDIR_NAME
65   MPM_LIB=$MPM_DIR/lib${MPM_NAME}.la
66
67   APACHE_SUBST(MPM_NAME)
68   APACHE_SUBST(MPM_SUBDIR_NAME)
69   MODLIST="$MODLIST mpm_${MPM_NAME}"
70 fi
71
72 APACHE_SUBST(MPM_NAME)
73 APACHE_SUBST(MPM_SUBDIR_NAME)