third_party:waf: update to upstream 2.0.4 release
[samba.git] / third_party / waf / waflib / extras / build_file_tracker.py
index a00f7b2ad800767c520dd3eb6324c09582a443c0..28b00e538a3797d925fcc002dd88da2ff7d6cc87 100644 (file)
@@ -1,3 +1,7 @@
+#! /usr/bin/env python
+# encoding: utf-8
+# WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
+
 #! /usr/bin/env python
 # encoding: utf-8
 # Thomas Nagy, 2015
@@ -8,24 +12,21 @@ want to use this to force partial rebuilds, see playground/track_output_files/ f
 
 Note that there is a variety of ways to implement this, one may want use timestamps on source files too for example,
 or one may want to hash the files in the source directory only under certain conditions (md5_tstamp tool)
-or to hash the file in the build directory with its timestamp (similar to 'update_outputs')
+or to hash the file in the build directory with its timestamp
 """
 
 import os
 from waflib import Node, Utils
 
 def get_bld_sig(self):
+       if not self.is_bld() or self.ctx.bldnode is self.ctx.srcnode:
+               return Utils.h_file(self.abspath())
+
        try:
-               return self.cache_sig
+               # add the creation time to the signature
+               return self.sig + str(os.stat(self.abspath()).st_mtime)
        except AttributeError:
-               pass
-
-       if not self.is_bld() or self.ctx.bldnode is self.ctx.srcnode:
-               self.sig = Utils.h_file(self.abspath())
-               self.cache_sig = ret = self.sig
-       else:
-               # add the
-               self.cache_sig = ret = self.sig + str(os.stat(self.abspath()).st_mtime)
-       return ret
+               return None
 
 Node.Node.get_bld_sig = get_bld_sig
+