scons: add a parameter to configure SCons' build cache
authorAli Saidi <Ali.Saidi@ARM.com>
Mon, 8 Nov 2010 19:58:24 +0000 (13:58 -0600)
committerAli Saidi <Ali.Saidi@ARM.com>
Mon, 8 Nov 2010 19:58:24 +0000 (13:58 -0600)
SConstruct

index 850c122ca5337260635b1a92ab5b2b15b222f927..b265c50affafb75aa8a854e5d949f4751e197e28 100644 (file)
@@ -312,6 +312,7 @@ global_sticky_vars.AddVariables(
     ('CXX', 'C++ compiler', environ.get('CXX', main['CXX'])),
     ('BATCH', 'Use batch pool for build and tests', False),
     ('BATCH_CMD', 'Batch pool submission command name', 'qdo'),
+    ('M5_BUILD_CACHE', 'Cache built objects in this directory', False),
     ('EXTRAS', 'Add Extra directories to the compilation', '',
      PathListAllExist, PathListMakeAbsolute),
     )
@@ -549,6 +550,12 @@ py_libs.append(py_version)
 main.Append(CPPPATH=py_includes)
 main.Append(LIBPATH=py_lib_path)
 
+# Cache build files in the supplied directory.
+if main['M5_BUILD_CACHE']:
+    print 'Using build cache located at', main['M5_BUILD_CACHE']
+    CacheDir(main['M5_BUILD_CACHE'])
+
+
 # verify that this stuff works
 if not conf.CheckHeader('Python.h', '<>'):
     print "Error: can't find Python.h header in", py_includes