From 14fd87d5e233801b0ba06654a567156a2d393f61 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 11 Jun 2020 09:07:38 +0200 Subject: [PATCH] tools: prevent js2c from running if nothing changed This commit updates tools/js2c.py to touch the target output file , <(SHARED_INTERMEDIATE_DIR)/node_javascript.cc, even if the content has not changed. This is to "help" the build system so that it can compare the inputs against the output to determine if the gyp action should be run. I believe the issue here is that if js2c.py is updated this can cause the action to be run as the node_javascript.cc target would be older than js2c.py. But when the target is run the timestamp for node_javascript.cc will not be updated (because we have not changed anything that would change the contents of the file) so the js2c.py prerequisite will always be passed and the target always run. Using the update in this commit one would have to touch/modify one of the js files specified in the library_files list, config.gypi, or tools/js2c.py for this action to be run again. --- tools/js2c.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/js2c.py b/tools/js2c.py index 4594694a2cab0d..195e6a6189a989 100755 --- a/tools/js2c.py +++ b/tools/js2c.py @@ -178,6 +178,7 @@ def write_if_chaged(content, target): else: old_content = '' if old_content == content: + os.utime(target, None) return with open(target, "wt") as output: output.write(content)