From 3c11e6f3c8de5482ddb36809b129179022f520a1 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Wed, 8 Jun 2022 09:10:22 +0200 Subject: [PATCH] support/scripts/gen-bootlin-toolchains: check that toolchains exists for a certain arch The "arches" dict lists the architectures for which Bootlin toolchains are available, along with the corresponding Buildroot conditions for those architecture variants. However, there is nothing that checks that such architectures really have Bootlin toolchains available. Even if no toolchain is available, the architecture is considered as support, and will be listed in the BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS option, making menuconfig believe that some Bootlin toolchain is available for the selected architecture variant. This is currently the case with the "mips64" architecture (as identified by the Bootlin toolchains project). Such toolchains have been made obsolete in toolchains.bootlin.com and replaced by the mips64-n32 toolchains. But "mips64" is still listed in "arches", causing this architecture to be considered as having Bootlin toolchains available. To avoid this to happen in the future, this commit adds a check that verifies that an architecture listed in "arches" really has at least one toolchain available. Signed-off-by: Thomas Petazzoni Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- support/scripts/gen-bootlin-toolchains | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains index ad65f9fe5e..36727c8fea 100755 --- a/support/scripts/gen-bootlin-toolchains +++ b/support/scripts/gen-bootlin-toolchains @@ -4,6 +4,7 @@ import os.path import re import requests import textwrap +import sys BASE_URL = "https://toolchains.bootlin.com/downloads/releases/toolchains" @@ -483,6 +484,10 @@ def get_toolchains(): version = parts[2][len("bleeding-edge-"):] tmp[(arch, libc, variant)] = version + if len(tmp) == 0: + print("ERROR: no toolchains found for architecture %s" % arch) + sys.exit(1) + toolchains += [Toolchain(k[0], k[1], k[2], v) for k, v in tmp.items()] return toolchains