diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-07-09 21:56:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-09 21:56:43 +0200 |
commit | ac66a9f6398cb44dee4633f029652304d07a1ee8 (patch) | |
tree | b1540b983e14e5dc08a3c42b49905e505f4ebc48 /platform/javascript/detect.py | |
parent | 5e495750a37e3314a8cd85cb3f7be9a676420c44 (diff) | |
parent | 0c19674621100564acbe97fc7b818d5eb2f70a25 (diff) |
Merge pull request #30467 from Faless/js/fix_emscripten_detect
Better detect Emscripten toolchain.
Diffstat (limited to 'platform/javascript/detect.py')
-rw-r--r-- | platform/javascript/detect.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/platform/javascript/detect.py b/platform/javascript/detect.py index c6afa02c6d..10680ad1f5 100644 --- a/platform/javascript/detect.py +++ b/platform/javascript/detect.py @@ -69,9 +69,14 @@ def configure(env): exec(f.read(), em_config) except StandardError as e: raise RuntimeError("Emscripten configuration file '%s' is invalid:\n%s" % (em_config_file, e)) - if 'BINARYEN_ROOT' not in em_config and 'EMSCRIPTEN_ROOT' not in em_config: + if 'BINARYEN_ROOT' in em_config and os.path.isdir(os.path.join(em_config.get('BINARYEN_ROOT'), 'emscripten')): + # New style, emscripten path as a subfolder of BINARYEN_ROOT + env.PrependENVPath('PATH', os.path.join(em_config.get('BINARYEN_ROOT'), 'emscripten')) + elif 'EMSCRIPTEN_ROOT' in em_config: + # Old style (but can be there as a result from previous activation, so do last) + env.PrependENVPath('PATH', em_config.get('EMSCRIPTEN_ROOT')) + else: raise RuntimeError("'BINARYEN_ROOT' or 'EMSCRIPTEN_ROOT' missing in Emscripten configuration file '%s'" % em_config_file) - env.PrependENVPath('PATH', em_config.get('BINARYEN_ROOT', em_config.get('EMSCRIPTEN_ROOT'))) env['CC'] = 'emcc' env['CXX'] = 'em++' |