Adds a GitHub Actions CI build for aarch64-pc-windows-msvc via cross-compilation on an x86_64 host.
This promotes aarch64-pc-windows-msvc from a Tier 2 Compilation Target (std) to a Tier 2 Development Platform (std+rustc+cargo+tools). Fixes #72881
This commit is contained in:
parent
10ef7f9ebf
commit
0a4dc8bc16
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@ -473,7 +473,7 @@ jobs:
|
||||
os: windows-latest-xl
|
||||
- name: dist-x86_64-msvc
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc --enable-full-tools --enable-profiler"
|
||||
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc --enable-full-tools --enable-profiler"
|
||||
SCRIPT: python x.py dist
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
os: windows-latest-xl
|
||||
@ -483,6 +483,12 @@ jobs:
|
||||
SCRIPT: python x.py dist
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
os: windows-latest-xl
|
||||
- name: dist-aarch64-msvc
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=aarch64-pc-windows-msvc --enable-full-tools --enable-profiler"
|
||||
SCRIPT: python x.py dist
|
||||
DIST_REQUIRE_ALL_TOOLS: 0
|
||||
os: windows-latest-xl
|
||||
- name: dist-i686-mingw
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu --enable-full-tools --enable-profiler"
|
||||
|
@ -576,7 +576,7 @@ jobs:
|
||||
RUST_CONFIGURE_ARGS: >-
|
||||
--build=x86_64-pc-windows-msvc
|
||||
--host=x86_64-pc-windows-msvc
|
||||
--target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
|
||||
--target=x86_64-pc-windows-msvc
|
||||
--enable-full-tools
|
||||
--enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
@ -595,6 +595,18 @@ jobs:
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: dist-aarch64-msvc
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: >-
|
||||
--build=x86_64-pc-windows-msvc
|
||||
--host=aarch64-pc-windows-msvc
|
||||
--enable-full-tools
|
||||
--enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
# RLS does not build for aarch64-pc-windows-msvc. See rust-lang/rls#1693
|
||||
DIST_REQUIRE_ALL_TOOLS: 0
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: dist-i686-mingw
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
|
||||
|
@ -42,6 +42,13 @@ if isWindows; then
|
||||
arch=x86_64
|
||||
mingw_archive="${MINGW_ARCHIVE_64}"
|
||||
;;
|
||||
*aarch64*)
|
||||
# aarch64 is a cross-compiled target. Use the x86_64
|
||||
# mingw, since that's the host architecture.
|
||||
bits=64
|
||||
arch=x86_64
|
||||
mingw_archive="${MINGW_ARCHIVE_64}"
|
||||
;;
|
||||
*)
|
||||
echo "src/ci/scripts/install-mingw.sh can't detect the builder's architecture"
|
||||
echo "please tweak it to recognize the builder named '${CI_JOB_NAME}'"
|
||||
|
@ -60,7 +60,7 @@ target | std | host | notes
|
||||
`aarch64-apple-ios` | ✓[^apple] | | ARM64 iOS
|
||||
`aarch64-fuchsia` | ✓ | | ARM64 Fuchsia
|
||||
`aarch64-linux-android` | ✓ | | ARM64 Android
|
||||
`aarch64-pc-windows-msvc` | ✓ | | ARM64 Windows MSVC
|
||||
`aarch64-pc-windows-msvc` | ✓ | ✓ | ARM64 Windows MSVC
|
||||
`aarch64-unknown-linux-gnu` | ✓ | ✓ | ARM64 Linux (kernel 4.2, glibc 2.17)
|
||||
`aarch64-unknown-linux-musl` | ✓ | ✓ | ARM64 Linux with MUSL
|
||||
`aarch64-unknown-none` | * | | Bare ARM64, hardfloat
|
||||
|
Loading…
Reference in New Issue
Block a user