diff --git a/SConstruct b/SConstruct index 27dc7b53dfd..2ed1a7f44c2 100644 --- a/SConstruct +++ b/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 = ""