diff options
-rw-r--r-- | CHANGES | 5 | ||||
-rw-r--r-- | docs/manual/programs/configure.xml | 15 | ||||
-rw-r--r-- | modules/config5.m4 | 29 |
3 files changed, 33 insertions, 16 deletions
@@ -2,6 +2,11 @@ Changes with Apache 2.1.3 [Remove entries to the current 2.0 section below, when backported] + *) --with-module can now take more than one module to be statically + linked: --with-module=<modtype>:<modfile>,<modtype>:<modfile>,... + If the <modtype>-subdirectory doesn't exist it will be created and + populated with a standard Makefile.in. [Erik Abele] + *) Remove some compiler warnings within the LDAP modules [Graham Leggett] *) Add a build script to create a solaris package. [Graham Leggett] diff --git a/docs/manual/programs/configure.xml b/docs/manual/programs/configure.xml index ab3c7c0717..87c532ddc4 100644 --- a/docs/manual/programs/configure.xml +++ b/docs/manual/programs/configure.xml @@ -636,16 +636,17 @@ modules use the following options:</p> <dl> - <dt><code>--with-module=<var>module-type</var>:<var>module-file</var> - </code></dt> - <dd><p>Add a third-party module to the list of statically linked + <dt><code>--with-module=<var>module-type</var>:<var>module-file</var>[, + <var>module-type</var>:<var>module-file</var>]</code></dt> + <dd><p>Add one or more third-party modules to the list of statically linked modules. The module source file <code><var>module-file</var></code> will be searched in the <code>modules/<var>module-type</var></code> - subdirectory of your Apache HTTP server source tree so it has to be - placed there before. If it is not found here - <code>configure</code> is considering <var>module-file</var> to be + subdirectory of your Apache HTTP server source tree. If it is not found + there <code>configure</code> is considering <var>module-file</var> to be an absolute file path and tries to copy the source file into the - <var>module-type</var> subdirectory.</p> + <var>module-type</var> subdirectory. If the subdirectory doesn't + exist it will be created and populated with a standard + <code>Makefile.in</code>.</p> <p>This option is useful to add small external modules consisting of one source file. For more complex modules you should read the vendor's documentation.</p> diff --git a/modules/config5.m4 b/modules/config5.m4 index efc8ed5af0..10f525bed4 100644 --- a/modules/config5.m4 +++ b/modules/config5.m4 @@ -3,19 +3,25 @@ AC_ARG_WITH(module, APACHE_HELP_STRING(--with-module=module-type:module-file, Enable module-file in the modules/<module-type> directory.), [ - modtype=`echo $withval | sed -e's/\(.*\):.*/\1/'` - pkg=`echo $withval | sed -e's/.*:\(.*\)/\1/'` + as_save_IFS="$IFS"; IFS="," + for mod in $withval + do + modtype=`echo $mod | sed -e's/\(.*\):.*/\1/'` + pkg=`echo $mod | 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 + modpath_current="modules/$modtype" + if test "x$mod" != "x$modpath_current/$modfilec"; then + if test ! -d "$modpath_current"; then + mkdir $modpath_current + echo 'include $(top_srcdir)/build/special.mk' > $modpath_current/Makefile.in + fi + cp $pkg $modpath_current/$modfilec fi - module=`echo $pkg | sed -e 's;.*/mod_\(.*\).c;\1;'` + module=`echo $pkg | sed -e 's;\(.*/\)*mod_\(.*\).c;\2;'` objects="mod_$module.lo" # The filename of a convenience library must have a "lib" prefix: libname="lib$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 @@ -38,9 +44,14 @@ EOF mv $modpath_current/modules.mk.tmp $modpath_current/modules.mk fi MODLIST="$MODLIST $module" + EXTRA_MODLIST="$EXTRA_MODLIST $modtype:$modfilec" MODULE_DIRS="$MODULE_DIRS $modtype" APACHE_FAST_OUTPUT($modpath_current/Makefile) - AC_MSG_RESULT(added $withval) + done + if test ! -z "$EXTRA_MODLIST"; then + AC_MSG_RESULT(added:$EXTRA_MODLIST) + fi + IFS="$as_save_IFS" ], - [ AC_MSG_RESULT(no extra modules) + [ AC_MSG_RESULT(none) ]) |