summaryrefslogtreecommitdiff
path: root/third_party/waf/wafadmin/3rdparty/build_file_tracker.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/waf/wafadmin/3rdparty/build_file_tracker.py')
-rw-r--r--third_party/waf/wafadmin/3rdparty/build_file_tracker.py53
1 files changed, 0 insertions, 53 deletions
diff --git a/third_party/waf/wafadmin/3rdparty/build_file_tracker.py b/third_party/waf/wafadmin/3rdparty/build_file_tracker.py
deleted file mode 100644
index 5fc73581ec2..00000000000
--- a/third_party/waf/wafadmin/3rdparty/build_file_tracker.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /usr/bin/env python
-# encoding: utf-8
-# Thomas Nagy, 2015
-
-"""
-Force tasks to use file timestamps to force partial rebuilds when touch-ing build files
-
-touch out/libfoo.a
-... rebuild what depends on libfoo.a
-
-to use::
- def options(opt):
- opt.tool_options('build_file_tracker')
-"""
-
-import os
-import Task, Utils
-
-def signature(self):
- try: return self.cache_sig[0]
- except AttributeError: pass
-
- self.m = Utils.md5()
-
- # explicit deps
- exp_sig = self.sig_explicit_deps()
-
- # env vars
- var_sig = self.sig_vars()
-
- # implicit deps
- imp_sig = Task.SIG_NIL
- if self.scan:
- try:
- imp_sig = self.sig_implicit_deps()
- except ValueError:
- return self.signature()
-
- # timestamp dependency on build files only (source files are hashed)
- buf = []
- for k in self.inputs + getattr(self, 'dep_nodes', []) + self.generator.bld.node_deps.get(self.unique_id(), []):
- if k.id & 3 == 3:
- t = os.stat(k.abspath(self.env)).st_mtime
- buf.append(t)
- self.m.update(str(buf))
-
- # we now have the signature (first element) and the details (for debugging)
- ret = self.m.digest()
- self.cache_sig = (ret, exp_sig, imp_sig, var_sig)
- return ret
-
-Task.Task.signature_bak = Task.Task.signature # unused, kept just in case
-Task.Task.signature = signature # overridden