aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/js_optimizer.py13
-rw-r--r--tools/shared.py7
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