aboutsummaryrefslogtreecommitdiff
path: root/tools/merge_asm.py
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-08-05 14:00:16 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-08-05 14:00:16 -0700
commit1b7122c6aaa19cb6e2a62598dca8e0fd9e3cc7a7 (patch)
tree659d33c0fcfa4f6ae3afaae9808649e4021979b7 /tools/merge_asm.py
parent6039aea9a13ea217301c2c19eca3e857dc2dace7 (diff)
parenta0c6ab57cb11258df23dd670aebdc260d9e16da3 (diff)
Merge branch 'incoming'
Diffstat (limited to 'tools/merge_asm.py')
-rwxr-xr-xtools/merge_asm.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/merge_asm.py b/tools/merge_asm.py
new file mode 100755
index 00000000..fe143a89
--- /dev/null
+++ b/tools/merge_asm.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python2
+
+'''
+Splits a compiler outputted program into the asm module and the surrounding shell. This
+can be useful if you want to process the shell in some manner (e.g. minifiy it) in ways
+that would be harmful to asm.js code.
+'''
+
+import sys
+import shared
+
+try:
+ me, in_shell, in_asm, outfile = sys.argv[:4]
+except:
+ print >> sys.stderr, 'usage: emlink.py [input file] [shell output file] [asm output file]'
+ sys.exit(1)
+
+print 'Shell input:', in_shell
+print 'Asm input:', in_asm
+print 'Input file:', outfile
+
+shared.try_delete(outfile)
+
+pre, post = open(in_shell).read().split('// ASM_CODE\n')
+open(outfile, 'w').write(pre + '\n' + open(in_asm).read() + '\n' + post)
+