diff options
author | Ryan Bloom <rbb@apache.org> | 2001-04-09 07:18:40 +0200 |
---|---|---|
committer | Ryan Bloom <rbb@apache.org> | 2001-04-09 07:18:40 +0200 |
commit | b1aa5cbce27f32806093c5aa698fab6710ceaa4b (patch) | |
tree | bd3ba4b2cccefa49fad2d9f9547d282d1c61be5f | |
parent | Goodbye more dead code. (diff) | |
download | apache2-b1aa5cbce27f32806093c5aa698fab6710ceaa4b.tar.xz apache2-b1aa5cbce27f32806093c5aa698fab6710ceaa4b.zip |
Allow modules to be added to the server at configure time. The syntax
is:
--with-module=module_type:/path/to/module
module_type is the directory under modules/ that the module should be
copied to. Currently, this only adds static modules
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88772 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | CHANGES | 7 | ||||
-rw-r--r-- | modules/config5.m4 | 43 |
2 files changed, 50 insertions, 0 deletions
@@ -1,5 +1,12 @@ Changes with Apache 2.0.17-dev + *) Allow module authors to add a module to their Apache build using + --with-module, without re-running buildconf. The syntax is: + --with-module=module_type:/path/to/module.c + The configure script will copy the module.c file to + modules/module_type, and it will be added to the relevant Makefiles. + currently, this only works for static modules. [Ryan Bloom] + *) Changes required to make prefork clean up idle children properly. There was a window during which a starting worker deadlocks when an idle cleanup arrives before it completes init. Apache then keeps diff --git a/modules/config5.m4 b/modules/config5.m4 new file mode 100644 index 0000000000..caa40eaf70 --- /dev/null +++ b/modules/config5.m4 @@ -0,0 +1,43 @@ +AC_MSG_CHECKING(for extra modules) +AC_ARG_WITH(module, + [ --with-module=location Include the specified module. location is the + path to the new module.], + [ + modtype=`echo $withval | sed -e's/\(.*\):.*/\1/'` + pkg=`echo $withval | sed -e's/.*:\(.*\)/\1/'` + modfilec=`echo $pkg | sed -e 's;^.*/;;'` + modfileo=`echo $pkg | sed -e 's;^.*/;;' -e 's;\.c$;.o;'` + + if test "x$withval" != "xmodules/$modtype/$modfilec"; then + cp $pkg modules/$modtype/$modfilec + fi + module=`echo $pkg | sed -e 's;.*/mod_\(.*\).c;\1;'` + objects="mod_$module.lo" + libname="mod_$module.la" + modpath_current="modules/$modtype" + BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname" + if test ! -s "$modpath_current/modules.mk"; then + cat >>$modpath_current/modules.mk<<EOF +$libname: $objects + \$(MOD_LINK) $objects +DISTCLEAN_TARGETS = modules.mk +static = $libname +shared = +EOF + else + cat >>$modpath_current/modules.mk.tmp<<EOF +$libname: $objects + \$(MOD_LINK) $objects +EOF + cat $modpath_current/modules.mk >> $modpath_current/modules.mk.tmp + rm $modpath_current/modules.mk + mv $modpath_current/modules.mk.tmp $modpath_current/modules.mk + sed -e "s/\(static =.*\)/\1 $libname/" $modpath_current/modules.mk > $modpath_current/modules.mk.tmp + rm $modpath_current/modules.mk + mv $modpath_current/modules.mk.tmp $modpath_current/modules.mk + fi + MODLIST="$MODLIST $module" + AC_MSG_RESULT(added $withval) + ], + [ AC_MSG_RESULT(no extra modules) + ]) |