summaryrefslogtreecommitdiff
path: root/csu/munch.awk
diff options
context:
space:
mode:
Diffstat (limited to 'csu/munch.awk')
-rw-r--r--csu/munch.awk11
1 files changed, 11 insertions, 0 deletions
diff --git a/csu/munch.awk b/csu/munch.awk
new file mode 100644
index 0000000000..9ebcff8ecf
--- /dev/null
+++ b/csu/munch.awk
@@ -0,0 +1,11 @@
+BEGIN { special = 0 }
+
+/EXTERNS/ { ndirs = split(subdirs, dirs)
+ for (i = 1; i <= ndirs; ++i)
+ printf "extern void __init_%s (int argc, char **argv, char **envp);\n", dirs[i]
+ special = 1 }
+/CALLS/ { ndirs = split(subdirs, dirs)
+ for (i = 1; i <= ndirs; ++i) printf " __init_%s (argc, argv, envp);\n", dirs[i]
+ special = 1 }
+
+{ if (special == 0) print $0; special = 0 }