Use different variables to track normal

modules and MPMs during build.

Normal modules and MPMs follow different
rules in the config, e.g. we are only
allowed to have one active LoadModule
for an MPM in the config.

As a side effect, LoadModule for MPMs
will now come before LoadModule for
the normal modules.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1730079 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Rainer Jung
2016-02-12 17:46:38 +00:00
parent 8dcf132975
commit 89605f9ee7
3 changed files with 29 additions and 16 deletions

View File

@ -45,7 +45,7 @@ install-conf:
if [ -f $$i ] ; then \
( \
n_lm=`awk 'BEGIN {n=0} /@@LoadModule@@/ {n+=1} END {print n}' < $$i`; \
if test $$n_lm -eq 0 -o "x$(DSO_MODULES)" = "x"; then \
if test $$n_lm -eq 0 -o "x$(MPM_MODULE)$(DSO_MODULES)" = "x"; then \
sed -e 's#@@ServerRoot@@#$(prefix)#g' \
-e 's#@@Port@@#$(PORT)#g' \
-e 's#@@SSLPort@@#$(SSLPORT)#g' \
@ -68,29 +68,38 @@ install-conf:
else \
have_cgid="0"; \
fi; \
for j in $(MPM_MODULES) "^EOL^"; do \
if test $$j != "^EOL^"; then \
if echo ",$(ENABLED_MPM_MODULE),"|$(EGREP) ",$$j," > /dev/null ; then \
loading_disabled=""; \
else \
loading_disabled="#"; \
fi; \
echo "$${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
fi; \
done; \
for j in $(DSO_MODULES) "^EOL^"; do \
if test $$j != "^EOL^"; then \
if echo ",$(ENABLED_DSO_MODULES),"|$(EGREP) ",$$j," > /dev/null ; then \
loading_disabled=""; \
else \
loading_disabled="#"; \
mpm=`echo $$j|sed s/_.*//`; \
if test "$(LOAD_ALL_MODULES)" = "yes" -a "$$mpm" != "mpm"; then \
if test "$(LOAD_ALL_MODULES)" = "yes"; then \
loading_disabled=""; \
fi; \
fi; \
if test $$j = "cgid" -a "$$have_cgi" = "1"; then \
echo "<IfModule !mpm_prefork_module>"; \
echo " $${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
echo "</IfModule>"; \
elif test $$j = "cgi" -a "$$have_cgid" = "1"; then \
echo "<IfModule mpm_prefork_module>"; \
echo " $${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
echo "</IfModule>"; \
else \
echo "$${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
fi; \
if test $$j = "cgid" -a "$$have_cgi" = "1"; then \
echo "<IfModule !mpm_prefork_module>"; \
echo " $${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
echo "</IfModule>"; \
elif test $$j = "cgi" -a "$$have_cgid" = "1"; then \
echo "<IfModule mpm_prefork_module>"; \
echo " $${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
echo "</IfModule>"; \
else \
echo "$${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
fi; \
fi; \
done; \
sed -e '1,/@@LoadModule@@/d' \
-e '/@@LoadModule@@/d' \

View File

@ -93,6 +93,8 @@ AC_DEFUN([APACHE_GEN_CONFIG_VARS],[
APACHE_SUBST(MK_IMPLIB)
APACHE_SUBST(MKDEP)
APACHE_SUBST(INSTALL_PROG_FLAGS)
APACHE_SUBST(MPM_MODULES)
APACHE_SUBST(ENABLED_MPM_MODULE)
APACHE_SUBST(DSO_MODULES)
APACHE_SUBST(ENABLED_DSO_MODULES)
APACHE_SUBST(LOAD_ALL_MODULES)
@ -295,10 +297,10 @@ DISTCLEAN_TARGETS = modules.mk
static =
shared = $libname
EOF
DSO_MODULES="$DSO_MODULES mpm_$1"
MPM_MODULES="$MPM_MODULES mpm_$1"
# add default MPM to LoadModule list
if test $1 = $default_mpm; then
ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},mpm_$1"
ENABLED_MPM_MODULE="mpm_$1"
fi
fi
$4

View File

@ -47,6 +47,8 @@ exec sed "
/MPM_LIB/d
/APACHECTL_ULIMIT/d
/[a-z]*_LTFLAGS/d
/^MPM_MODULES/d
/^ENABLED_MPM_MODULE/d
/^DSO_MODULES/d
/^ENABLED_DSO_MODULES/d
/^LOAD_ALL_MODULES/d