Refactored LDF C/C++ Preprocessor for conditional syntax // Issue #837

This commit is contained in:
Ivan Kravets
2016-11-30 19:05:37 +02:00
parent cbe733ce80
commit 4beb04d8b9
4 changed files with 8 additions and 5 deletions

View File

@ -19,6 +19,9 @@ PlatformIO 3.0
* `PIO Account <http://docs.platformio.org/en/latest/userguide/account/index.html>`__
and `PLATFORMIO_AUTH_TOKEN <http://docs.platformio.org/en/latest/envvars.html#envvar-PLATFORMIO_AUTH_TOKEN>`__
environment variable for CI systems
* Refactored `Library Dependency Finder (LDF) <http://docs.platformio.org/en/stable/librarymanager/ldf.html>`__
C/C++ Preprocessor for conditional syntax ("#ifdef", #if, #else, #elif, #define, etc.)
(`issue #837 <https://github.com/platformio/platformio/issues/837>`_)
* Inject system environment variables to configuration settings in
`Project Configuration File "platformio.ini" <http://docs.platformio.org/en/stable/projectconf.html>`__
(`issue #792 <https://github.com/platformio/platformio/issues/792>`_)
@ -31,8 +34,7 @@ PlatformIO 3.0
* Improved handling of library dependencies specified in ``library.json`` manifest
(`issue #814 <https://github.com/platformio/platformio/issues/814>`_)
* Improved `Library Dependency Finder (LDF) <http://docs.platformio.org/en/stable/librarymanager/ldf.html>`__
for circular dependencies and fixed LDF C/C++ Preprocessor for conditional syntax
(`issue #837 <https://github.com/platformio/platformio/issues/837>`_)
for circular dependencies
* Fixed issue with ``PATH`` auto-configuring for upload tools
* Fixed ``99-platformio-udev.rules`` checker for Linux OS

View File

@ -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:

View File

@ -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):

View File

@ -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
}