diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/js_optimizer.py | 13 | ||||
-rw-r--r-- | tools/shared.py | 7 |
2 files changed, 18 insertions, 2 deletions
diff --git a/tools/js_optimizer.py b/tools/js_optimizer.py index a11da7f0..d6f8921c 100644 --- a/tools/js_optimizer.py +++ b/tools/js_optimizer.py @@ -367,6 +367,17 @@ EMSCRIPTEN_FUNCS(); return filename -def run(filename, passes, js_engine, jcache, source_map=False, extra_info=None): +def run(filename, passes, js_engine=shared.NODE_JS, jcache=False, source_map=False, extra_info=None): return temp_files.run_and_clean(lambda: run_on_js(filename, passes, js_engine, jcache, source_map, extra_info)) +if __name__ == '__main__': + last = sys.argv[-1] + if '{' in last: + extra_info = json.loads(last) + sys.argv = sys.argv[:-1] + else: + extra_info = None + out = run(sys.argv[1], sys.argv[2:], extra_info=extra_info) + import shutil + shutil.copyfile(out, sys.argv[1] + '.jsopt.js') + diff --git a/tools/shared.py b/tools/shared.py index a07bdeaf..2d9ae9f6 100644 --- a/tools/shared.py +++ b/tools/shared.py @@ -304,7 +304,7 @@ def find_temp_directory(): # we re-check sanity when the settings are changed) # We also re-check sanity and clear the cache when the version changes -EMSCRIPTEN_VERSION = '1.5.9' +EMSCRIPTEN_VERSION = '1.6.1' def generate_sanity(): return EMSCRIPTEN_VERSION + '|' + get_llvm_target() + '|' + LLVM_ROOT @@ -1413,6 +1413,9 @@ class Building: emcc_debug = os.environ.get('EMCC_DEBUG') if emcc_debug: del os.environ['EMCC_DEBUG'] + emcc_leave_inputs_raw = os.environ.get('EMCC_LEAVE_INPUTS_RAW') + if emcc_leave_inputs_raw: del os.environ['EMCC_LEAVE_INPUTS_RAW'] + def make(opt_level): raw = relooper + '.raw.js' Building.emcc(os.path.join('relooper', 'Relooper.cpp'), ['-I' + os.path.join('relooper'), '--post-js', @@ -1442,8 +1445,10 @@ class Building: finally: os.chdir(curr) if emcc_debug: os.environ['EMCC_DEBUG'] = emcc_debug + if emcc_leave_inputs_raw: os.environ['EMCC_LEAVE_INPUTS_RAW'] = emcc_leave_inputs_raw if not ok: logging.error('bootstrapping relooper failed. You may need to manually create relooper.js by compiling it, see src/relooper/emscripten') + try_delete(relooper) # do not leave a phase-1 version if phase 2 broke 1/0 @staticmethod |