forked from platformio/platformio-core
Fix multiple definition errors for ST STM32 development platform and mbed framework // Resolve #571
This commit is contained in:
@ -9,6 +9,9 @@ PlatformIO 2.0
|
|||||||
|
|
||||||
* Launched `PlatformIO Community Forums <http://community.platformio.org>`_
|
* Launched `PlatformIO Community Forums <http://community.platformio.org>`_
|
||||||
(`issue #530 <https://github.com/platformio/platformio/issues/530>`_)
|
(`issue #530 <https://github.com/platformio/platformio/issues/530>`_)
|
||||||
|
* Fixed multiple definition errors for ST STM32 development platform and mbed
|
||||||
|
framework
|
||||||
|
(`issue #571 <https://github.com/platformio/platformio/issues/571>`_)
|
||||||
|
|
||||||
2.8.5 (2016-03-07)
|
2.8.5 (2016-03-07)
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
VERSION = (2, 8, 5)
|
VERSION = (2, 8, "6.dev0")
|
||||||
__version__ = ".".join([str(s) for s in VERSION])
|
__version__ = ".".join([str(s) for s in VERSION])
|
||||||
|
|
||||||
__title__ = "platformio"
|
__title__ = "platformio"
|
||||||
|
@ -195,18 +195,27 @@ def get_build_flags(data):
|
|||||||
return flags
|
return flags
|
||||||
|
|
||||||
|
|
||||||
def _mbed_whole_archive_hook(flags):
|
def _mbed_whole_archive_hook(libs):
|
||||||
if (not isinstance(flags, list) or
|
if (not isinstance(libs, list) or
|
||||||
env.get("BOARD_OPTIONS", {}).get("platform") != "ststm32"):
|
env.get("BOARD_OPTIONS", {}).get("platform") != "ststm32"):
|
||||||
return flags
|
return libs
|
||||||
|
|
||||||
for pos, flag in enumerate(flags[:]):
|
_dynlibs = []
|
||||||
if isinstance(flag, basestring):
|
_stlibs = []
|
||||||
continue
|
for l in libs:
|
||||||
flags.insert(pos, "-Wl,-whole-archive")
|
if isinstance(l, basestring):
|
||||||
flags.insert(pos + 2, "-Wl,-no-whole-archive")
|
_stlibs.append(l)
|
||||||
|
else:
|
||||||
|
_dynlibs.append(l)
|
||||||
|
|
||||||
return flags
|
libs = []
|
||||||
|
if _dynlibs:
|
||||||
|
libs.append("-Wl,-whole-archive")
|
||||||
|
libs.extend(_dynlibs)
|
||||||
|
libs.append("-Wl,-no-whole-archive")
|
||||||
|
libs.extend(_stlibs)
|
||||||
|
|
||||||
|
return libs
|
||||||
|
|
||||||
|
|
||||||
board_type = env.subst("$BOARD")
|
board_type = env.subst("$BOARD")
|
||||||
|
Reference in New Issue
Block a user