summaryrefslogtreecommitdiff
path: root/modules/config5.m4
diff options
context:
space:
mode:
authorRyan Bloom <rbb@apache.org>2001-04-09 05:18:40 +0000
committerRyan Bloom <rbb@apache.org>2001-04-09 05:18:40 +0000
commitb1aa5cbce27f32806093c5aa698fab6710ceaa4b (patch)
treebd3ba4b2cccefa49fad2d9f9547d282d1c61be5f /modules/config5.m4
parentf3269d363988628fd711843711b2178e6c900e9f (diff)
downloadhttpd-b1aa5cbce27f32806093c5aa698fab6710ceaa4b.tar.gz
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
Diffstat (limited to 'modules/config5.m4')
-rw-r--r--modules/config5.m443
1 files changed, 43 insertions, 0 deletions
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)
+ ])