Просмотр исходного кода

[SCons] Platform agnostic default toolchain (GNU).

Create the SCons Environment with an empty PLATFORM variable to force
the default tools to use the GNU toolchain.

Platform specific toolchains are then setup in our custom tools.
Fabio Alessandrelli 2 лет назад
Родитель
Сommit
8d6982be3b
2 измененных файлов с 8 добавлено и 1 удалено
  1. 3 1
      SConstruct
  2. 5 0
      tools/windows.py

+ 3 - 1
SConstruct

@@ -28,7 +28,9 @@ elif ARGUMENTS.get("platform", ""):
 else:
     raise ValueError("Could not detect platform automatically, please specify with platform=<platform>")
 
-env = Environment(tools=["default"])
+# Default tools with no platform defaults to gnu toolchain.
+# We apply platform specific toolchains via our custom tools.
+env = Environment(tools=["default"], PLATFORM="")
 
 # Default num_jobs to local cpu count if not user specified.
 # SCons has a peculiarity where user-specified options won't be overridden

+ 5 - 0
tools/windows.py

@@ -23,7 +23,12 @@ def generate(env):
         elif env["arch"] == "x86_32":
             env["TARGET_ARCH"] = "x86"
         env["is_msvc"] = True
+
+        # MSVC, linker, and archiver.
         msvc.generate(env)
+        env.Tool("mslib")
+        env.Tool("mslink")
+
         env.Append(CPPDEFINES=["TYPED_METHOD_BIND", "NOMINMAX"])
         env.Append(CCFLAGS=["/EHsc"])
         env.Append(LINKFLAGS=["/WX"])