1AC_MSG_CHECKING(which MPM to use) 2AC_ARG_WITH(mpm, 3APACHE_HELP_STRING(--with-mpm=MPM,Choose the process model for Apache to use. 4 MPM={beos|event|worker|prefork|mpmt_os2|winnt}),[ 5 APACHE_MPM=$withval 6],[ 7 if test "x$APACHE_MPM" = "x"; then 8 APACHE_MPM=prefork 9 fi 10]) 11AC_MSG_RESULT($APACHE_MPM) 12 13apache_cv_mpm=$APACHE_MPM 14 15ap_mpm_is_threaded () 16{ 17 if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "winnt" ; then 18 return 0 19 else 20 return 1 21 fi 22} 23 24ap_mpm_is_experimental () 25{ 26 if test "$apache_cv_mpm" = "event" ; then 27 return 0 28 else 29 return 1 30 fi 31} 32 33if ap_mpm_is_threaded; then 34 APR_CHECK_APR_DEFINE(APR_HAS_THREADS) 35 36 if test "x$ac_cv_define_APR_HAS_THREADS" = "xno"; then 37 AC_MSG_RESULT(The currently selected MPM requires threads which your system seems to lack) 38 AC_MSG_CHECKING(checking for replacement) 39 AC_MSG_RESULT(prefork selected) 40 apache_cv_mpm=prefork 41 else 42 case $host in 43 *-linux-*) 44 case `uname -r` in 45 2.0* ) 46 dnl Threaded MPM's are not supported on Linux 2.0 47 dnl as on 2.0 the linuxthreads library uses SIGUSR1 48 dnl and SIGUSR2 internally 49 echo "Threaded MPM's are not supported on this platform" 50 AC_MSG_CHECKING(checking for replacement) 51 AC_MSG_RESULT(prefork selected) 52 apache_cv_mpm=prefork 53 ;; 54 esac 55 ;; 56 esac 57 fi 58fi 59 60APACHE_FAST_OUTPUT(server/mpm/Makefile) 61 62MPM_NAME=$apache_cv_mpm 63if ap_mpm_is_experimental; then 64 AC_MSG_WARN(You have selected an EXPERIMENTAL MPM. Be warned!) 65 MPM_SUBDIR_NAME=experimental/$MPM_NAME 66else 67 MPM_SUBDIR_NAME=$MPM_NAME 68fi 69MPM_DIR=server/mpm/$MPM_SUBDIR_NAME 70MPM_LIB=$MPM_DIR/lib${MPM_NAME}.la 71 72if test ! -f "$abs_srcdir/$MPM_DIR/mpm.h"; then 73 AC_MSG_ERROR(the selected mpm -- $apache_cv_mpm -- is not supported) 74fi 75 76APACHE_SUBST(MPM_NAME) 77APACHE_SUBST(MPM_SUBDIR_NAME) 78MODLIST="$MODLIST mpm_${MPM_NAME}" 79 80