Browse Source

Merge pull request #46815 from akien-mga/3.2-scons-fix-env-creation

[3.2] SCons: Use default env["ENV"] and prepend PATH to it
Rémi Verschelde 4 years ago
parent
commit
20a6bb8509
1 changed files with 9 additions and 8 deletions
  1. 9 8
      SConstruct

+ 9 - 8
SConstruct

@@ -61,14 +61,15 @@ elif platform_arg == "javascript":
     # Use generic POSIX build toolchain for Emscripten.
     custom_tools = ["cc", "c++", "ar", "link", "textfile", "zip"]
 
-env_base = Environment(
-    ENV={
-        "PATH": os.getenv("PATH"),
-        "PKG_CONFIG_PATH": os.getenv("PKG_CONFIG_PATH"),
-        "TERM": os.getenv("TERM"),
-    },
-    tools=custom_tools,
-)
+# We let SCons build its default ENV as it includes OS-specific things which we don't
+# want to have to pull in manually.
+# Then we prepend PATH to make it take precedence, while preserving SCons' own entries.
+env_base = Environment(tools=custom_tools)
+env_base.PrependENVPath("PATH", os.getenv("PATH"))
+env_base.PrependENVPath("PKG_CONFIG_PATH", os.getenv("PKG_CONFIG_PATH"))
+if "TERM" in os.environ:  # Used for colored output.
+    env_base["ENV"]["TERM"] = os.environ["TERM"]
+
 env_base.disabled_modules = []
 env_base.use_ptrcall = False
 env_base.module_version_string = ""