diff --git a/tools/build_api.py b/tools/build_api.py index f92007aa9b..8132b673cc 100644 --- a/tools/build_api.py +++ b/tools/build_api.py @@ -1072,20 +1072,10 @@ def get_unique_supported_toolchains(release_targets=None): If release_targets is not specified, then it queries all known targets """ - unique_supported_toolchains = [] - - if not release_targets: - for target in TARGET_NAMES: - for toolchain in TARGET_MAP[target].supported_toolchains: - if toolchain not in unique_supported_toolchains: - unique_supported_toolchains.append(toolchain) - else: - for target in release_targets: - for toolchain in target[1]: - if toolchain not in unique_supported_toolchains: - unique_supported_toolchains.append(toolchain) - - return unique_supported_toolchains + return [ + name for name, cls in TOOLCHAIN_CLASSES.items() + if cls.OFFICIALLY_SUPPORTED + ] def _lowercase_release_version(release_version): diff --git a/tools/toolchains/__init__.py b/tools/toolchains/__init__.py index 0953fa9d3a..40565603b4 100644 --- a/tools/toolchains/__init__.py +++ b/tools/toolchains/__init__.py @@ -48,6 +48,8 @@ CPU_COUNT_MIN = 1 CPU_COEF = 1 class mbedToolchain: + OFFICIALLY_SUPPORTED = False + # Verbose logging VERBOSE = True diff --git a/tools/toolchains/arm.py b/tools/toolchains/arm.py index 4c9cc04d8d..525b7171d1 100644 --- a/tools/toolchains/arm.py +++ b/tools/toolchains/arm.py @@ -337,6 +337,7 @@ class ARM(mbedToolchain): class ARM_STD(ARM): + OFFICIALLY_SUPPORTED = True def __init__(self, target, notify=None, macros=None, build_profile=None, build_dir=None): ARM.__init__(self, target, notify, macros, build_dir=build_dir, @@ -347,6 +348,7 @@ class ARM_STD(ARM): class ARM_MICRO(ARM): PATCHED_LIBRARY = False + OFFICIALLY_SUPPORTED = True def __init__(self, target, notify=None, macros=None, silent=False, extra_verbose=False, build_profile=None, build_dir=None): @@ -357,6 +359,7 @@ class ARM_MICRO(ARM): raise NotSupportedException("ARM/uARM compiler support is required for ARM build") class ARMC6(ARM_STD): + OFFICIALLY_SUPPORTED = False SHEBANG = "#! armclang -E --target=arm-arm-none-eabi -x c" SUPPORTED_CORES = ["Cortex-M0", "Cortex-M0+", "Cortex-M3", "Cortex-M4", "Cortex-M4F", "Cortex-M7", "Cortex-M7F", "Cortex-M7FD", diff --git a/tools/toolchains/gcc.py b/tools/toolchains/gcc.py index e1354ab01d..1ec8d8146b 100644 --- a/tools/toolchains/gcc.py +++ b/tools/toolchains/gcc.py @@ -25,6 +25,7 @@ from tools.hooks import hook_tool from tools.utils import run_cmd, NotSupportedException class GCC(mbedToolchain): + OFFICIALLY_SUPPORTED = True LINKER_EXT = '.ld' LIBRARY_EXT = '.a' diff --git a/tools/toolchains/iar.py b/tools/toolchains/iar.py index 00655df552..a56c8ad29c 100644 --- a/tools/toolchains/iar.py +++ b/tools/toolchains/iar.py @@ -24,6 +24,7 @@ from tools.hooks import hook_tool from tools.utils import run_cmd, NotSupportedException class IAR(mbedToolchain): + OFFICIALLY_SUPPORTED = True LIBRARY_EXT = '.a' LINKER_EXT = '.icf' STD_LIB_NAME = "%s.a"