summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2016-01-16 05:45:26 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2016-01-16 05:45:26 (GMT)
commitb75991844f53e4f9aeb9b0ae2909fd452aee113d (patch)
tree62fd3c1f0f687adc9cb71c1380c0b3ed39928414
parent291dffd00518f6fd49f36b4f174000e264f81f2f (diff)
downloadSCons-b75991844f53e4f9aeb9b0ae2909fd452aee113d.zip
SCons-b75991844f53e4f9aeb9b0ae2909fd452aee113d.tar.gz
SCons-b75991844f53e4f9aeb9b0ae2909fd452aee113d.tar.bz2
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
-rw-r--r--src/CHANGES.txt4
-rw-r--r--src/engine/SCons/Executor.py4
2 files changed, 7 insertions, 1 deletions
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: