diff --git a/TESTS/configs/baremetal.json b/TESTS/configs/baremetal.json index 9d6963cac6..a799262efd 100644 --- a/TESTS/configs/baremetal.json +++ b/TESTS/configs/baremetal.json @@ -39,22 +39,22 @@ "mbed-trace.fea-ipv6": false }, "K64F": { - "target.default_lib": "small" + "target.c_lib": "small" }, "K66F": { - "target.default_lib": "small" + "target.c_lib": "small" }, "NUCLEO_F303RE": { - "target.default_lib": "small" + "target.c_lib": "small" }, "NUCLEO_F411RE": { - "target.default_lib": "small" + "target.c_lib": "small" }, "NUCLEO_F429ZI": { - "target.default_lib": "small" + "target.c_lib": "small" }, "DISCO_L475VG_IOT01A": { - "target.default_lib": "small" + "target.c_lib": "small" } } } diff --git a/targets/targets.json b/targets/targets.json index 79db922d62..0285830a65 100644 --- a/targets/targets.json +++ b/targets/targets.json @@ -16,7 +16,7 @@ "features": [], "detect_code": [], "public": false, - "default_lib": "std", + "c_lib": "std", "bootloader_supported": false, "static_memory_defines": true, "printf_lib": "std", @@ -2441,8 +2441,7 @@ "TRNG", "FLASH", "WATCHDOG" - ], - "default_lib": "std", + ], "release_versions": [ "2", "5" @@ -2465,8 +2464,7 @@ "FSL_RTOS_MBED", "USE_EXTERNAL_RTC" ], - "default_toolchain": "ARM", - "default_lib": "std", + "default_toolchain": "ARM", "forced_reset_timeout": 7, "release_versions": [ "2", @@ -14032,8 +14030,7 @@ "smclk_select": "HFXT", "smclk_div": "DIV2", "adc_auto_scan": 1 - }, - "default_lib": "std", + }, "release_versions": [ "2", "5" diff --git a/tools/build_api.py b/tools/build_api.py index 69f21ffcfd..208547d0f0 100755 --- a/tools/build_api.py +++ b/tools/build_api.py @@ -335,12 +335,12 @@ def is_official_target(target_name, version): ("following toolchains: %s" % ", ".join(sorted(supported_toolchains))) - elif not target.default_lib == 'std': + elif not target.c_lib == 'std': result = False 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) + \ - ("Currently it is set to '%s'" % target.default_lib) + ("Currently it is set to '%s'" % target.c_lib) else: result = False diff --git a/tools/targets/lint.py b/tools/targets/lint.py index 90755751d8..426c07e2b3 100644 --- a/tools/targets/lint.py +++ b/tools/targets/lint.py @@ -90,7 +90,7 @@ def check_device_has(dict): yield "%s is not allowed in device_has" % name 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", "extra_labels", "features", "features_add", "features_remove", "bootloader_supported", "device_name", diff --git a/tools/test/config/app_override_libs/targets.json b/tools/test/config/app_override_libs/targets.json index f6b8239488..ceeb7061fb 100644 --- a/tools/test/config/app_override_libs/targets.json +++ b/tools/test/config/app_override_libs/targets.json @@ -3,7 +3,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_toolchains": ["GCC_ARM"], "supported_c_libs": { "arm": ["std"], diff --git a/tools/test/config/compound_inheritance/targets.json b/tools/test/config/compound_inheritance/targets.json index d4c690afd4..d4b9293576 100644 --- a/tools/test/config/compound_inheritance/targets.json +++ b/tools/test/config/compound_inheritance/targets.json @@ -2,7 +2,7 @@ "base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/double_define/targets.json b/tools/test/config/double_define/targets.json index 258fa4660e..11ce6e68aa 100644 --- a/tools/test/config/double_define/targets.json +++ b/tools/test/config/double_define/targets.json @@ -2,7 +2,7 @@ "first_base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], @@ -18,7 +18,7 @@ "second_base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/feature_compesition/targets.json b/tools/test/config/feature_compesition/targets.json index 33cdaf0c68..5ed87beea6 100644 --- a/tools/test/config/feature_compesition/targets.json +++ b/tools/test/config/feature_compesition/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/feature_recursive_add/targets.json b/tools/test/config/feature_recursive_add/targets.json index 33cdaf0c68..5ed87beea6 100644 --- a/tools/test/config/feature_recursive_add/targets.json +++ b/tools/test/config/feature_recursive_add/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/feature_recursive_complex/targets.json b/tools/test/config/feature_recursive_complex/targets.json index 33cdaf0c68..5ed87beea6 100644 --- a/tools/test/config/feature_recursive_complex/targets.json +++ b/tools/test/config/feature_recursive_complex/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/feature_remove/targets.json b/tools/test/config/feature_remove/targets.json index d60172f623..9ea0b84d08 100644 --- a/tools/test/config/feature_remove/targets.json +++ b/tools/test/config/feature_remove/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": ["BOOTLOADER"], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/lib_requires_missing_lib/targets.json b/tools/test/config/lib_requires_missing_lib/targets.json index 33cdaf0c68..5ed87beea6 100644 --- a/tools/test/config/lib_requires_missing_lib/targets.json +++ b/tools/test/config/lib_requires_missing_lib/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/macro_inheritance/targets.json b/tools/test/config/macro_inheritance/targets.json index 33cdaf0c68..5ed87beea6 100644 --- a/tools/test/config/macro_inheritance/targets.json +++ b/tools/test/config/macro_inheritance/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/override_labels_libs/targets.json b/tools/test/config/override_labels_libs/targets.json index 6556e9f7f3..e3025775c0 100644 --- a/tools/test/config/override_labels_libs/targets.json +++ b/tools/test/config/override_labels_libs/targets.json @@ -2,7 +2,7 @@ "base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/override_labels_libs_more/targets.json b/tools/test/config/override_labels_libs_more/targets.json index 6556e9f7f3..e3025775c0 100644 --- a/tools/test/config/override_labels_libs_more/targets.json +++ b/tools/test/config/override_labels_libs_more/targets.json @@ -2,7 +2,7 @@ "base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/override_labels_targets/targets.json b/tools/test/config/override_labels_targets/targets.json index 866972f5f8..cde600d63d 100644 --- a/tools/test/config/override_labels_targets/targets.json +++ b/tools/test/config/override_labels_targets/targets.json @@ -2,7 +2,7 @@ "base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/override_precidence/targets.json b/tools/test/config/override_precidence/targets.json index ebb4b1bdff..aed6cae53e 100644 --- a/tools/test/config/override_precidence/targets.json +++ b/tools/test/config/override_precidence/targets.json @@ -2,7 +2,7 @@ "base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "core": "Cortex-M0", "config": { "par1": "v_par1_base", diff --git a/tools/test/config/override_undefined/targets.json b/tools/test/config/override_undefined/targets.json index a30f2bc00b..0b2558ab7b 100644 --- a/tools/test/config/override_undefined/targets.json +++ b/tools/test/config/override_undefined/targets.json @@ -2,7 +2,7 @@ "first_base_target": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/override_undefined_libs/targets.json b/tools/test/config/override_undefined_libs/targets.json index bcbc77d5a3..f9d4fd3b5e 100644 --- a/tools/test/config/override_undefined_libs/targets.json +++ b/tools/test/config/override_undefined_libs/targets.json @@ -2,7 +2,7 @@ "base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/override_with_labels/targets.json b/tools/test/config/override_with_labels/targets.json index 095f989a99..cab869b909 100644 --- a/tools/test/config/override_with_labels/targets.json +++ b/tools/test/config/override_with_labels/targets.json @@ -2,7 +2,7 @@ "base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/range_limits/targets.json b/tools/test/config/range_limits/targets.json index adacab766f..176fa542d6 100644 --- a/tools/test/config/range_limits/targets.json +++ b/tools/test/config/range_limits/targets.json @@ -3,7 +3,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/range_limits_invalid/targets.json b/tools/test/config/range_limits_invalid/targets.json index f6b8239488..ceeb7061fb 100644 --- a/tools/test/config/range_limits_invalid/targets.json +++ b/tools/test/config/range_limits_invalid/targets.json @@ -3,7 +3,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_toolchains": ["GCC_ARM"], "supported_c_libs": { "arm": ["std"], diff --git a/tools/test/config/range_limits_override_invalid/targets.json b/tools/test/config/range_limits_override_invalid/targets.json index adacab766f..176fa542d6 100644 --- a/tools/test/config/range_limits_override_invalid/targets.json +++ b/tools/test/config/range_limits_override_invalid/targets.json @@ -3,7 +3,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/requires_exclude_in_include/targets.json b/tools/test/config/requires_exclude_in_include/targets.json index 24f496a0f6..9d684bebf7 100644 --- a/tools/test/config/requires_exclude_in_include/targets.json +++ b/tools/test/config/requires_exclude_in_include/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], @@ -16,7 +16,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/requires_from_lib/targets.json b/tools/test/config/requires_from_lib/targets.json index 33cdaf0c68..5ed87beea6 100644 --- a/tools/test/config/requires_from_lib/targets.json +++ b/tools/test/config/requires_from_lib/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/requires_include_in_exclude/targets.json b/tools/test/config/requires_include_in_exclude/targets.json index 24f496a0f6..9d684bebf7 100644 --- a/tools/test/config/requires_include_in_exclude/targets.json +++ b/tools/test/config/requires_include_in_exclude/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], @@ -16,7 +16,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/requires_omit_lib/targets.json b/tools/test/config/requires_omit_lib/targets.json index 24f496a0f6..9d684bebf7 100644 --- a/tools/test/config/requires_omit_lib/targets.json +++ b/tools/test/config/requires_omit_lib/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], @@ -16,7 +16,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/simple_features/targets.json b/tools/test/config/simple_features/targets.json index 33cdaf0c68..5ed87beea6 100644 --- a/tools/test/config/simple_features/targets.json +++ b/tools/test/config/simple_features/targets.json @@ -4,7 +4,7 @@ "core": "Cortex-M0", "extra_labels": [], "features": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/config/simple_iheritance/targets.json b/tools/test/config/simple_iheritance/targets.json index 7cd5383024..e14ab84951 100644 --- a/tools/test/config/simple_iheritance/targets.json +++ b/tools/test/config/simple_iheritance/targets.json @@ -2,7 +2,7 @@ "first_base": { "supported_toolchains": ["GCC_ARM"], "extra_labels": [], - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/targets/target_test.py b/tools/test/targets/target_test.py index 341186aa93..4214ba9902 100644 --- a/tools/test/targets/target_test.py +++ b/tools/test/targets/target_test.py @@ -102,7 +102,7 @@ def test_modify_existing_target(): "features": [], "detect_code": [], "public": false, - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], @@ -130,7 +130,7 @@ def test_modify_existing_target(): "features": [], "detect_code": [], "public": false, - "default_lib": "std", + "c_lib": "std", "supported_c_libs": { "arm": ["std"], "gcc_arm": ["std", "small"], diff --git a/tools/test/toolchains/test_toolchains.py b/tools/test/toolchains/test_toolchains.py index 8d23b12ee4..53a58ec00f 100644 --- a/tools/test/toolchains/test_toolchains.py +++ b/tools/test/toolchains/test_toolchains.py @@ -31,10 +31,10 @@ class TestArmToolchain(TestCase): mock_target = mock.MagicMock() mock_target.core = "Cortex-M4" 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_toolchains = ["ARM", "uARM", "ARMC5"] - + del mock_target.default_lib arm_std_obj = ARM_STD(mock_target) arm_micro_obj = ARM_MICRO(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_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.""" mock_target = mock.MagicMock() mock_target.core = "Cortex-M4" 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.supported_toolchains = ["ARM", "uARM", "ARMC5", "ARMC6"] 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("--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.""" mock_target = mock.MagicMock() mock_target.core = "Cortex-M4" mock_target.supported_toolchains = ["ARM", "uARM", "ARMC5"] 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"]} - 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) - 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) - 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.""" mock_target = mock.MagicMock() 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.default_toolchain = "ARM" 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) 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) class TestGccToolchain(TestCase): @@ -105,7 +108,8 @@ class TestGccToolchain(TestCase): mock_target.core = "Cortex-M4" mock_target.printf_lib = "minimal-printf" 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.is_TrustZone_secure_target = False @@ -127,12 +131,13 @@ class TestGccToolchain(TestCase): for i in minimal_printf_wraps: 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.""" mock_target = mock.MagicMock() mock_target.core = "Cortex-M4" 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.is_TrustZone_secure_target = False 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("--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.""" mock_target = mock.MagicMock() mock_target.core = "Cortex-M4" 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"]} - 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) - 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.""" mock_target = mock.MagicMock() 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.default_toolchain = "ARM" 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) class TestIarToolchain(TestCase): @@ -170,7 +177,8 @@ class TestIarToolchain(TestCase): mock_target.core = "Cortex-M4" mock_target.printf_lib = "minimal-printf" 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.is_TrustZone_secure_target = False @@ -178,35 +186,38 @@ class TestIarToolchain(TestCase): var = "-DMBED_MINIMAL_PRINTF" 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.""" mock_target = mock.MagicMock() mock_target.core = "Cortex-M4" 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.is_TrustZone_secure_target = False try: IAR(mock_target) 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.""" mock_target = mock.MagicMock() 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_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) - 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.""" mock_target = mock.MagicMock() 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_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) diff --git a/tools/toolchains/arm.py b/tools/toolchains/arm.py index ade499d357..08d301680e 100644 --- a/tools/toolchains/arm.py +++ b/tools/toolchains/arm.py @@ -81,7 +81,7 @@ class ARM(mbedToolchain): if ( 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']: self.flags['common'].append("-DMBED_RTOS_SINGLE_THREAD") @@ -573,7 +573,7 @@ class ARMC6(ARM_STD): if ( 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']: self.flags['common'].append("-DMBED_RTOS_SINGLE_THREAD") diff --git a/tools/toolchains/gcc.py b/tools/toolchains/gcc.py index 58f3d0957a..a55de6696a 100644 --- a/tools/toolchains/gcc.py +++ b/tools/toolchains/gcc.py @@ -50,14 +50,14 @@ class GCC(mbedToolchain): tool_path = TOOLCHAIN_PATHS['GCC_ARM'] # Add flags for current size setting - default_lib = "std" - if hasattr(target, "default_lib"): + c_lib = "std" + if hasattr(target, "c_lib"): self.check_c_lib_supported(target, "gcc_arm") - default_lib = target.default_lib + c_lib = target.c_lib 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"] self.flags["common"].extend(common_flags) self.flags["ld"].append("--specs=nano.specs") diff --git a/tools/toolchains/mbed_toolchain.py b/tools/toolchains/mbed_toolchain.py index 2e7606b7da..7039e32b33 100755 --- a/tools/toolchains/mbed_toolchain.py +++ b/tools/toolchains/mbed_toolchain.py @@ -1106,18 +1106,22 @@ class mbedToolchain(with_metaclass(ABCMeta, object)): """ 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. """ 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 ( hasattr(target, "supported_c_libs") == False 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( - UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(target.default_lib) + UNSUPPORTED_C_LIB_EXCEPTION_STRING.format(target.c_lib) ) @staticmethod