From e7f7d5f3308e322c9a1dff2a51efc26b1b734533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Thu, 15 Jul 2021 17:11:15 +0200 Subject: [PATCH] SCons: Add method to detect Emscripten and use it for warnings config Emscripten is LLVM-based so we want to follow the same logic. But we can't just put it as a match in `methods.using_clang()` as that would mess with the compiler version detection logic used to restrict old GCC and Clang releases. (cherry picked from commit 34421683eb4075402b045f930bbe69f472d1746b) --- SConstruct | 2 +- methods.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct index 25fdb16f5cd..6167340aa5e 100644 --- a/SConstruct +++ b/SConstruct @@ -431,7 +431,7 @@ if selected_platform in platform_list: common_warnings += ["-Wno-misleading-indentation"] if version[0] >= 7: common_warnings += ["-Wshadow-local"] - elif methods.using_clang(env): + elif methods.using_clang(env) or methods.using_emcc(env): # We often implement `operator<` for structs of pointers as a requirement # for putting them in `Set` or `Map`. We don't mind about unreliable ordering. common_warnings += ["-Wno-ordered-compare-function-pointers"] diff --git a/methods.py b/methods.py index 748f6d04714..aa104df223d 100644 --- a/methods.py +++ b/methods.py @@ -840,6 +840,10 @@ def using_clang(env): return "clang" in os.path.basename(env["CC"]) +def using_emcc(env): + return "emcc" in os.path.basename(env["CC"]) + + def show_progress(env): import sys from SCons.Script import Progress, Command, AlwaysBuild