From d4877dbb4fd0612633535f6917fd94fa98214e1b Mon Sep 17 00:00:00 2001 From: William Deegan Date: Sat, 13 Jul 2019 20:25:07 -0400 Subject: Doc updates for repo_node addition to Decider function args --- doc/user/depends.xml | 2 +- src/CHANGES.txt | 8 ++++++++ src/RELEASE.txt | 8 ++++++++ src/engine/SCons/Environment.xml | 13 ++++++++++++- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/doc/user/depends.xml b/doc/user/depends.xml index 297eaa2..c13828f 100644 --- a/doc/user/depends.xml +++ b/doc/user/depends.xml @@ -517,7 +517,7 @@ cc -o hello hello.o Program('hello.c') -def decide_if_changed(dependency, target, prev_ni): +def decide_if_changed(dependency, target, prev_ni, repo_node=None): if dependency.get_timestamp() != prev_ni.timestamp: dep = str(dependency) tgt = str(target) diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 6a8d626..9729ac4 100755 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -41,6 +41,14 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER - Fix Issue #3350 - mslink failing when too many objects. This is resolved by adding TEMPFILEARGJOIN variable which specifies what character to join all the argements output into the tempfile. The default remains a space when mslink, msvc, or mslib tools are loaded they change the TEMPFILEARGJOIN to be a line separator (\r\n on win32) + - Fix performance degradation for MD5-timestamp decider. NOTE: This changes the Decider() function arguments. + From: + def my_decider(dependency, target, prev_ni): + To: + def my_decider(dependency, target, prev_ni, repo_node): + Where repo_node is the repository (or other) node to use to check if the node is out of date instead of dependency. + + From Michael Hartmann: - Fix handling of Visual Studio Compilers to properly reject any unknown HOST_PLATFORM or TARGET_PLATFORM diff --git a/src/RELEASE.txt b/src/RELEASE.txt index efa35eb..2857cbf 100755 --- a/src/RELEASE.txt +++ b/src/RELEASE.txt @@ -41,6 +41,14 @@ CHANGED/ENHANCED EXISTING FUNCTIONALITY + - Fix performance degradation for MD5-timestamp decider. NOTE: This changes the Decider() function arguments. + From: + def my_decider(dependency, target, prev_ni): + To: + def my_decider(dependency, target, prev_ni, repo_node): + Where repo_node is the repository (or other) node to use to check if the node is out of date instead of dependency. + + - Enhanced --debug=explain output. Now the separate components of the dependency list are split up as follows: diff --git a/src/engine/SCons/Environment.xml b/src/engine/SCons/Environment.xml index 0982c31..1b0a04c 100644 --- a/src/engine/SCons/Environment.xml +++ b/src/engine/SCons/Environment.xml @@ -1213,6 +1213,17 @@ size, or content signature. + +repo_node + + +Use this node instead of the one specified by +dependency + to determine if the dependency has changed. + + + + @@ -1249,7 +1260,7 @@ Example: -def my_decider(dependency, target, prev_ni): +def my_decider(dependency, target, prev_ni, repo_node=None): return not os.path.exists(str(target)) env.Decider(my_decider) -- cgit v0.12