From 4c06be60fce383be08aaaf21fc4059dcc0f8a23a Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Mon, 7 Jan 2013 13:05:39 -0500 Subject: [PATCH] scons: Whitelist useful environment variables Scons normally removes all environment variables that aren't whitelisted from the build environment. This messes up things like ccache, distcc, and the clang static analyzer. This changeset adds the DISTCC_, CCACHE_, and CCC_ prefixes to the environment variable whitelist. --- SConstruct | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct index a51acb159..22b63f02f 100755 --- a/SConstruct +++ b/SConstruct @@ -183,9 +183,17 @@ use_vars = set([ 'AS', 'AR', 'CC', 'CXX', 'HOME', 'LD_LIBRARY_PATH', 'LIBRARY_PATH', 'PATH', 'PKG_CONFIG_PATH', 'PYTHONPATH', 'RANLIB', 'SWIG' ]) +use_prefixes = [ + "M5", # M5 configuration (e.g., path to kernels) + "DISTCC_", # distcc (distributed compiler wrapper) configuration + "CCACHE_", # ccache (caching compiler wrapper) configuration + "CCC_", # clang static analyzer configuration + ] + use_env = {} for key,val in os.environ.iteritems(): - if key in use_vars or key.startswith("M5"): + if key in use_vars or \ + any([key.startswith(prefix) for prefix in use_prefixes]): use_env[key] = val main = Environment(ENV=use_env) -- 2.30.2