summaryrefslogtreecommitdiff
path: root/prequeue.py
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2013-12-06 22:40:46 -0500
committeryenatch <yenatch@gmail.com>2013-12-07 20:01:50 -0500
commit120ba9664992cada4781e4d524304e4499e9083f (patch)
tree93dbfcf49a5835d5708c6b6a58c608e60297d773 /prequeue.py
parentbacc4594c0772dab004e4f97e21529a523918a89 (diff)
handle preprocessing in one python procress; export asm labels
instead of running a process for each file, one process handles all files rgbasm requires label EXPORT definitions for cross-object compiling. this is handled by globals.asm
Diffstat (limited to 'prequeue.py')
-rw-r--r--prequeue.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/prequeue.py b/prequeue.py
new file mode 100644
index 00000000..6ad16d2c
--- /dev/null
+++ b/prequeue.py
@@ -0,0 +1,29 @@
+# coding: utf-8
+"""
+Starting a new python process to preprocess each source file creates too much
+overhead. Instead, a list of files to preprocess is fed into a script run from
+a single process.
+"""
+
+import os
+import sys
+
+import preprocessor
+
+def main():
+ processor = preprocessor.setup_processor()
+
+ for source in sys.argv[1:]:
+ dest = os.path.splitext(source)[0] + '.tx'
+
+ stdout = sys.stdout
+
+ sys.stdin = open(source, 'r')
+ sys.stdout = open(dest, 'w')
+
+ processor.preprocess()
+
+ sys.stdout = stdout
+
+if __name__ == '__main__':
+ main()