summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script/__init__.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-04-09 13:49:11 (GMT)
committerSteven Knight <knight@baldmt.com>2002-04-09 13:49:11 (GMT)
commit72b58192cc6bea9962cff01f2d72e8de77591bda (patch)
tree584a5efd3d6ca331f6b3cf93d17f49055ca890df /src/engine/SCons/Script/__init__.py
parent3ccdd2cb4b633d5d3603d1af53c2e578f1af8f1d (diff)
downloadSCons-72b58192cc6bea9962cff01f2d72e8de77591bda.zip
SCons-72b58192cc6bea9962cff01f2d72e8de77591bda.tar.gz
SCons-72b58192cc6bea9962cff01f2d72e8de77591bda.tar.bz2
Implement content signature caching and --max-drift (Anthony Roach)
Diffstat (limited to 'src/engine/SCons/Script/__init__.py')
-rw-r--r--src/engine/SCons/Script/__init__.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index 126eb6b..d9406ec 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -157,6 +157,7 @@ climb_up = 0
target_top = None
exit_status = 0 # exit status, assume success by default
profiling = 0
+max_drift = None
# utility functions
@@ -510,6 +511,18 @@ def options_init():
long = ['list-where'],
help = "Don't build; list files and where defined.")
+ def opt_max_drift(opt, arg):
+ global max_drift
+ try:
+ max_drift = int(arg)
+ except ValueError:
+ raise UserError, "The argument for --max-drift must be an integer."
+
+ Option(func = opt_max_drift,
+ long = ['max-drift'],
+ arg = 'SECONDS',
+ help = "Set the maximum system clock drift to be SECONDS.")
+
def opt_n(opt, arg):
SCons.Action.execute_actions = None
CleanTask.execute = CleanTask.show
@@ -797,7 +810,10 @@ def _main():
nodes = filter(lambda x: x is not None, map(Entry, targets))
if not calc:
- calc = SCons.Sig.Calculator(SCons.Sig.MD5)
+ if max_drift is None:
+ calc = SCons.Sig.Calculator(SCons.Sig.MD5)
+ else:
+ calc = SCons.Sig.Calculator(SCons.Sig.MD5, max_drift)
taskmaster = SCons.Taskmaster.Taskmaster(nodes, task_class, calc)