You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@apache.org on 2009/03/24 21:23:42 UTC
svn commit: r757999 - in /httpd/httpd/trunk: modules/arch/unix/config5.m4
server/mpm/config.m4
Author: trawick
Date: Tue Mar 24 20:23:42 2009
New Revision: 757999
URL: http://svn.apache.org/viewvc?rev=757999&view=rev
Log:
Allow building httpd without a built-in MPM by specifying
--with-mpm=shared
on configure. When built thusly, an MPM should be loaded via LoadModule.
(Currently you need to build the MPM with apxs.)
Modified:
httpd/httpd/trunk/modules/arch/unix/config5.m4
httpd/httpd/trunk/server/mpm/config.m4
Modified: httpd/httpd/trunk/modules/arch/unix/config5.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/arch/unix/config5.m4?rev=757999&r1=757998&r2=757999&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/arch/unix/config5.m4 (original)
+++ httpd/httpd/trunk/modules/arch/unix/config5.m4 Tue Mar 24 20:23:42 2009
@@ -1,9 +1,9 @@
APACHE_MODPATH_INIT(arch/unix)
-
if test "$APACHE_MPM" = "simple" -o "$APACHE_MPM" = "worker" \
- -o "$APACHE_MPM" = "event" -o "$APACHE_MPM" = "prefork" ; then
+ -o "$APACHE_MPM" = "event" -o "$APACHE_MPM" = "prefork" \
+ -o "$APACHE_MPM" = "shared"; then
unixd_mods_enable=yes
else
unixd_mods_enable=no
Modified: httpd/httpd/trunk/server/mpm/config.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/config.m4?rev=757999&r1=757998&r2=757999&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/config.m4 (original)
+++ httpd/httpd/trunk/server/mpm/config.m4 Tue Mar 24 20:23:42 2009
@@ -1,7 +1,9 @@
AC_MSG_CHECKING(which MPM to use)
AC_ARG_WITH(mpm,
APACHE_HELP_STRING(--with-mpm=MPM,Choose the process model for Apache to use.
- MPM={simple|beos|event|worker|prefork|mpmt_os2|perchild|leader|threadpool|winnt}),[
+ MPM={simple|beos|event|worker|prefork|mpmt_os2|perchild|leader|threadpool|winnt}
+ Specify "shared" instead of an MPM name to load MPMs dynamically.
+),[
APACHE_MPM=$withval
],[
if test "x$APACHE_MPM" = "x"; then
@@ -11,16 +13,18 @@
AC_MSG_RESULT($APACHE_MPM)
apache_cv_mpm=$APACHE_MPM
-
+
+dnl Note that a build with an explicitly loaded MPM must support threaded MPMs.
ap_mpm_is_threaded ()
{
- if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "simple" -o "$apache_cv_mpm" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "winnt" -o "$apache_cv_mpm" = "threadpool" ; then
+ 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" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "winnt" -o "$apache_cv_mpm" = "threadpool" ; then
return 0
else
return 1
fi
}
+dnl No such check for a shared MPM.
ap_mpm_is_experimental ()
{
if test "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "threadpool" ; then
@@ -59,17 +63,26 @@
APACHE_FAST_OUTPUT(server/mpm/Makefile)
-MPM_NAME=$apache_cv_mpm
-if ap_mpm_is_experimental; then
- AC_MSG_WARN(You have selected an EXPERIMENTAL MPM. Be warned!)
- MPM_SUBDIR_NAME=experimental/$MPM_NAME
+if test "$apache_cv_mpm" = "shared"; then
+ MPM_NAME=""
+ MPM_SUBDIR_NAME=""
+ MPM_LIB=""
+ MPM_DIR=""
else
- MPM_SUBDIR_NAME=$MPM_NAME
+ MPM_NAME=$apache_cv_mpm
+ if ap_mpm_is_experimental; then
+ AC_MSG_WARN(You have selected an EXPERIMENTAL MPM. Be warned!)
+ MPM_SUBDIR_NAME=experimental/$MPM_NAME
+ else
+ MPM_SUBDIR_NAME=$MPM_NAME
+ fi
+ MPM_DIR=server/mpm/$MPM_SUBDIR_NAME
+ MPM_LIB=$MPM_DIR/lib${MPM_NAME}.la
+
+ APACHE_SUBST(MPM_NAME)
+ APACHE_SUBST(MPM_SUBDIR_NAME)
+ MODLIST="$MODLIST mpm_${MPM_NAME}"
fi
-MPM_DIR=server/mpm/$MPM_SUBDIR_NAME
-MPM_LIB=$MPM_DIR/lib${MPM_NAME}.la
APACHE_SUBST(MPM_NAME)
APACHE_SUBST(MPM_SUBDIR_NAME)
-MODLIST="$MODLIST mpm_${MPM_NAME}"
-