diff --git a/HISTORY.rst b/HISTORY.rst index dd23ed95..f987612a 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -19,6 +19,9 @@ PlatformIO 3.0 * `PIO Account `__ and `PLATFORMIO_AUTH_TOKEN `__ environment variable for CI systems +* Refactored `Library Dependency Finder (LDF) `__ + C/C++ Preprocessor for conditional syntax ("#ifdef", #if, #else, #elif, #define, etc.) + (`issue #837 `_) * Inject system environment variables to configuration settings in `Project Configuration File "platformio.ini" `__ (`issue #792 `_) @@ -31,8 +34,7 @@ PlatformIO 3.0 * Improved handling of library dependencies specified in ``library.json`` manifest (`issue #814 `_) * Improved `Library Dependency Finder (LDF) `__ - for circular dependencies and fixed LDF C/C++ Preprocessor for conditional syntax - (`issue #837 `_) + for circular dependencies * Fixed issue with ``PATH`` auto-configuring for upload tools * Fixed ``99-platformio-udev.rules`` checker for Linux OS diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index f5f67708..c930696b 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -607,7 +607,8 @@ def BuildDependentLibraries(env, src_dir): # build full dependency graph found_lbs = [lb for lb in lib_builders if lb.dependent] for lb in lib_builders: - lb.search_deps_recursive(lib_builders, lb.get_src_files()) + if lb in found_lbs: + lb.search_deps_recursive(lib_builders, lb.get_src_files()) for lb in lib_builders: for deplb in lb.depbuilders[:]: if deplb not in found_lbs: diff --git a/platformio/builder/tools/platformio.py b/platformio/builder/tools/platformio.py index 0a1d7e49..fa39934f 100644 --- a/platformio/builder/tools/platformio.py +++ b/platformio/builder/tools/platformio.py @@ -104,7 +104,7 @@ def BuildProgram(env): return program -def ProcessFlags(env, flags): +def ProcessFlags(env, flags): # pylint: disable=too-many-branches if not flags: return if isinstance(flags, list): diff --git a/platformio/managers/platform.py b/platformio/managers/platform.py index 39319288..cc985ca7 100644 --- a/platformio/managers/platform.py +++ b/platformio/managers/platform.py @@ -477,7 +477,7 @@ class PlatformBase(PlatformPackagesMixin, PlatformRunMixin): } if "tool-scons" not in self.packages: self.packages['tool-scons'] = { - "version": "~3.20401.4", + "version": "~3.20501.1", "optional": False }