aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/compilers/mixins/emscripten.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/mesonbuild/compilers/mixins/emscripten.py b/mesonbuild/compilers/mixins/emscripten.py
index 742d528..4797cbc 100644
--- a/mesonbuild/compilers/mixins/emscripten.py
+++ b/mesonbuild/compilers/mixins/emscripten.py
@@ -31,3 +31,16 @@ class EmscriptenMixin:
def get_linker_output_args(self, output: str) -> typing.List[str]:
return ['-o', output]
+
+ def _get_compile_output(self, dirname, mode):
+ # In pre-processor mode, the output is sent to stdout and discarded
+ if mode == 'preprocess':
+ return None
+ # Unlike sane toolchains, emcc infers the kind of output from its name.
+ # This is the only reason why this method is overriden; compiler tests
+ # do not work well with the default exe/obj suffices.
+ if mode == 'link':
+ suffix = 'js'
+ else:
+ suffix = 'wasm'
+ return os.path.join(dirname, 'output.' + suffix)