diff --git a/HISTORY.rst b/HISTORY.rst index 86130c76..b00fde2d 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -7,6 +7,8 @@ PlatformIO 3.0 3.5.2 (2018-??-??) ~~~~~~~~~~~~~~~~~~ +* Upgraded build system to `SCons `__ 3.0 + (`issue #895 `_) * Added aliases (off, light, strict) for `LDF Compatibility Modes `__ * Show device system information (MCU, Frequency, RAM, Flash, Debugging tools) diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index e98e96ed..9c17daec 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -90,7 +90,7 @@ class LibBuilderBase(object): COMPAT_MODE_DEFAULT = "light" CLASSIC_SCANNER = SCons.Scanner.C.CScanner() - ADVANCED_SCANNER = SCons.Scanner.C.CScanner(advanced=True) + CCONDITIONAL_SCANNER = SCons.Scanner.C.CConditionalScanner() PARSE_SRC_BY_H_NAME = True _INCLUDE_DIRS_CACHE = None @@ -343,17 +343,15 @@ class LibBuilderBase(object): for path in self._validate_search_files(search_files): try: assert "+" in self.lib_ldf_mode - incs = self.env.File(path).get_found_includes( - self.env, LibBuilderBase.ADVANCED_SCANNER, - tuple(include_dirs)) + incs = LibBuilderBase.CCONDITIONAL_SCANNER( + self.env.File(path), self.env, tuple(include_dirs)) except Exception as e: # pylint: disable=broad-except if self.verbose and "+" in self.lib_ldf_mode: sys.stderr.write( "Warning! Classic Pre Processor is used for `%s`, " "advanced has failed with `%s`\n" % (path, e)) - _incs = self.env.File(path).get_found_includes( - self.env, LibBuilderBase.CLASSIC_SCANNER, - tuple(include_dirs)) + _incs = LibBuilderBase.CLASSIC_SCANNER( + self.env.File(path), self.env, tuple(include_dirs)) incs = [] for inc in _incs: incs.append(inc) diff --git a/platformio/managers/core.py b/platformio/managers/core.py index 3d1e8721..c417fb4b 100644 --- a/platformio/managers/core.py +++ b/platformio/managers/core.py @@ -25,7 +25,7 @@ CORE_PACKAGES = { "contrib-pysite": ">=0.1.2,<2", "tool-pioplus": ">=0.13.3,<2", "tool-unity": "~1.20302.1", - "tool-scons": "~3.20501.2" + "tool-scons": ">=3.30000.0,<4" } PIOPLUS_AUTO_UPDATES_MAX = 100