aboutsummaryrefslogtreecommitdiff
path: root/emcc
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-02-26 21:30:20 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-02-26 21:30:20 -0800
commit71cccfcf7980c134fee5aa019883b3da0e76cccf (patch)
tree26d1418c1bb8af7792fe75d18d09710efc9369d5 /emcc
parentc207c8c67ca2f13437d589f22dc5d136ea7ac3f6 (diff)
--pre-js and --post-js options
Diffstat (limited to 'emcc')
-rwxr-xr-xemcc24
1 files changed, 24 insertions, 0 deletions
diff --git a/emcc b/emcc
index c332b05b..e4ca0861 100755
--- a/emcc
+++ b/emcc
@@ -174,6 +174,10 @@ Options that are modified or new in %s include:
list of arguments, for example, <cmd> of
"python processor.py" will cause a python
script to be run.
+ --pre-js <file> A file whose contents are added before the
+ generated code
+ --post-js <file> A file whose contents are added after the
+ generated code
--compress <on> 0: Do not compress the generated JavaScript's
whitespace (default if closure compiler
will not be run)
@@ -324,6 +328,8 @@ try:
llvm_opts = None
closure = None
js_transform = None
+ pre_js = None
+ post_js = None
compress_whitespace = None
embed_files = []
ignore_dynamic_linking = False
@@ -355,6 +361,16 @@ try:
js_transform = newargs[i+1]
newargs[i] = ''
newargs[i+1] = ''
+ elif newargs[i].startswith('--pre-js'):
+ check_bad_eq(newargs[i])
+ pre_js = open(newargs[i+1]).read()
+ newargs[i] = ''
+ newargs[i+1] = ''
+ elif newargs[i].startswith('--post-js'):
+ check_bad_eq(newargs[i])
+ post_js = open(newargs[i+1]).read()
+ newargs[i] = ''
+ newargs[i+1] = ''
elif newargs[i].startswith('--compress'):
check_bad_eq(newargs[i])
compress_whitespace = int(newargs[i+1])
@@ -700,6 +716,14 @@ try:
open(final, 'w').write(src)
if DEBUG: save_intermediate('embedded_files')
+ # Apply pre and postjs files
+ if pre_js or post_js:
+ if DEBUG: print >> sys.stderr, 'emcc: applying pre/postjses'
+ src = open(final).read()
+ final += '.pp.js'
+ open(final, 'w').write((pre_js or '') + src + (post_js or ''))
+ if DEBUG: save_intermediate('pre/post')
+
# Apply a source code transformation, if requested
if js_transform:
shutil.copyfile(final, final + '.tr.js')