diff options
Diffstat (limited to 'modules/config5.m4')
-rw-r--r-- | modules/config5.m4 | 43 |
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) + ]) |