aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/stubify_ll.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/stubify_ll.py b/tools/stubify_ll.py
new file mode 100644
index 00000000..1e10ae4e
--- /dev/null
+++ b/tools/stubify_ll.py
@@ -0,0 +1,28 @@
+
+# given a file of ll and a list of names to retain, makes all other functions into stubs.
+# you can then build with -s LINKABLE=1 and see any compilation errors on the specific functions
+
+import os, sys
+
+kill = False
+
+valids = sys.argv[2].split(',')
+
+for line in open(sys.argv[1]).readlines():
+ line = line.replace('\n', '')
+ if line.startswith('define ') and line.endswith('{'):
+ ok = False
+ for valid in valids:
+ if valid in line: ok = True
+ if not ok:
+ line = line.replace('define ', 'declare ').replace(' internal ', ' ').replace(' weak ', ' ')[:-1]
+ kill = True
+ else:
+ line = line.replace(' internal ', ' ')
+ print line
+ else:
+ if not kill:
+ print line
+ else:
+ if line == '}': kill = False
+