Return-Path: Delivered-To: apache-cvs-archive@hyperreal.org Received: (qmail 26994 invoked by uid 6000); 10 Jul 1999 18:20:20 -0000 Received: (qmail 26988 invoked by alias); 10 Jul 1999 18:20:18 -0000 Delivered-To: apache-2.0-cvs@hyperreal.org Received: (qmail 26986 invoked by uid 125); 10 Jul 1999 18:20:17 -0000 Date: 10 Jul 1999 18:20:17 -0000 Message-ID: <19990710182017.26985.qmail@hyperreal.org> From: jim@hyperreal.org To: apache-2.0-cvs@hyperreal.org Subject: cvs commit: apache-2.0/mpm/src Configuration.mpm Configuration.tmpl Configure Sender: apache-cvs-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org 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 '