2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-11-22 09:57:15 +01:00

Update the build file tracker example

This commit is contained in:
Waf Project 2024-05-20 23:12:43 +02:00
parent 68f84f9084
commit 2485ab46cd
4 changed files with 5 additions and 9 deletions

View File

@ -12,7 +12,7 @@ from waflib import Logs, Options
def options(opt): def options(opt):
opt.load('compiler_c') opt.load('compiler_c')
opt.load('build_file_tracker') opt.load('build_file_timestamp')
def configure(conf): def configure(conf):
conf.load('compiler_c') conf.load('compiler_c')

View File

@ -3,12 +3,11 @@
# Thomas Nagy, 2015 # Thomas Nagy, 2015
""" """
Force files to depend on the timestamps of those located in the build directory. You may Force files to also depend on the timestamps of those located in the build directory. You may
want to use this to force partial rebuilds, see playground/track_output_files/ for a working example. want to use this to force partial rebuilds, see playground/track_output_files/ for a working example.
Note that there is a variety of ways to implement this, one may want use timestamps on source files too for example, 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 one may want to hash theA files in the source directory only under certain conditions (md5_tstamp tool)
or to hash the file in the build directory with its timestamp
""" """
import os import os
@ -18,11 +17,8 @@ def get_bld_sig(self):
if not self.is_bld() or self.ctx.bldnode is self.ctx.srcnode: if not self.is_bld() or self.ctx.bldnode is self.ctx.srcnode:
return Utils.h_file(self.abspath()) return Utils.h_file(self.abspath())
try: val = Utils.h_file(self.abspath()) + str(os.stat(self.abspath()).st_mtime).encode('latin-1')
# add the creation time to the signature return val
return self.sig + str(os.stat(self.abspath()).st_mtime)
except AttributeError:
return None
Node.Node.get_bld_sig = get_bld_sig Node.Node.get_bld_sig = get_bld_sig