Skip to content

Commit d9b9316

Browse files
committed
Auto merge of rust-lang#75914 - arlosi:aarch64-ci, r=pietroalbini
Promote aarch64-pc-windows-msvc to Tier 2 Development Platform 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 rust-lang#72881 r? `@pietroalbini`
2 parents a8d6da3 + 0a4dc8b commit d9b9316

File tree

4 files changed

+28
-3
lines changed

4 files changed

+28
-3
lines changed

.github/workflows/ci.yml

+7-1
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ jobs:
384384
os: windows-latest-xl
385385
- name: dist-x86_64-msvc
386386
env:
387-
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"
387+
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"
388388
SCRIPT: python x.py dist
389389
DIST_REQUIRE_ALL_TOOLS: 1
390390
os: windows-latest-xl
@@ -394,6 +394,12 @@ jobs:
394394
SCRIPT: python x.py dist
395395
DIST_REQUIRE_ALL_TOOLS: 1
396396
os: windows-latest-xl
397+
- name: dist-aarch64-msvc
398+
env:
399+
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=aarch64-pc-windows-msvc --enable-full-tools --enable-profiler"
400+
SCRIPT: python x.py dist
401+
DIST_REQUIRE_ALL_TOOLS: 0
402+
os: windows-latest-xl
397403
- name: dist-i686-mingw
398404
env:
399405
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu --enable-full-tools --enable-profiler"

src/ci/github-actions/ci.yml

+13-1
Original file line numberDiff line numberDiff line change
@@ -597,7 +597,7 @@ jobs:
597597
RUST_CONFIGURE_ARGS: >-
598598
--build=x86_64-pc-windows-msvc
599599
--host=x86_64-pc-windows-msvc
600-
--target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
600+
--target=x86_64-pc-windows-msvc
601601
--enable-full-tools
602602
--enable-profiler
603603
SCRIPT: python x.py dist
@@ -616,6 +616,18 @@ jobs:
616616
DIST_REQUIRE_ALL_TOOLS: 1
617617
<<: *job-windows-xl
618618

619+
- name: dist-aarch64-msvc
620+
env:
621+
RUST_CONFIGURE_ARGS: >-
622+
--build=x86_64-pc-windows-msvc
623+
--host=aarch64-pc-windows-msvc
624+
--enable-full-tools
625+
--enable-profiler
626+
SCRIPT: python x.py dist
627+
# RLS does not build for aarch64-pc-windows-msvc. See rust-lang/rls#1693
628+
DIST_REQUIRE_ALL_TOOLS: 0
629+
<<: *job-windows-xl
630+
619631
- name: dist-i686-mingw
620632
env:
621633
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler

src/ci/scripts/install-mingw.sh

+7
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ if isWindows; then
4242
arch=x86_64
4343
mingw_archive="${MINGW_ARCHIVE_64}"
4444
;;
45+
*aarch64*)
46+
# aarch64 is a cross-compiled target. Use the x86_64
47+
# mingw, since that's the host architecture.
48+
bits=64
49+
arch=x86_64
50+
mingw_archive="${MINGW_ARCHIVE_64}"
51+
;;
4552
*)
4653
echo "src/ci/scripts/install-mingw.sh can't detect the builder's architecture"
4754
echo "please tweak it to recognize the builder named '${CI_JOB_NAME}'"

src/doc/rustc/src/platform-support.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ target | std | host | notes
6161
`aarch64-apple-ios` | ✓ | | ARM64 iOS
6262
`aarch64-fuchsia` | ✓ | | ARM64 Fuchsia
6363
`aarch64-linux-android` | ✓ | | ARM64 Android
64-
`aarch64-pc-windows-msvc` | ✓ | | ARM64 Windows MSVC
64+
`aarch64-pc-windows-msvc` | ✓ | | ARM64 Windows MSVC
6565
`aarch64-unknown-linux-gnu` | ✓ | ✓ | ARM64 Linux (kernel 4.2, glibc 2.17)
6666
`aarch64-unknown-linux-musl` | ✓ | ✓ | ARM64 Linux with MUSL
6767
`aarch64-unknown-none` | * | | Bare ARM64, hardfloat

0 commit comments

Comments
 (0)