scons: Control caching via new SCONS_CACHE_DIR environment variable.
authorJosé Fonseca <jfonseca@vmware.com>
Sun, 14 Feb 2010 15:34:39 +0000 (15:34 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Sun, 14 Feb 2010 15:34:39 +0000 (15:34 +0000)
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.

scons/gallium.py

index 1d5e041c77d811bff23c7fc1ed609c7e924c0be4..925effc25d60c9b11ce9bdf60cb06047d1a438a6 100644 (file)
@@ -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')