diff options
| author | Steven Knight <knight@baldmt.com> | 2002-04-09 13:49:11 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2002-04-09 13:49:11 (GMT) |
| commit | 72b58192cc6bea9962cff01f2d72e8de77591bda (patch) | |
| tree | 584a5efd3d6ca331f6b3cf93d17f49055ca890df /src/engine/SCons/Script | |
| parent | 3ccdd2cb4b633d5d3603d1af53c2e578f1af8f1d (diff) | |
| download | SCons-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')
| -rw-r--r-- | src/engine/SCons/Script/__init__.py | 18 |
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) |
