Emscripten: Re-add BINARYEN_TRAP_MODE='clamp' for fastcomp

The option is needed when using the 'fastcomp' backend (default before
1.39.0), and must not be defined when using 'upstream' (new default).
So we define it conditionally to support both backends.

Follow-up to #30751.

(cherry picked from commit 6d6280dfa3)
This commit is contained in:
Rémi Verschelde 2019-12-02 14:10:46 +01:00
parent ec02a81f47
commit 89f26c9479
1 changed files with 7 additions and 0 deletions

View File

@ -125,6 +125,13 @@ def configure(env):
env.Append(LINKFLAGS=['-s', 'BINARYEN=1']) env.Append(LINKFLAGS=['-s', 'BINARYEN=1'])
# This needs to be defined for Emscripten using 'fastcomp' (default pre-1.39.0)
# and undefined if using 'upstream'. And to make things simple, earlier
# Emscripten versions didn't include 'fastcomp' in their path, so we check
# against the presence of 'upstream' to conditionally add the flag.
if not "upstream" in em_config['EMSCRIPTEN_ROOT']:
env.Append(LINKFLAGS=['-s', 'BINARYEN_TRAP_MODE=\'clamp\''])
# Allow increasing memory buffer size during runtime. This is efficient # Allow increasing memory buffer size during runtime. This is efficient
# when using WebAssembly (in comparison to asm.js) and works well for # when using WebAssembly (in comparison to asm.js) and works well for
# us since we don't know requirements at compile-time. # us since we don't know requirements at compile-time.