mirror of https://github.com/ARMmbed/mbed-os.git
Rename "default_lib" to "c_lib".
parent
b7c961c4ac
commit
8a0fdd24d9
|
@ -39,22 +39,22 @@
|
||||||
"mbed-trace.fea-ipv6": false
|
"mbed-trace.fea-ipv6": false
|
||||||
},
|
},
|
||||||
"K64F": {
|
"K64F": {
|
||||||
"target.default_lib": "small"
|
"target.c_lib": "small"
|
||||||
},
|
},
|
||||||
"K66F": {
|
"K66F": {
|
||||||
"target.default_lib": "small"
|
"target.c_lib": "small"
|
||||||
},
|
},
|
||||||
"NUCLEO_F303RE": {
|
"NUCLEO_F303RE": {
|
||||||
"target.default_lib": "small"
|
"target.c_lib": "small"
|
||||||
},
|
},
|
||||||
"NUCLEO_F411RE": {
|
"NUCLEO_F411RE": {
|
||||||
"target.default_lib": "small"
|
"target.c_lib": "small"
|
||||||
},
|
},
|
||||||
"NUCLEO_F429ZI": {
|
"NUCLEO_F429ZI": {
|
||||||
"target.default_lib": "small"
|
"target.c_lib": "small"
|
||||||
},
|
},
|
||||||
"DISCO_L475VG_IOT01A": {
|
"DISCO_L475VG_IOT01A": {
|
||||||
"target.default_lib": "small"
|
"target.c_lib": "small"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
"features": [],
|
"features": [],
|
||||||
"detect_code": [],
|
"detect_code": [],
|
||||||
"public": false,
|
"public": false,
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"bootloader_supported": false,
|
"bootloader_supported": false,
|
||||||
"static_memory_defines": true,
|
"static_memory_defines": true,
|
||||||
"printf_lib": "std",
|
"printf_lib": "std",
|
||||||
|
|
|
@ -335,12 +335,12 @@ def is_official_target(target_name, version):
|
||||||
("following toolchains: %s" %
|
("following toolchains: %s" %
|
||||||
", ".join(sorted(supported_toolchains)))
|
", ".join(sorted(supported_toolchains)))
|
||||||
|
|
||||||
elif not target.default_lib == 'std':
|
elif not target.c_lib == 'std':
|
||||||
result = False
|
result = False
|
||||||
reason = ("Target '%s' must set the " % target.name) + \
|
reason = ("Target '%s' must set the " % target.name) + \
|
||||||
("'default_lib' to 'std' to be included in the ") + \
|
("'c_lib' to 'std' to be included in the ") + \
|
||||||
("mbed OS 5.0 official release." + linesep) + \
|
("mbed OS 5.0 official release." + linesep) + \
|
||||||
("Currently it is set to '%s'" % target.default_lib)
|
("Currently it is set to '%s'" % target.c_lib)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
result = False
|
result = False
|
||||||
|
|
|
@ -90,7 +90,7 @@ def check_device_has(dict):
|
||||||
yield "%s is not allowed in device_has" % name
|
yield "%s is not allowed in device_has" % name
|
||||||
|
|
||||||
MCU_REQUIRED_KEYS = ["release_versions", "supported_toolchains",
|
MCU_REQUIRED_KEYS = ["release_versions", "supported_toolchains",
|
||||||
"default_lib", "public", "inherits", "device_has"]
|
"c_lib", "public", "inherits", "device_has"]
|
||||||
MCU_ALLOWED_KEYS = ["device_has_add", "device_has_remove", "core",
|
MCU_ALLOWED_KEYS = ["device_has_add", "device_has_remove", "core",
|
||||||
"extra_labels", "features", "features_add",
|
"extra_labels", "features", "features_add",
|
||||||
"features_remove", "bootloader_supported", "device_name",
|
"features_remove", "bootloader_supported", "device_name",
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"base": {
|
"base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"first_base": {
|
"first_base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
"second_base": {
|
"second_base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": ["BOOTLOADER"],
|
"features": ["BOOTLOADER"],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"base": {
|
"base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"base": {
|
"base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"base": {
|
"base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"base": {
|
"base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"config": {
|
"config": {
|
||||||
"par1": "v_par1_base",
|
"par1": "v_par1_base",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"first_base_target": {
|
"first_base_target": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"base": {
|
"base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"base": {
|
"base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"core": "Cortex-M0",
|
"core": "Cortex-M0",
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"features": [],
|
"features": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"first_base": {
|
"first_base": {
|
||||||
"supported_toolchains": ["GCC_ARM"],
|
"supported_toolchains": ["GCC_ARM"],
|
||||||
"extra_labels": [],
|
"extra_labels": [],
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -102,7 +102,7 @@ def test_modify_existing_target():
|
||||||
"features": [],
|
"features": [],
|
||||||
"detect_code": [],
|
"detect_code": [],
|
||||||
"public": false,
|
"public": false,
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
@ -130,7 +130,7 @@ def test_modify_existing_target():
|
||||||
"features": [],
|
"features": [],
|
||||||
"detect_code": [],
|
"detect_code": [],
|
||||||
"public": false,
|
"public": false,
|
||||||
"default_lib": "std",
|
"c_lib": "std",
|
||||||
"supported_c_libs": {
|
"supported_c_libs": {
|
||||||
"arm": ["std"],
|
"arm": ["std"],
|
||||||
"gcc_arm": ["std", "small"],
|
"gcc_arm": ["std", "small"],
|
||||||
|
|
|
@ -31,10 +31,10 @@ class TestArmToolchain(TestCase):
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.printf_lib = "minimal-printf"
|
mock_target.printf_lib = "minimal-printf"
|
||||||
mock_target.default_lib = "std"
|
mock_target.c_lib = "std"
|
||||||
mock_target.supported_c_libs = {"arm": ["std"]}
|
mock_target.supported_c_libs = {"arm": ["std"]}
|
||||||
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5"]
|
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5"]
|
||||||
|
del mock_target.default_lib
|
||||||
arm_std_obj = ARM_STD(mock_target)
|
arm_std_obj = ARM_STD(mock_target)
|
||||||
arm_micro_obj = ARM_MICRO(mock_target)
|
arm_micro_obj = ARM_MICRO(mock_target)
|
||||||
arm_c6_obj = ARMC6(mock_target)
|
arm_c6_obj = ARMC6(mock_target)
|
||||||
|
@ -43,12 +43,13 @@ class TestArmToolchain(TestCase):
|
||||||
self.assertIn("-DMBED_MINIMAL_PRINTF", arm_micro_obj.flags["common"])
|
self.assertIn("-DMBED_MINIMAL_PRINTF", arm_micro_obj.flags["common"])
|
||||||
self.assertIn("-DMBED_MINIMAL_PRINTF", arm_c6_obj.flags["common"])
|
self.assertIn("-DMBED_MINIMAL_PRINTF", arm_c6_obj.flags["common"])
|
||||||
|
|
||||||
def test_arm_default_lib(self):
|
def test_arm_c_lib(self):
|
||||||
"""Test that linker flags are correctly added to an instance of ARM."""
|
"""Test that linker flags are correctly added to an instance of ARM."""
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.supported_c_libs = {"arm": ["small"]}
|
mock_target.supported_c_libs = {"arm": ["small"]}
|
||||||
mock_target.default_lib = "sMALL"
|
mock_target.c_lib = "sMALL"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.default_toolchain = "ARM"
|
mock_target.default_toolchain = "ARM"
|
||||||
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5", "ARMC6"]
|
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5", "ARMC6"]
|
||||||
arm_std_obj = ARM_STD(mock_target)
|
arm_std_obj = ARM_STD(mock_target)
|
||||||
|
@ -68,32 +69,34 @@ class TestArmToolchain(TestCase):
|
||||||
self.assertIn("-Wl,--library_type=microlib", arm_c6_obj.flags["cxx"])
|
self.assertIn("-Wl,--library_type=microlib", arm_c6_obj.flags["cxx"])
|
||||||
self.assertIn("--library_type=microlib", arm_c6_obj.flags["asm"])
|
self.assertIn("--library_type=microlib", arm_c6_obj.flags["asm"])
|
||||||
|
|
||||||
def test_arm_default_lib_std_exception(self):
|
def test_arm_c_lib_std_exception(self):
|
||||||
"""Test that an exception is raised if the std C library is not supported for a target on the ARM toolchain."""
|
"""Test that an exception is raised if the std C library is not supported for a target on the ARM toolchain."""
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5"]
|
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5"]
|
||||||
mock_target.default_toolchain = "ARM"
|
mock_target.default_toolchain = "ARM"
|
||||||
mock_target.default_lib = "std"
|
mock_target.c_lib = "std"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.supported_c_libs = {"arm": ["small"]}
|
mock_target.supported_c_libs = {"arm": ["small"]}
|
||||||
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.default_lib)):
|
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.c_lib)):
|
||||||
ARM_STD(mock_target)
|
ARM_STD(mock_target)
|
||||||
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.default_lib)):
|
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.c_lib)):
|
||||||
ARMC6(mock_target)
|
ARMC6(mock_target)
|
||||||
|
|
||||||
|
|
||||||
def test_arm_default_lib_small_exception(self):
|
def test_arm_c_lib_small_exception(self):
|
||||||
"""Test that an exception is raised if the small C library is not supported for a target on the ARM toolchain."""
|
"""Test that an exception is raised if the small C library is not supported for a target on the ARM toolchain."""
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.default_lib = "small"
|
mock_target.c_lib = "small"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.supported_c_libs = {"arm": ["std"]}
|
mock_target.supported_c_libs = {"arm": ["std"]}
|
||||||
mock_target.default_toolchain = "ARM"
|
mock_target.default_toolchain = "ARM"
|
||||||
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5"]
|
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5"]
|
||||||
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.default_lib)):
|
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.c_lib)):
|
||||||
ARM_STD(mock_target)
|
ARM_STD(mock_target)
|
||||||
mock_target.default_toolchain = "ARMC6"
|
mock_target.default_toolchain = "ARMC6"
|
||||||
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.default_lib)):
|
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.c_lib)):
|
||||||
ARMC6(mock_target)
|
ARMC6(mock_target)
|
||||||
|
|
||||||
class TestGccToolchain(TestCase):
|
class TestGccToolchain(TestCase):
|
||||||
|
@ -105,7 +108,8 @@ class TestGccToolchain(TestCase):
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.printf_lib = "minimal-printf"
|
mock_target.printf_lib = "minimal-printf"
|
||||||
mock_target.supported_toolchains = ["GCC_ARM"]
|
mock_target.supported_toolchains = ["GCC_ARM"]
|
||||||
mock_target.default_lib = "std"
|
mock_target.c_lib = "std"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.supported_c_libs = {"gcc_arm": ["std"]}
|
mock_target.supported_c_libs = {"gcc_arm": ["std"]}
|
||||||
mock_target.is_TrustZone_secure_target = False
|
mock_target.is_TrustZone_secure_target = False
|
||||||
|
|
||||||
|
@ -127,12 +131,13 @@ class TestGccToolchain(TestCase):
|
||||||
for i in minimal_printf_wraps:
|
for i in minimal_printf_wraps:
|
||||||
self.assertIn(i, gcc_obj.flags["ld"])
|
self.assertIn(i, gcc_obj.flags["ld"])
|
||||||
|
|
||||||
def test_gcc_arm_default_lib(self):
|
def test_gcc_arm_c_lib(self):
|
||||||
"""Test that linker flags are correctly added to an instance of GCC_ARM."""
|
"""Test that linker flags are correctly added to an instance of GCC_ARM."""
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.supported_c_libs = {"gcc_arm": ["small"]}
|
mock_target.supported_c_libs = {"gcc_arm": ["small"]}
|
||||||
mock_target.default_lib = "sMALL"
|
mock_target.c_lib = "sMALL"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.supported_toolchains = ["GCC_ARM"]
|
mock_target.supported_toolchains = ["GCC_ARM"]
|
||||||
mock_target.is_TrustZone_secure_target = False
|
mock_target.is_TrustZone_secure_target = False
|
||||||
gcc_arm_obj = GCC_ARM(mock_target)
|
gcc_arm_obj = GCC_ARM(mock_target)
|
||||||
|
@ -140,25 +145,27 @@ class TestGccToolchain(TestCase):
|
||||||
self.assertIn("-D__NEWLIB_NANO", gcc_arm_obj.flags["common"])
|
self.assertIn("-D__NEWLIB_NANO", gcc_arm_obj.flags["common"])
|
||||||
self.assertIn("--specs=nano.specs", gcc_arm_obj.flags["ld"])
|
self.assertIn("--specs=nano.specs", gcc_arm_obj.flags["ld"])
|
||||||
|
|
||||||
def test_gcc_arm_default_lib_std_exception(self):
|
def test_gcc_arm_c_lib_std_exception(self):
|
||||||
"""Test that an exception is raised if the std C library is not supported for a target on the GCC_ARM toolchain."""
|
"""Test that an exception is raised if the std C library is not supported for a target on the GCC_ARM toolchain."""
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.default_toolchain = "ARM"
|
mock_target.default_toolchain = "ARM"
|
||||||
mock_target.default_lib = "std"
|
mock_target.c_lib = "std"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.supported_c_libs = {"arm": ["small"]}
|
mock_target.supported_c_libs = {"arm": ["small"]}
|
||||||
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.default_lib)):
|
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.c_lib)):
|
||||||
GCC_ARM(mock_target)
|
GCC_ARM(mock_target)
|
||||||
|
|
||||||
def test_gcc_arm_default_lib_small_exception(self):
|
def test_gcc_arm_c_lib_small_exception(self):
|
||||||
"""Test that an exception is raised if the small C library is not supported for a target on the GCC_ARM toolchain."""
|
"""Test that an exception is raised if the small C library is not supported for a target on the GCC_ARM toolchain."""
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.default_lib = "small"
|
mock_target.c_lib = "small"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.supported_c_libs = {"arm": ["std"]}
|
mock_target.supported_c_libs = {"arm": ["std"]}
|
||||||
mock_target.default_toolchain = "ARM"
|
mock_target.default_toolchain = "ARM"
|
||||||
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5"]
|
mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5"]
|
||||||
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.default_lib)):
|
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.c_lib)):
|
||||||
GCC_ARM(mock_target)
|
GCC_ARM(mock_target)
|
||||||
|
|
||||||
class TestIarToolchain(TestCase):
|
class TestIarToolchain(TestCase):
|
||||||
|
@ -170,7 +177,8 @@ class TestIarToolchain(TestCase):
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.printf_lib = "minimal-printf"
|
mock_target.printf_lib = "minimal-printf"
|
||||||
mock_target.supported_toolchains = ["IAR"]
|
mock_target.supported_toolchains = ["IAR"]
|
||||||
mock_target.default_lib = "std"
|
del mock_target.default_lib
|
||||||
|
mock_target.c_lib = "std"
|
||||||
mock_target.supported_c_libs = {"iar": ["std"]}
|
mock_target.supported_c_libs = {"iar": ["std"]}
|
||||||
mock_target.is_TrustZone_secure_target = False
|
mock_target.is_TrustZone_secure_target = False
|
||||||
|
|
||||||
|
@ -178,35 +186,38 @@ class TestIarToolchain(TestCase):
|
||||||
var = "-DMBED_MINIMAL_PRINTF"
|
var = "-DMBED_MINIMAL_PRINTF"
|
||||||
self.assertIn("-DMBED_MINIMAL_PRINTF", iar_obj.flags["common"])
|
self.assertIn("-DMBED_MINIMAL_PRINTF", iar_obj.flags["common"])
|
||||||
|
|
||||||
def test_iar_default_lib(self):
|
def test_iar_c_lib(self):
|
||||||
"""Test that no exception is raised when a supported c library is specified."""
|
"""Test that no exception is raised when a supported c library is specified."""
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.supported_c_libs = {"iar": ["std"]}
|
mock_target.supported_c_libs = {"iar": ["std"]}
|
||||||
mock_target.default_lib = "sTD"
|
mock_target.c_lib = "sTD"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.supported_toolchains = ["IAR"]
|
mock_target.supported_toolchains = ["IAR"]
|
||||||
mock_target.is_TrustZone_secure_target = False
|
mock_target.is_TrustZone_secure_target = False
|
||||||
try:
|
try:
|
||||||
IAR(mock_target)
|
IAR(mock_target)
|
||||||
except NotSupportedException:
|
except NotSupportedException:
|
||||||
self.fail(UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.default_lib))
|
self.fail(UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.c_lib))
|
||||||
|
|
||||||
def test_iar_default_lib_std_exception(self):
|
def test_iar_c_lib_std_exception(self):
|
||||||
"""Test that an exception is raised if the std C library is not supported for a target on the IAR toolchain."""
|
"""Test that an exception is raised if the std C library is not supported for a target on the IAR toolchain."""
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.default_lib = "std"
|
mock_target.c_lib = "std"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.supported_c_libs = {"iar": ["small"]}
|
mock_target.supported_c_libs = {"iar": ["small"]}
|
||||||
mock_target.supported_toolchains = ["IAR"]
|
mock_target.supported_toolchains = ["IAR"]
|
||||||
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.default_lib)):
|
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.c_lib)):
|
||||||
IAR(mock_target)
|
IAR(mock_target)
|
||||||
|
|
||||||
def test_iar_default_lib_small_exception(self):
|
def test_iar_c_lib_small_exception(self):
|
||||||
"""Test that an exception is raised if the small C library is not supported for a target on the IAR toolchain."""
|
"""Test that an exception is raised if the small C library is not supported for a target on the IAR toolchain."""
|
||||||
mock_target = mock.MagicMock()
|
mock_target = mock.MagicMock()
|
||||||
mock_target.core = "Cortex-M4"
|
mock_target.core = "Cortex-M4"
|
||||||
mock_target.default_lib = "small"
|
mock_target.c_lib = "small"
|
||||||
|
del mock_target.default_lib
|
||||||
mock_target.supported_c_libs = {"iar": ["std"]}
|
mock_target.supported_c_libs = {"iar": ["std"]}
|
||||||
mock_target.supported_toolchains = ["IAR"]
|
mock_target.supported_toolchains = ["IAR"]
|
||||||
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.default_lib)):
|
with self.assertRaisesRegexp(NotSupportedException, UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(mock_target.c_lib)):
|
||||||
IAR(mock_target)
|
IAR(mock_target)
|
||||||
|
|
|
@ -81,7 +81,7 @@ class ARM(mbedToolchain):
|
||||||
|
|
||||||
if (
|
if (
|
||||||
getattr(target, "default_toolchain", "ARM") == "uARM"
|
getattr(target, "default_toolchain", "ARM") == "uARM"
|
||||||
or getattr(target, "default_lib", "std") == "small"
|
or getattr(target, "c_lib", "std") == "small"
|
||||||
):
|
):
|
||||||
if "-DMBED_RTOS_SINGLE_THREAD" not in self.flags['common']:
|
if "-DMBED_RTOS_SINGLE_THREAD" not in self.flags['common']:
|
||||||
self.flags['common'].append("-DMBED_RTOS_SINGLE_THREAD")
|
self.flags['common'].append("-DMBED_RTOS_SINGLE_THREAD")
|
||||||
|
@ -571,7 +571,7 @@ class ARMC6(ARM_STD):
|
||||||
|
|
||||||
if (
|
if (
|
||||||
getattr(target, "default_toolchain", "ARMC6") == "uARM"
|
getattr(target, "default_toolchain", "ARMC6") == "uARM"
|
||||||
or getattr(target, "default_lib", "std") == "small"
|
or getattr(target, "c_lib", "std") == "small"
|
||||||
):
|
):
|
||||||
if "-DMBED_RTOS_SINGLE_THREAD" not in self.flags['common']:
|
if "-DMBED_RTOS_SINGLE_THREAD" not in self.flags['common']:
|
||||||
self.flags['common'].append("-DMBED_RTOS_SINGLE_THREAD")
|
self.flags['common'].append("-DMBED_RTOS_SINGLE_THREAD")
|
||||||
|
|
|
@ -48,14 +48,14 @@ class GCC(mbedToolchain):
|
||||||
|
|
||||||
tool_path = TOOLCHAIN_PATHS['GCC_ARM']
|
tool_path = TOOLCHAIN_PATHS['GCC_ARM']
|
||||||
# Add flags for current size setting
|
# Add flags for current size setting
|
||||||
default_lib = "std"
|
c_lib = "std"
|
||||||
if hasattr(target, "default_lib"):
|
if hasattr(target, "c_lib"):
|
||||||
self.check_c_lib_supported(target, "gcc_arm")
|
self.check_c_lib_supported(target, "gcc_arm")
|
||||||
default_lib = target.default_lib
|
c_lib = target.c_lib
|
||||||
elif hasattr(target, "default_build"):
|
elif hasattr(target, "default_build"):
|
||||||
default_lib = target.default_build
|
c_lib = target.default_build
|
||||||
|
|
||||||
if default_lib == "small":
|
if c_lib == "small":
|
||||||
common_flags = ["-DMBED_RTOS_SINGLE_THREAD", "-D__NEWLIB_NANO"]
|
common_flags = ["-DMBED_RTOS_SINGLE_THREAD", "-D__NEWLIB_NANO"]
|
||||||
self.flags["common"].extend(common_flags)
|
self.flags["common"].extend(common_flags)
|
||||||
self.flags["ld"].append("--specs=nano.specs")
|
self.flags["ld"].append("--specs=nano.specs")
|
||||||
|
|
|
@ -1103,18 +1103,22 @@ class mbedToolchain(with_metaclass(ABCMeta, object)):
|
||||||
"""
|
"""
|
||||||
Check and raise an exception if the requested C library is not supported,
|
Check and raise an exception if the requested C library is not supported,
|
||||||
|
|
||||||
target.default_lib is modified to have the lowercased string of its original string.
|
target.c_lib is modified to have the lowercased string of its original string.
|
||||||
This is done to be case insensitive when validating.
|
This is done to be case insensitive when validating.
|
||||||
"""
|
"""
|
||||||
if hasattr(target, "default_lib"):
|
if hasattr(target, "default_lib"):
|
||||||
target.default_lib = target.default_lib.lower()
|
raise NotSupportedException(
|
||||||
|
"target.default_lib is no longer supported, please use target.c_lib for C library selection."
|
||||||
|
)
|
||||||
|
if hasattr(target, "c_lib"):
|
||||||
|
target.c_lib = target.c_lib.lower()
|
||||||
if (
|
if (
|
||||||
hasattr(target, "supported_c_libs") == False
|
hasattr(target, "supported_c_libs") == False
|
||||||
or toolchain not in target.supported_c_libs
|
or toolchain not in target.supported_c_libs
|
||||||
or target.default_lib not in target.supported_c_libs[toolchain]
|
or target.c_lib not in target.supported_c_libs[toolchain]
|
||||||
):
|
):
|
||||||
raise NotSupportedException(
|
raise NotSupportedException(
|
||||||
UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(target.default_lib)
|
UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(target.c_lib)
|
||||||
)
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|
Loading…
Reference in New Issue