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
4 changed files with 28 additions and 3 deletions
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
|
@ -473,7 +473,7 @@ jobs:
|
||||||
os: windows-latest-xl
|
os: windows-latest-xl
|
||||||
- name: dist-x86_64-msvc
|
- name: dist-x86_64-msvc
|
||||||
env:
|
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
|
SCRIPT: python x.py dist
|
||||||
DIST_REQUIRE_ALL_TOOLS: 1
|
DIST_REQUIRE_ALL_TOOLS: 1
|
||||||
os: windows-latest-xl
|
os: windows-latest-xl
|
||||||
|
@ -483,6 +483,12 @@ jobs:
|
||||||
SCRIPT: python x.py dist
|
SCRIPT: python x.py dist
|
||||||
DIST_REQUIRE_ALL_TOOLS: 1
|
DIST_REQUIRE_ALL_TOOLS: 1
|
||||||
os: windows-latest-xl
|
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
|
- name: dist-i686-mingw
|
||||||
env:
|
env:
|
||||||
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu --enable-full-tools --enable-profiler"
|
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu --enable-full-tools --enable-profiler"
|
||||||
|
|
|
@ -576,7 +576,7 @@ jobs:
|
||||||
RUST_CONFIGURE_ARGS: >-
|
RUST_CONFIGURE_ARGS: >-
|
||||||
--build=x86_64-pc-windows-msvc
|
--build=x86_64-pc-windows-msvc
|
||||||
--host=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-full-tools
|
||||||
--enable-profiler
|
--enable-profiler
|
||||||
SCRIPT: python x.py dist
|
SCRIPT: python x.py dist
|
||||||
|
@ -595,6 +595,18 @@ jobs:
|
||||||
DIST_REQUIRE_ALL_TOOLS: 1
|
DIST_REQUIRE_ALL_TOOLS: 1
|
||||||
<<: *job-windows-xl
|
<<: *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
|
- name: dist-i686-mingw
|
||||||
env:
|
env:
|
||||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
|
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
|
||||||
|
|
|
@ -42,6 +42,13 @@ if isWindows; then
|
||||||
arch=x86_64
|
arch=x86_64
|
||||||
mingw_archive="${MINGW_ARCHIVE_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 "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}'"
|
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-apple-ios` | ✓[^apple] | | ARM64 iOS
|
||||||
`aarch64-fuchsia` | ✓ | | ARM64 Fuchsia
|
`aarch64-fuchsia` | ✓ | | ARM64 Fuchsia
|
||||||
`aarch64-linux-android` | ✓ | | ARM64 Android
|
`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-gnu` | ✓ | ✓ | ARM64 Linux (kernel 4.2, glibc 2.17)
|
||||||
`aarch64-unknown-linux-musl` | ✓ | ✓ | ARM64 Linux with MUSL
|
`aarch64-unknown-linux-musl` | ✓ | ✓ | ARM64 Linux with MUSL
|
||||||
`aarch64-unknown-none` | * | | Bare ARM64, hardfloat
|
`aarch64-unknown-none` | * | | Bare ARM64, hardfloat
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue