mirror of
https://github.com/mesonbuild/meson.git
synced 2026-11-06 05:16:42 +00:00
Fix C++ standard support for Emscripten
The first versions of Emscripten that correspond with the Clang version Meson uses to determine flag support don't actually support the expected flags. So I went through and picked the first version that actually worked with the expected flags. Fixes #13628
This commit is contained in:
1 parent
d48602a5f3
commit
4c3bb4f67b
2 files changed
+10
-1
No files matched your search
@@ -350,6 +350,15 @@ class EmscriptenCPPCompiler(EmscriptenMixin, ClangCPPCompiler):
|
||||
|
||||
id = 'emscripten'
|
||||
|
||||
# Emscripten uses different version numbers than Clang; `emcc -v` will show
|
||||
# the Clang version number used as well (but `emcc --version` does not).
|
||||
# See https://github.com/pyodide/pyodide/discussions/4762 for more on
|
||||
# emcc <--> clang versions. Note, although earlier versions claim to be the
|
||||
# Clang versions 12.0.0 and 17.0.0 required for these C++ standards, they
|
||||
# only accept the flags in the later versions below.
|
||||
_CPP23_VERSION = '>=2.0.10'
|
||||
_CPP26_VERSION = '>=3.1.39'
|
||||
|
||||
def __init__(self, ccache: T.List[str], exelist: T.List[str], version: str, for_machine: MachineChoice, is_cross: bool,
|
||||
info: 'MachineInfo',
|
||||
linker: T.Optional['DynamicLinker'] = None,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
project('emcctest', 'c', 'cpp',
|
||||
default_options: [
|
||||
'c_std=c17',
|
||||
'cpp_std=c++17',
|
||||
'cpp_std=c++26',
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
Reference in new issue
Block a user