about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Src/mkbltnmlst.sh12
-rw-r--r--Src/module.c2
2 files changed, 13 insertions, 1 deletions
diff --git a/Src/mkbltnmlst.sh b/Src/mkbltnmlst.sh
index be78f1720..8e970d45e 100644
--- a/Src/mkbltnmlst.sh
+++ b/Src/mkbltnmlst.sh
@@ -20,7 +20,16 @@ trap "rm -f $1; exit 1" 1 2 15
 exec > $1
 
 for x_mod in $x_mods; do
-    echo "/* non-linked-in known module \`$x_mod' */"
+    case "$bin_mods" in
+    *" $x_mod "*)
+        echo "/* linked-in known module \`$x_mod' */"
+	linked=yes
+	;;
+    *)
+        echo "#ifdef DYNAMIC"
+        echo "/* non-linked-in known module \`$x_mod' */"
+	linked=no
+    esac
     eval "loc=\$loc_$x_mod"
     unset moddeps autobins autoinfixconds autoprefixconds autoparams
     unset automathfuncs
@@ -43,6 +52,7 @@ for x_mod in $x_mods; do
     for dep in $moddeps; do
 	echo "    add_dep(\"$x_mod\", \"$dep\");"
     done
+    test "x$linked" = xno && echo "#endif"
 done
 
 echo
diff --git a/Src/module.c b/Src/module.c
index 3b21bdbc9..faa9d30ed 100644
--- a/Src/module.c
+++ b/Src/module.c
@@ -444,6 +444,8 @@ do_load_module(char const *name)
 static void *
 do_load_module(char const *name)
 {
+    zerr("failed to load module: %s", name, 0);
+
     return NULL;
 }