From ac298c9181a93a2fa8a041d9902a555a92faab6b Mon Sep 17 00:00:00 2001 From: Hans Kratz Date: Thu, 14 Oct 2021 19:37:26 +0200 Subject: [PATCH] Make `rust.download-ci-llvm="if-available"` work for tier 2 platforms. --- src/bootstrap/bootstrap.py | 25 +++++++++++++++++++++++-- src/bootstrap/config.rs | 24 +++++++++++++++++++++++- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index 0170be967e1..dc1447b4ae4 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -492,10 +492,11 @@ class RustBuild(object): def downloading_llvm(self): opt = self.get_toml('download-ci-llvm', 'llvm') - # This is currently all tier 1 targets (since others may not have CI - # artifacts) + # This is currently all tier 1 targets and tier 2 targets with host tools + # (since others may not have CI artifacts) # https://doc.rust-lang.org/rustc/platform-support.html#tier-1 supported_platforms = [ + # tier 1 "aarch64-unknown-linux-gnu", "i686-pc-windows-gnu", "i686-pc-windows-msvc", @@ -504,6 +505,26 @@ class RustBuild(object): "x86_64-apple-darwin", "x86_64-pc-windows-gnu", "x86_64-pc-windows-msvc", + # tier 2 with host tools + "aarch64-apple-darwin", + "aarch64-pc-windows-msvc", + "aarch64-unknown-linux-musl", + "arm-unknown-linux-gnueabi", + "arm-unknown-linux-gnueabihf", + "armv7-unknown-linux-gnueabihf", + "mips-unknown-linux-gnu", + "mips64-unknown-linux-gnuabi64", + "mips64el-unknown-linux-gnuabi64", + "mipsel-unknown-linux-gnu", + "powerpc-unknown-linux-gnu", + "powerpc64-unknown-linux-gnu", + "powerpc64le-unknown-linux-gnu", + "riscv64gc-unknown-linux-gnu", + "s390x-unknown-linux-gnu", + "x86_64-unknown-freebsd", + "x86_64-unknown-illumos", + "x86_64-unknown-linux-musl", + "x86_64-unknown-netbsd", ] return opt == "true" \ or (opt == "if-available" and self.build in supported_platforms) diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index 7818b8b7d51..96fc8b5a35b 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -765,10 +765,12 @@ impl Config { config.llvm_from_ci = match llvm.download_ci_llvm { Some(StringOrBool::String(s)) => { assert!(s == "if-available", "unknown option `{}` for download-ci-llvm", s); - // This is currently all tier 1 targets (since others may not have CI artifacts) + // This is currently all tier 1 targets and tier 2 targets with host tools + // (since others may not have CI artifacts) // https://doc.rust-lang.org/rustc/platform-support.html#tier-1 // FIXME: this is duplicated in bootstrap.py let supported_platforms = [ + // tier 1 "aarch64-unknown-linux-gnu", "i686-pc-windows-gnu", "i686-pc-windows-msvc", @@ -777,6 +779,26 @@ impl Config { "x86_64-apple-darwin", "x86_64-pc-windows-gnu", "x86_64-pc-windows-msvc", + // tier 2 with host tools + "aarch64-apple-darwin", + "aarch64-pc-windows-msvc", + "aarch64-unknown-linux-musl", + "arm-unknown-linux-gnueabi", + "arm-unknown-linux-gnueabihf", + "armv7-unknown-linux-gnueabihf", + "mips-unknown-linux-gnu", + "mips64-unknown-linux-gnuabi64", + "mips64el-unknown-linux-gnuabi64", + "mipsel-unknown-linux-gnu", + "powerpc-unknown-linux-gnu", + "powerpc64-unknown-linux-gnu", + "powerpc64le-unknown-linux-gnu", + "riscv64gc-unknown-linux-gnu", + "s390x-unknown-linux-gnu", + "x86_64-unknown-freebsd", + "x86_64-unknown-illumos", + "x86_64-unknown-linux-musl", + "x86_64-unknown-netbsd", ]; supported_platforms.contains(&&*config.build.triple) }