diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2021-10-17 18:18:56 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-17 18:18:56 +0200 |
| commit | eb69090e7b02e11fb74d9560fa9873c3a2fdefa8 (patch) | |
| tree | 9935b41d5262eb3ff60b5bbbddb8a3b3b95a76cd /src/bootstrap | |
| parent | 59dc2187adebcbe6fca9073b5410c51c64915f95 (diff) | |
| parent | ac298c9181a93a2fa8a041d9902a555a92faab6b (diff) | |
| download | rust-eb69090e7b02e11fb74d9560fa9873c3a2fdefa8.tar.gz rust-eb69090e7b02e11fb74d9560fa9873c3a2fdefa8.zip | |
Rollup merge of #89888 - rusticstuff:download-ci-llvm-apple-arm64, r=Mark-Simulacrum
Make `llvm.download-ci-llvm="if-available"` work for tier 2 targets with host tools `llvm.download-ci-llvm="if-available"` is used for most profiles configured via `x.py setup`. It allows downloading prebuilt LLVM tarballs from the CI artifacts for a configured list of platforms. Currently this list is restricted to tier 1 targets but it makes sense for all tier 2 targets with host tools.
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/bootstrap.py | 25 | ||||
| -rw-r--r-- | 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 e658d958d0a..9a48b768cb3 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) } |
