summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in91
1 files changed, 81 insertions, 10 deletions
diff --git a/configure.in b/configure.in
index fa268707f..b14a15fbb 100644
--- a/configure.in
+++ b/configure.in
@@ -189,16 +189,6 @@ AC_ARG_ENABLE(dynamic,
[ --disable-dynamic turn off dynamically loaded binary modules],
[dynamic="$enableval"], [dynamic=yes])
-dnl Do you want to disable a list of modules?
-dnl Unfortunately we can't give --disable-* a value, so we'll have
-dnl to do it as an `--enable-*', rather unnaturally.
-undefine([OMIT_MODULES])dnl
-AC_ARG_ENABLE(omit-modules,
-[ --enable-omit-modules give comma-separated list of modules to ignore],
-[OMIT_MODULES="$enableval"], [OMIT_MODULES=])
-
-AC_SUBST(OMIT_MODULES)dnl
-
dnl Do you want to compile as K&R C.
AC_ARG_ENABLE(ansi2knr,
[ --enable-ansi2knr translate source to K&R C before compiling],
@@ -1713,6 +1703,87 @@ AC_SUBST(MOD_IMPORT_VARIABLE)dnl
AC_SUBST(MOD_IMPORT_FUNCTION)dnl
AC_SUBST(EXTRAZSHOBJS)dnl
+# Generate config.modules. We look for *.mdd files in first and second
+# level subdirectories. Any existing line not containing 'auto=y' will be
+# retained, provided the .mdd file itself was found.
+CONFIG_MODULES=./config.modules
+echo "creating ${CONFIG_MODULES}"
+userlist=" "
+if test -f config.modules; then
+ userlist=`sed -e '/^#/d' -e '/auto=y/d' -e 's/ .*/ /' -e 's/^name=/ /' \
+ ${CONFIG_MODULES}`
+ mv ${CONFIG_MODULES} ${CONFIG_MODULES}.old
+fi
+(cd ${srcdir}
+echo "# Edit this file to change the way modules are loaded."
+echo "# The format is strict; do not break lines or add extra spaces."
+echo "#"
+echo "# Values of \`link' are \`static', \`dynamic' or \`no' to compile the"
+echo "# module into the shell, link it in at run time, or not use it at all."
+echo "# In the final case, no attempt will be made to compile it."
+echo "# Use \`static' or \`no' if you do not have dynamic loading."
+echo "#"
+echo "# Values of \`load' are \`yes' or \`no'; if yes, any builtins etc."
+echo "# provided by the module will be autoloaded by the main shell"
+echo "# (so long as \`link' is not set to \`no')."
+echo "#"
+echo "# Values of \`auto' are \`yes' or \`no'. configure sets the value to"
+echo "# \`yes'. If you set it by hand to \`no', the line will be retained"
+echo "# when the file is regenerated in future."
+echo "#"
+echo "# You will need to run \`config.status --recheck' if you add a new"
+echo "# module."
+echo "#"
+echo "# You should not change the values for the pseudo-module zsh/main,"
+echo "# which is the main shell."
+for modfile in */*.mdd */*/*.mdd; do
+ name=
+ link=
+ load=
+ . $modfile
+ if test x$name != x -a x$link != x; then
+ case $userlist in
+ *" $name "*) # not autogenerated, keep original
+ grep "^name=$name " ${CONFIG_MODULES}.old
+ ;;
+ *) case $link in
+ *\ *) eval 'link=`'$link'`'
+ ;;
+ esac
+ case "${load}" in
+ y*) load=" load=yes"
+ ;;
+ *) load=" load=no"
+ ;;
+ esac
+ case $link in
+ static) echo "name=$name modfile=$modfile link=static auto=yes${load}"
+ ;;
+ dynamic) if test $dynamic != no; then
+ echo "name=$name modfile=$modfile link=dynamic\
+ auto=yes${load}"
+ else
+ echo "name=$name modfile=$modfile link=no\
+ auto=no load=no"
+ fi
+ ;;
+ either) if test $dynamic != no; then
+ echo "name=$name modfile=$modfile link=dynamic\
+ auto=yes${load}"
+ else
+ echo "name=$name modfile=$modfile link=static\
+ auto=yes${load}"
+ fi
+ ;;
+ *) echo "name=$name modfile=$modfile link=no auto=yes load=no"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+done) >${CONFIG_MODULES}
+rm -f ${CONFIG_MODULES}.old
+
CLEAN_MK="${srcdir}/Config/clean.mk"
CONFIG_MK="${srcdir}/Config/config.mk"
dnl defs.mk is in the build tree, not the source tree