summaryrefslogtreecommitdiff
path: root/modules/config5.m4
diff options
context:
space:
mode:
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)
+ ])