diff options
author | Russel Winder <russel@winder.org.uk> | 2017-08-23 07:06:41 (GMT) |
---|---|---|
committer | Russel Winder <russel@winder.org.uk> | 2017-08-23 07:06:41 (GMT) |
commit | 19ae63da41fb2779021bd0028a7d7730f41c2021 (patch) | |
tree | 0763b7f670b3d7b65baf1bd550730f300c32cf2a /src | |
parent | e77ff3a91273d7fa5f7c440049ea76043b9bceb2 (diff) | |
parent | 939963642474e9f9b01adc6b42e5fda15de3fa89 (diff) | |
download | SCons-19ae63da41fb2779021bd0028a7d7730f41c2021.zip SCons-19ae63da41fb2779021bd0028a7d7730f41c2021.tar.gz SCons-19ae63da41fb2779021bd0028a7d7730f41c2021.tar.bz2 |
Merge mainline.
Diffstat (limited to 'src')
-rw-r--r-- | src/CHANGES.txt | 9 | ||||
-rw-r--r-- | src/engine/SCons/Environment.py | 2 | ||||
-rw-r--r-- | src/engine/SCons/ExecutorTests.py | 25 | ||||
-rw-r--r-- | src/engine/SCons/Script/Main.xml | 8 | ||||
-rw-r--r-- | src/engine/SCons/Script/SConsOptions.py | 1 | ||||
-rw-r--r-- | src/engine/SCons/Tool/__init__.py | 3 |
6 files changed, 46 insertions, 2 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index dd92ce1..c2c8ca8 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -11,6 +11,7 @@ NOTE: This is a major release. You should expect that some targets may rebuild Significant changes in some python action signatures. Also switching between PY 2 and PY 3.5, 3.6 may cause rebuilds. In no case should rebuilds not happen. + From William Blevins: - Updated D language scanner support to latest: 2.071.1. (PR #1924) https://dlang.org/spec/module.html accessed 11 August 2016 @@ -34,6 +35,14 @@ may cause rebuilds. In no case should rebuilds not happen. - Defined MS SDK 10.0 and Changed VS 2015 to use SDK 10.0 - Changes to Action Function and Action Class signiture creation. NOTE: This will cause rebuilds for many builds when upgrading to SCons 3.0 + - Fixed Bug #3027 - "Cross Compiling issue: cannot override ranlib" + - Fixed Bug #3020 - "Download link in user guide wrong. python setup.py install --version-lib broken" + - Fixed Bug #2486 - Added SetOption('silent',True) - Previously this value was not allowed to be set. + - Fixed Bug #3040 - Non-unicode character in CHANGES.txt + - Fixed Bug #2622 - AlwaysBuild + MSVC regression. + - Fixed Bug #3025 - (Credit to Florian : User flow86 on tigris) - Fix typo JAVACLASSSUFIX should have been + JAVACLASSSUFFIX + From Ibrahim Esmat: - Added the capability to build Windows Store Compatible libraries that can be used diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py index 4f8e41b..6a127db 100644 --- a/src/engine/SCons/Environment.py +++ b/src/engine/SCons/Environment.py @@ -342,7 +342,7 @@ def is_valid_construction_var(varstr): class SubstitutionEnvironment(object): """Base class for different flavors of construction environments. - This class contains a minimal set of methods that handle contruction + This class contains a minimal set of methods that handle construction variable expansion and conversion of strings to Nodes, which may or may not be actually useful as a stand-alone class. Which methods ended up in this class is pretty arbitrary right now. They're diff --git a/src/engine/SCons/ExecutorTests.py b/src/engine/SCons/ExecutorTests.py index dbfb7d1..eeab3ad 100644 --- a/src/engine/SCons/ExecutorTests.py +++ b/src/engine/SCons/ExecutorTests.py @@ -74,8 +74,12 @@ class MyNode(object): self.pre_actions = pre self.post_actions = post self.missing_val = None + self.always_build = False + self.up_to_date = False + def __str__(self): return self.name + def build(self): executor = SCons.Executor.Executor(MyAction(self.pre_actions + [self.builder.action] + @@ -100,6 +104,9 @@ class MyNode(object): def disambiguate(self): return self + def is_up_to_date(self): + return self.up_to_date + class MyScanner(object): def __init__(self, prefix): self.prefix = prefix @@ -455,6 +462,24 @@ class ExecutorTestCase(unittest.TestCase): r = x.get_unignored_sources(None, [s1, s3]) assert r == [s2], list(map(str, r)) + def test_changed_sources_for_alwaysBuild(self): + """ + Ensure if a target is marked always build that the sources are always marked changed sources + :return: + """ + env = MyEnvironment() + s1 = MyNode('s1') + s2 = MyNode('s2') + t1 = MyNode('t1') + t1.up_to_date = True + t1.always_build = True + + x = SCons.Executor.Executor('b', env, [{}], [t1], [s1, s2]) + + changed_sources = x._get_changed_sources() + assert changed_sources == [s1, s2], "If target marked AlwaysBuild sources should always be marked changed" + + if __name__ == "__main__": diff --git a/src/engine/SCons/Script/Main.xml b/src/engine/SCons/Script/Main.xml index 98db5bf..e95afbc 100644 --- a/src/engine/SCons/Script/Main.xml +++ b/src/engine/SCons/Script/Main.xml @@ -781,6 +781,14 @@ which corresponds to --random; and </listitem> </varlistentry> <varlistentry> +<term><literal>silent</literal></term> +<listitem> +<para> +which corresponds to --silent. +</para> +</listitem> +</varlistentry> +<varlistentry> <term><literal>stack_size</literal></term> <listitem> <para> diff --git a/src/engine/SCons/Script/SConsOptions.py b/src/engine/SCons/Script/SConsOptions.py index 288a7a5..60d456e 100644 --- a/src/engine/SCons/Script/SConsOptions.py +++ b/src/engine/SCons/Script/SConsOptions.py @@ -139,6 +139,7 @@ class SConsValues(optparse.Values): 'random', 'stack_size', 'warn', + 'silent' ] def set_option(self, name, value): diff --git a/src/engine/SCons/Tool/__init__.py b/src/engine/SCons/Tool/__init__.py index 6408f8b..6ddb9fc 100644 --- a/src/engine/SCons/Tool/__init__.py +++ b/src/engine/SCons/Tool/__init__.py @@ -319,6 +319,7 @@ def createProgBuilder(env): return program + def createStaticLibBuilder(env): """This is a utility function that creates the StaticLibrary Builder in an Environment if it is not there already. @@ -913,7 +914,7 @@ def CreateJarBuilder(env): jar_com = SCons.Action.Action('$JARCOM', '$JARCOMSTR') java_jar = SCons.Builder.Builder(action = jar_com, suffix = '$JARSUFFIX', - src_suffix = '$JAVACLASSSUFIX', + src_suffix = '$JAVACLASSSUFFIX', src_builder = 'JavaClassFile', source_factory = fs.Entry) env['BUILDERS']['Jar'] = java_jar |