path: root/scons/
diff options
authorJosé Fonseca <>2010-02-14 15:34:39 +0000
committerJosé Fonseca <>2010-02-14 15:34:39 +0000
commitfe889a89d28293d8f98b2cd730efc58785ceb5d8 (patch)
treebc42591501a473234767d7652aecc5ec161551e8 /scons/
parentabdcdb3db73316c5ebca88bda04b90b6659782e8 (diff)
scons: Control caching via new SCONS_CACHE_DIR environment variable.
This serves several purposes: - disable caching in situations were is it useless or undesired - share caches among all trees - simplify purging the cache (when it's a single location) - move the cache out of the tree, since that slows downs IDEs considerably To retain previous behavior just define do export SCONS_CACHE_DIR=$PWD/build/cache before invoking scons.
Diffstat (limited to 'scons/')
1 files changed, 3 insertions, 1 deletions
diff --git a/scons/ b/scons/
index 1d5e041c77d..925effc25d6 100644
--- a/scons/
+++ b/scons/
@@ -155,7 +155,9 @@ def generate(env):
# different scons versions building the same source file
env['build'] = build_dir
env.SConsignFile(os.path.join(build_dir, '.sconsign'))
- env.CacheDir('build/cache')
+ if 'SCONS_CACHE_DIR' in os.environ:
+ print 'scons: Using build cache in %s.' % (os.environ['SCONS_CACHE_DIR'],)
+ env.CacheDir(os.environ['SCONS_CACHE_DIR'])
env['CONFIGUREDIR'] = os.path.join(build_dir, 'conf')
env['CONFIGURELOG'] = os.path.join(os.path.abspath(build_dir), 'config.log')