From b75991844f53e4f9aeb9b0ae2909fd452aee113d Mon Sep 17 00:00:00 2001 From: William Deegan Date: Fri, 15 Jan 2016 21:45:26 -0800 Subject: fix for tigris bug # 2622 - AlwaysBuild / MSVC regression - Make sure files marked AlwaysBuild don't get added to unchanged list, but instead always are added to changes lists created in _get_changes in Executor --- src/CHANGES.txt | 4 ++++ src/engine/SCons/Executor.py | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/CHANGES.txt b/src/CHANGES.txt index f59eaaf..ad88f3d 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -22,6 +22,10 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER From William Deegan: - Add better messaging when two environments have different actions for the same target (Bug #2024) + - Fix issue only with MSVC and Always build where targets + marked AlwaysBuild wouldn't make it into CHANNGED_SOURCES + and thus yield an empty compile command line. (Bug #2622) + From Jakub Pola: - Intel Compiler 2016 (Linux/Mac) update for tool directories. diff --git a/src/engine/SCons/Executor.py b/src/engine/SCons/Executor.py index 71671bf..b6d4cb6 100644 --- a/src/engine/SCons/Executor.py +++ b/src/engine/SCons/Executor.py @@ -217,7 +217,9 @@ class Executor(object): us = [] ut = [] for b in self.batches: - if b.targets[0].is_up_to_date(): + # don't add targets marked always build to unchanged lists + # add to changed list as they always need to build + if not b.targets[0].always_build and b.targets[0].is_up_to_date(): us.extend(list(map(rfile, b.sources))) ut.extend(b.targets) else: -- cgit v0.12