You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@hyperreal.org on 1999/07/10 20:20:17 UTC
cvs commit: apache-2.0/mpm/src Configuration.mpm Configuration.tmpl Configure
jim 99/07/10 11:20:17
Modified: mpm 00README_FIRST_REALLY configure
mpm/src Configuration.mpm Configuration.tmpl Configure
Log:
Some [cC]onfigure cleaning. First, remove the MPM Rule and the MPM_METHOD
var and reimplement the MPM_METHOD Rule. Then add the --set-rule action
to configure to allow for Rules to actually be set rather than simply
enabled or disabled. Finally (and this should go in 1.3.7 as well) fix
the 'tr' calls to work correctly with all versions of 'tr' esp the
SysV based ones.
Revision Changes Path
1.4 +9 -6 apache-2.0/mpm/00README_FIRST_REALLY
Index: 00README_FIRST_REALLY
===================================================================
RCS file: /export/home/cvs/apache-2.0/mpm/00README_FIRST_REALLY,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- 00README_FIRST_REALLY 1999/07/07 15:06:20 1.3
+++ 00README_FIRST_REALLY 1999/07/10 18:20:15 1.4
@@ -7,18 +7,16 @@
You can build for 1.3 preforking via:
-$ MPM_METHOD=prefork \
- ./configure \
- --enable-rule=MPM
+$ ./configure \
+ --set-rule=MPM_METHOD:prefork
--disable-module=status
--disable-module=include
--disable-module=cgi
and for the MPM pthreading stuff via:
-$ MPM_METHOD=mpmt_pthread \
- ./configure \
- --enable-rule=MPM
+$ ./configure \
+ --set-rule=MPM_METHOD:mpmt_pthread
--disable-module=status
--disable-module=include
--disable-module=cgi
@@ -26,3 +24,8 @@
(on some systems you also need ``CFLAGS=-pthread LDFLAGS=-pthread'' !!)
- Ralf
+
+Or you can use the old Configure method and the Configuration.mpm
+file.
+
+- Jim
1.3 +21 -8 apache-2.0/mpm/configure
Index: configure
===================================================================
RCS file: /export/home/cvs/apache-2.0/mpm/configure,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- configure 1999/07/04 09:13:29 1.2
+++ configure 1999/07/10 18:20:15 1.3
@@ -257,7 +257,7 @@
for rule in `grep '^Rule' $src/Configuration.tmpl`; do
rule=`echo "$rule" | sed -e 's/^Rule[ ]*//'`
name=`echo "$rule" | sed -e 's/=.*$//'`
- namelow=`echo "$name" | tr 'A-Z' 'a-z'`
+ namelow=`echo "$name" | tr '[A-Z]' '[a-z]'`
arg=`echo "$rule" | sed -e 's/^.*=//'`
eval "rule_$namelow=$arg"
rules="$rules:$namelow"
@@ -392,8 +392,9 @@
echo " --proxycachedir=DIR install proxy cache data in DIR"
echo ""
echo "Configuration options:"
- echo " --enable-rule=NAME enable a particular Rule named 'NAME'"
- echo " --disable-rule=NAME disable a particular Rule named 'NAME'"
+ echo " --enable-rule=NAME enable a particular Rule named 'NAME' (set to 'yes')"
+ echo " --disable-rule=NAME disable a particular Rule named 'NAME' (set to 'no')"
+ echo " --set-rule=NAME:VAL set particular Rule named 'NAME' to the value 'VAL'"
$aux/ppl.sh $rulelist
echo " --add-module=FILE on-the-fly copy & activate a 3rd-party Module"
echo " --activate-module=FILE on-the-fly activate existing 3rd-party Module"
@@ -714,8 +715,8 @@
esac
case "$apc_feature" in
rule )
- apc_optarg=`echo "$apc_optarg" | tr "A-Z" "a-z"`
- apc_optarg_real=`echo "$apc_optarg" | tr "a-z" "A-Z"`
+ apc_optarg=`echo "$apc_optarg" | tr '[A-Z]' '[a-z]'`
+ apc_optarg_real=`echo "$apc_optarg" | tr '[a-z]' '[A-Z]'`
eval "exists=\$rule_${apc_optarg}"
if [ "x$exists" = "x" ]; then
echo "configure:Error: No such rule named '${apc_optarg_real}'" 1>&2
@@ -809,8 +810,8 @@
esac
case "$apc_feature" in
rule )
- apc_optarg=`echo "$apc_optarg" | tr "A-Z" "a-z"`
- apc_optarg_real=`echo "$apc_optarg" | tr "a-z" "A-Z"`
+ apc_optarg=`echo "$apc_optarg" | tr '[A-Z]' '[a-z]'`
+ apc_optarg_real=`echo "$apc_optarg" | tr '[a-z]' '[A-Z]'`
eval "exists=\$rule_${apc_optarg}"
if [ "x$exists" = "x" ]; then
echo "configure:Error: No such rule named '${apc_optarg_real}'" 1>&2
@@ -864,6 +865,18 @@
;;
esac
;;
+ --set-rule=*:*)
+ rulename=`echo $apc_optarg | sed -e 's/:.*//'`
+ rulenamelow=`echo "$rulename" | tr '[A-Z]' '[a-z]'`
+ ruleval=`echo $apc_optarg | sed -e 's/.*://'`
+ ruleval=`echo "$ruleval" | tr '[A-Z]' '[a-z]'`
+ eval "exists=\$rule_${rulenamelow}"
+ if [ "x$exists" = "x" ]; then
+ echo "configure:Error: No such rule named '${rulename}'" 1>&2
+ exit 1
+ fi
+ eval "rule_${rulenamelow}=${ruleval}"
+ ;;
--permute-module=*:*)
mod1=`echo $apc_optarg | sed -e 's/:.*//'`
mod2=`echo $apc_optarg | sed -e 's/.*://'`
@@ -1274,7 +1287,7 @@
OIFS="$IFS"
IFS=':'
for rule in $rules; do
- name="`echo $rule | tr "a-z" "A-Z"`"
+ name="`echo $rule | tr '[a-z]' '[A-Z]'`"
eval "val=\$rule_$rule"
echo $SEO "s%^\\(Rule $name=\\).*%\\1$val%g" >>$sedsubst
if [ "x$verbose" = "xyes" ]; then
1.12 +2 -3 apache-2.0/mpm/src/Configuration.mpm
Index: Configuration.mpm
===================================================================
RCS file: /export/home/cvs/apache-2.0/mpm/src/Configuration.mpm,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- Configuration.mpm 1999/07/04 09:13:30 1.11
+++ Configuration.mpm 1999/07/10 18:20:16 1.12
@@ -23,9 +23,8 @@
Rule PARANOID=no
Rule EXPAT=no
Rule WANTHSREGEX=default
-Rule MPM=default
-MPM_METHOD=prefork
-#MPM_METHOD=mpmt_pthread
+Rule MPM_METHOD=prefork
+#Rule MPM_METHOD=mpmt_pthread
#
# AddModule modules/experimental/mod_mmap_static.o
AddModule modules/standard/mod_env.o
1.4 +17 -8 apache-2.0/mpm/src/Configuration.tmpl
Index: Configuration.tmpl
===================================================================
RCS file: /export/home/cvs/apache-2.0/mpm/src/Configuration.tmpl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Configuration.tmpl 1999/07/04 09:13:31 1.3
+++ Configuration.tmpl 1999/07/10 18:20:16 1.4
@@ -15,7 +15,8 @@
# Makefile options, such as CC=gcc, etc...
#
# Rules, distinguished by having "Rule" at the front. These are used to
-# control Configure's behavior as far as how to create Makefile.
+# control Configure's behavior as far as how to create Makefile. The value
+# of Rules is up to the implementer.
#
# Module selection lines, distinguished by having 'AddModule' at the front.
# These list the configured modules, in priority order (highest priority
@@ -124,12 +125,21 @@
# functions. The format is: Rule RULE=value
#
# At present, only the following RULES are known: WANTHSREGEX, SOCKS4,
-# SOCKS5, IRIXNIS, IRIXN32 and PARANOID.
+# SOCKS5, IRIXNIS, IRIXN32, PARANOID, EXPAT and MPM_METHOD.
#
-# For all Rules, if set to "yes", then Configure knows we want that
-# capability and does what is required to add it in. If set to "default"
-# then Configure makes a "best guess"; if set to anything else, or not
-# present, then nothing is done.
+# The actual value of the Rule depends on what it's used for. For
+# Rules like WANTHSREGEX or IRIXN32, the Rule determines if the
+# capability or extension should be enabled. If set to "yes", then
+# Configure knows we want that capability and does what is required
+# to add it in. If set to "default" then Configure makes a "best guess",
+# which usually depends on the platform that Apache is being built
+# for. A "no" means take no action.
+#
+# For other Rules, the value can be a simple setting. For example,
+# the MPM_METHOD Rule determines the MPM method used. This can either
+# be forced by setting it to a specific value (eg: prefork) or set
+# to "default" to allow Configure to, as above, make it's best guess
+# as to which is appropriate.
#
# SOCKS4:
# If SOCKS4 is set to 'yes', be sure that you add the socks library
@@ -196,8 +206,7 @@
# MPM Support:
# Available MPM modules: prefork (default), mpmt_pthread
-Rule MPM=default
-MPM_METHOD=default
+Rule MPM_METHOD=default
################################################################
# Module configuration
1.10 +9 -19 apache-2.0/mpm/src/Configure
Index: Configure
===================================================================
RCS file: /export/home/cvs/apache-2.0/mpm/src/Configure,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Configure 1999/07/04 09:13:31 1.9
+++ Configure 1999/07/10 18:20:16 1.10
@@ -227,7 +227,7 @@
RULE_EXPAT=`./helpers/CutRule EXPAT $file`
RULE_SHARED_CORE=`./helpers/CutRule SHARED_CORE $file`
RULE_SHARED_CHAIN=`./helpers/CutRule SHARED_CHAIN $file`
-RULE_MPM=`./helpers/CutRule MPM $file`
+RULE_MPM_METHOD=`./helpers/CutRule MPM_METHOD $file`
####################################################################
## Rule SHARED_CORE implies required DSO support
@@ -810,23 +810,15 @@
####################################################################
## Now handle the MPM implementation. Default to 1.3 prefork
##
-if [ "x$RULE_MPM" = "xdefault" ]; then
- if [ "x$DEF_MPM" = "x" ]; then
- RULE_MPM=yes
+if [ "x$RULE_MPM_METHOD" = "xdefault" ]; then
+ if [ "x$DEF_MPM_METHOD" = "x" ]; then
+ RULE_MPM_METHOD="prefork"
else
- RULE_MPM=$DEF_MPM
+ RULE_MPM_METHOD="$DEF_MPM_METHOD"
fi
fi
-if [ "x$RULE_MPM" = "xyes" ]; then
- MPM_METHOD=`egrep '^MPM_METHOD=' Makefile.config | tail -1 | awk -F= '{print $2}'`
- if [ "x$MPM_METHOD" = "xdefault" ]; then
- if [ "x$DEF_MPM_METHOD" = "x" ]; then
- MPM_METHOD="prefork"
- else
- MPM_METHOD="$DEF_MPM_METHOD"
- fi
- fi
-fi
+##
+MPM_METHOD="$RULE_MPM_METHOD"
####################################################################
## Now we determine the C-compiler and optimization level
@@ -1489,10 +1481,8 @@
echo " + adding selected modules"
# First, add the shadow MPM method module
-if [ "x$RULE_MPM" = "xyes" ]; then
- echo "AddModule modules/mpm/$MPM_METHOD/lib$MPM_METHOD.a" >> $tmpfile
- echo " - using MPM method: $MPM_METHOD "
-fi
+echo "AddModule modules/mpm/$MPM_METHOD/lib$MPM_METHOD.a" >> $tmpfile
+echo " - using MPM method: $MPM_METHOD "
MODFILES=`awk <$tmpfile '($1 == "AddModule" || $1 == "SharedModule") { printf "%s ", $2 }'`
MODDIRS=`awk < $tmpfile '