Fix incorrect parsing of GCC "-include" flag // Resolve #552

This commit is contained in:
Ivan Kravets
2016-03-04 01:45:04 +02:00
parent 614a736eff
commit 4c4682f457
3 changed files with 12 additions and 3 deletions

View File

@ -4,7 +4,7 @@ Release Notes
PlatformIO 2.0
--------------
2.8.5 (2016-02-??)
2.8.5 (2016-03-??)
~~~~~~~~~~~~~~~~~~
* Project generator for `NetBeans IDE <http://docs.platformio.org/en/latest/ide/netbeans.html>`__
@ -31,6 +31,10 @@ PlatformIO 2.0
(`issue #550 <https://github.com/platformio/platformio/issues/550>`_)
* Fixed issue with updating package which was deleted manually by user
(`issue #555 <https://github.com/platformio/platformio/issues/555>`_)
* Fixed incorrect parsing of GCC ``-include`` flag
(`issue #552 <https://github.com/platformio/platformio/issues/552>`_)
-include
2.8.4 (2016-02-17)

View File

@ -14,7 +14,7 @@
import sys
VERSION = (2, 8, "5.dev2")
VERSION = (2, 8, "5.dev3")
__version__ = ".".join([str(s) for s in VERSION])
__title__ = "platformio"

View File

@ -113,10 +113,15 @@ def ProcessFlags(env, flags):
for i, p in enumerate(env.get("CPPPATH", [])):
if isdir(p):
env['CPPPATH'][i] = realpath(p)
# fix relative path for "-include"
for i, f in enumerate(env.get("CCFLAGS", [])):
if isinstance(f, tuple) and f[0] == "-include":
env['CCFLAGS'][i] = (f[0], env.File(realpath(f[1].get_path())))
# Cancel any previous definition of name, either built in or
# provided with a -D option // Issue #191
undefines = [u for u in env.get("CCFLAGS", []) if u.startswith("-U")]
undefines = [u for u in env.get("CCFLAGS", [])
if isinstance(u, basestring) and u.startswith("-U")]
if undefines:
for undef in undefines:
env['CCFLAGS'].remove(undef)