From: Justin Erenkrantz Date: Fri, 4 Feb 2005 17:14:12 +0000 (+0000) Subject: --with-module can now take more than one module to be statically X-Git-Tag: 2.0.53~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb101974cf481ff61b43a9b42ea675051ddde777;p=thirdparty%2Fapache%2Fhttpd.git --with-module can now take more than one module to be statically linked: --with-module=:,:,... If the -subdirectory doesn't exist it will be created and populated with a standard Makefile.in. MFC: 124600 Reviewed by: erikabele, jerenkrantz, fielding git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x@151372 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 8f44dab63ae..d9fb8bed6bd 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,10 @@ Changes with Apache 2.0.53 + *) --with-module can now take more than one module to be statically + linked: --with-module=:,:,... + If the -subdirectory doesn't exist it will be created and + populated with a standard Makefile.in. [Erik Abele] + *) Fix the RPM spec file so that an RPM build now works. An RPM build now requires system installations of APR and APR-util. Remove some arbitrary moving around of binaries - the RPM now diff --git a/docs/manual/programs/configure.xml b/docs/manual/programs/configure.xml index 2f821144731..347f727d8e9 100644 --- a/docs/manual/programs/configure.xml +++ b/docs/manual/programs/configure.xml @@ -614,16 +614,17 @@ modules use the following options:

-
--with-module=module-type:module-file -
-

Add a third-party module to the list of statically linked +

--with-module=module-type:module-file[, + module-type:module-file]
+

Add one or more third-party modules to the list of statically linked modules. The module source file module-file will be searched in the modules/module-type - subdirectory of your Apache HTTP server source tree so it has to be - placed there before. If it is not found here - configure is considering module-file to be + subdirectory of your Apache HTTP server source tree. If it is not found + there configure is considering module-file to be an absolute file path and tries to copy the source file into the - module-type subdirectory.

+ module-type subdirectory. If the subdirectory doesn't + exist it will be created and populated with a standard + Makefile.in.

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.

diff --git a/modules/config5.m4 b/modules/config5.m4 index eec9ec4f77e..5e38c951ae6 100644 --- a/modules/config5.m4 +++ b/modules/config5.m4 @@ -3,18 +3,24 @@ AC_ARG_WITH(module, APACHE_HELP_STRING(--with-module=module-type:module-file, Enable module-file in the modules/ 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" 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<