rse 99/08/12 04:24:50
Modified: mpm configure Added: mpm config.option Log: It was stated that Apache/mpm is for hacking, so I felt free to impliment something I always wanted for APACI: a config.option file similar to config.layout which allows one to load pre-defined options via --with-option=ID. Because I got tired of having staying around lots of small config.status.<foo> files in my source trees. This way one can put all their stuff into one file _AND_ their shared parts are only there _ONCE_ in order to reduce redundancy... Revision Changes Path 1.6 +40 -1 apache-2.0/mpm/configure Index: configure =================================================================== RCS file: /home/cvs/apache-2.0/mpm/configure,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- configure 1999/08/12 08:22:34 1.5 +++ configure 1999/08/12 11:24:49 1.6 @@ -82,6 +82,7 @@ tplconf=src/.apaci.tplconf pldconf=src/.apaci.pldconf configlayout=config.layout +configoption=config.option configstatus=config.status shadow='' @@ -478,6 +479,43 @@ name_layout=$name with_layout=1 ;; + --with-option=*) + case $apc_optarg in + *:* ) + file=`echo $apc_optarg | sed -e 's/:.*//'` + name=`echo $apc_optarg | sed -e 's/.*://'` + ;; + * ) + name=$apc_optarg + file=$configoption + ;; + esac + if [ ! -f "$file" ]; then + echo "configure:Error: Option definition file $file not found" 1>&2 + exit 1 + fi + echo "loadopt=''" >$pldconf + sed -e "1,/[ ]*<[Oo]ption[ ]*common[ ]*>[ ]*/d" \ + -e '/[ ]*<\/[Oo]ption>[ ]*/,$d' \ + -e 's/^[ ]*//g' \ + -e 's/^\(--.*=.*\)$/loadopt="$loadopt \1"/' \ + $file >>$pldconf + sed -e "1,/[ ]*<[Oo]ption[ ]*$name[ ]*>[ ]*/d" \ + -e '/[ ]*<\/[Oo]ption>[ ]*/,$d' \ + -e 's/^[ ]*//g' \ + -e 's/^\(--.*=.*\)$/loadopt="$loadopt \1"/' \ + $file >>$pldconf + . $pldconf + if [ "x$*" = "x" ]; then + set -- $loadopt + else + set -- "$@" $loadopt + fi + rm -f $pldconf 2>/dev/null + if [ "x$quiet" = "xno" ]; then + echo " + loaded configuration options: $name ($file)" + fi + ;; *) ;; esac @@ -505,7 +543,7 @@ esac # accept only the most important GNU Autoconf-style options case "$apc_option" in - --help|-h|-help|--with-layout=*|-compat) + --help|-h|-help|--with-layout=*|--with-option=*|-compat) # just ignore already parsed options ;; --quiet | --silent) @@ -983,6 +1021,7 @@ for arg do echo "$arg" |\ + grep -v '^--with-option' |\ sed -e 's:\(["$\\]\):\\\1:g' \ -e 's:^:":' \ -e 's:$:" \\:' >>$configstatus 1.1 apache-2.0/mpm/config.option Index: config.option =================================================================== ## ## config.option -- APACI Pre-defined Configuration Options ## Hints: options can be loaded with APACI's --with-option=ID ## # Common standard options # (these are loaded first) <Option common> OPTIM='-pipe -O2' --with-layout=GNU --target=apache --prefix=/tmp/apache-mpm --disable-module=status --disable-module=include --disable-module=cgi </Option> # prefork MPM # (the good old Apache 1.3 preforking process model) <Option mpm-prefork> --set-rule=MPM_METHOD:prefork </Option> # dexter MPM with GNU Pth # (a portable variant of the hybrid (preforking/prethreading) model) # assumptions: # - Pth source tree was extracted to apache-mpm/pth/ # - Pth was configured with ``--enable-pthread --enable-syscall-soft'' # - Pth was already build (but has not to be installed) <Option mpm-dexter-pth> CFLAGS='-I\$(SRCDIR)/../../pth -DPTHREAD_EVERYWHERE -DNO_SERIALIZED_ACCEPT' LDFLAGS='-L\$(SRCDIR)/../../pth/.libs' LIBS=-lpthread --set-rule=MPM_METHOD:dexter </Option> # dexter MPM with FreeBSD's uthread and RSE's poll emulation # (a FreeBSD specific variant of the hybrid (preforking/prethreading) model) # assumptions: # - FreeBSD uthread is available in libc_r and cc knows ``-pthread'' # - RSE's poll(2) emulation library stays in apache-apr/poll/ # - RSE's poll(2) emulation library was already build <Option mpm-dexter-uthread> CC=cc CFLAGS='-pthread -I\$(SRCDIR)/../../../apache-apr/poll -DNO_SERIALIZED_ACCEPT' LDFLAGS='-pthread -L\$(SRCDIR)/../../../apache-apr/poll' LIBS=-lpoll --set-rule=MPM_METHOD:dexter </Option>