aboutsummaryrefslogtreecommitdiff
path: root/tools/shared.py
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-09-24 18:25:09 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-09-24 18:25:09 -0700
commit05b6aa32a5f1633797f7eae390b3a8048b29ca69 (patch)
tree43543261bb5485b1c109e0e9f93dcb2f7bcd227d /tools/shared.py
parent6010666be99cd0322babba1174cfbc65c776deb5 (diff)
parent8e2d812b49f7de9487e1c816229106af0cf39d0d (diff)
Merge branch 'incoming'
Diffstat (limited to 'tools/shared.py')
-rw-r--r--tools/shared.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/tools/shared.py b/tools/shared.py
index 94daadae..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.6'
+EMSCRIPTEN_VERSION = '1.6.1'
def generate_sanity():
return EMSCRIPTEN_VERSION + '|' + get_llvm_target() + '|' + LLVM_ROOT
@@ -1413,22 +1413,24 @@ 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',
os.path.join('relooper', 'emscripten', 'glue.js'),
'--memory-init-file', '0',
- '-s', 'TOTAL_MEMORY=67108864',
'-s', 'EXPORTED_FUNCTIONS=["_rl_set_output_buffer","_rl_make_output_buffer","_rl_new_block","_rl_delete_block","_rl_block_add_branch_to","_rl_new_relooper","_rl_delete_relooper","_rl_relooper_add_block","_rl_relooper_calculate","_rl_relooper_render", "_rl_set_asm_js_mode"]',
'-s', 'DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=["memcpy", "memset", "malloc", "free", "puts"]',
'-s', 'RELOOPER="' + relooper + '"',
'-O' + str(opt_level), '--closure', '0'], raw)
f = open(relooper, 'w')
f.write("// Relooper, (C) 2012 Alon Zakai, MIT license, https://github.com/kripken/Relooper\n")
- f.write("var Relooper = (function() {\n")
+ f.write("var Relooper = (function(Module) {\n")
f.write(open(raw).read())
f.write('\n return Module.Relooper;\n')
- f.write('})();\n')
+ f.write('})(RelooperModule);\n')
f.close()
# bootstrap phase 1: generate unrelooped relooper, for which we do not need a relooper (so we cannot recurse infinitely in this function)
@@ -1443,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