tools: Support default_lib and c_lib

For backwards compatibility reasons, since the latest Mbed OS tools must
be able to build any previous online-compiler-supported version of Mbed
OS, allow targets to use `default_lib` or `c_lib`. This should enable
the tools to work with Mbed OS 5 style targets.json.
pull/13007/head
Jaeden Amero 2020-05-22 14:56:23 +01:00
parent 8be07a4906
commit 5e65cf7f4d
1 changed files with 6 additions and 5 deletions

View File

@ -1097,11 +1097,12 @@ class mbedToolchain(with_metaclass(ABCMeta, object)):
target.c_lib is modified to have the lowercased string of its original string.
This is done to be case insensitive when validating.
"""
if hasattr(target, "default_lib"):
raise NotSupportedException(
"target.default_lib is no longer supported, please use target.c_lib for C library selection."
)
if hasattr(target, "c_lib"):
if hasattr(target, "default_lib"):
# Use default_lib as the c_lib attribute. This allows backwards
# compatibility with older target definitions, allowing either
# default_lib or c_lib to specify the C library to use.
target.c_lib = target.default_lib.lower()
if hasattr(target, "c_lib"):
target.c_lib = target.c_lib.lower()
if (
hasattr(target, "supported_c_libs") == False