Bläddra i källkod

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)
(cherry picked from commit e7f7d5f3308e322c9a1dff2a51efc26b1b734533)
Rémi Verschelde 4 år sedan
förälder
incheckning
2ac5a8dd2e
2 ändrade filer med 5 tillägg och 1 borttagningar
  1. 1 1
      SConstruct
  2. 4 0
      methods.py

+ 1 - 1
SConstruct

@@ -428,7 +428,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"]

+ 4 - 0
methods.py

@@ -842,6 +842,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