diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-02-26 21:30:20 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-02-26 21:30:20 -0800 |
commit | 71cccfcf7980c134fee5aa019883b3da0e76cccf (patch) | |
tree | 26d1418c1bb8af7792fe75d18d09710efc9369d5 /emcc | |
parent | c207c8c67ca2f13437d589f22dc5d136ea7ac3f6 (diff) |
--pre-js and --post-js options
Diffstat (limited to 'emcc')
-rwxr-xr-x | emcc | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -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') |