From: Jakub Jirutka Date: Sun, 2 Apr 2017 23:11:41 +0200 Subject: [PATCH] embuilder: if EMCC_WASM_BACKEND, omit tasks using pthreads from ALL Fixes the following error: $ EMCC_WASM_BACKEND=1 ./embuild build ALL Traceback (most recent call last): File "emscripten/src/emscripten-1.37.9/emcc", line 13, in emcc.run() File "emscripten/src/emscripten-1.37.9/emcc.py", line 1278, in run assert not shared.Settings.USE_PTHREADS, 'WebAssembly does not support pthreads' AssertionError: WebAssembly does not support pthreads Upstream-Issue: https://github.com/kripken/emscripten/pull/5107 --- embuilder.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/embuilder.py b/embuilder.py index 6674ccd..eaa762a 100755 --- a/embuilder.py +++ b/embuilder.py @@ -84,6 +84,10 @@ def build_port(port_name, lib_name, params): tasks = sys.argv[2:] if 'ALL' in tasks: tasks = ['libc', 'libc-mt', 'dlmalloc', 'dlmalloc_threadsafe', 'pthreads', 'libcxx', 'libcxx_noexcept', 'libcxxabi', 'gl', 'binaryen', 'bullet', 'freetype', 'libpng', 'ogg', 'sdl2', 'sdl2-image', 'sdl2-ttf', 'sdl2-net', 'vorbis', 'zlib'] + if os.environ.get('EMCC_WASM_BACKEND') == '1': + skip_tasks = {'libc-mt', 'dlmalloc_threadsafe', 'pthreads'} + print('Skipping building of %s, because WebAssembly does not support pthreads.' % ', '.join(skip_tasks)) + tasks = [x for x in tasks if x not in skip_tasks] if os.environ.get('EMSCRIPTEN_NATIVE_OPTIMIZER'): print 'Skipping building of native-optimizer since environment variable EMSCRIPTEN_NATIVE_OPTIMIZER is present and set to point to a prebuilt native optimizer path.' elif hasattr(shared, 'EMSCRIPTEN_NATIVE_OPTIMIZER'):