Skip to content

Commit 6de928d

Browse files
committed
Auto merge of #126450 - madsmtm:promote-mac-catalyst, r=Mark-Simulacrum
Promote Mac Catalyst targets to Tier 2, and ship with rustup Promote the Mac Catalyst targets `x86_64-apple-ios-macabi` and `aarch64-apple-ios-macabi` to Tier 2, as per [the MCP](rust-lang/compiler-team#761) (see that for motivation and details). These targets are now also distributed with rustup, although without the sanitizer runtime, as that currently has trouble building, see #129069.
2 parents f04f6ca + 3ed63dd commit 6de928d

File tree

6 files changed

+22
-14
lines changed

6 files changed

+22
-14
lines changed

compiler/rustc_target/src/spec/targets/aarch64_apple_ios_macabi.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pub fn target() -> Target {
1010
llvm_target: mac_catalyst_llvm_target(arch).into(),
1111
metadata: crate::spec::TargetMetadata {
1212
description: Some("Apple Catalyst on ARM64".into()),
13-
tier: Some(3),
13+
tier: Some(2),
1414
host_tools: Some(false),
1515
std: Some(true),
1616
},

compiler/rustc_target/src/spec/targets/x86_64_apple_ios_macabi.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pub fn target() -> Target {
1010
llvm_target: mac_catalyst_llvm_target(arch).into(),
1111
metadata: crate::spec::TargetMetadata {
1212
description: Some("Apple Catalyst on x86_64".into()),
13-
tier: Some(3),
13+
tier: Some(2),
1414
host_tools: Some(false),
1515
std: Some(true),
1616
},

src/ci/github-actions/jobs.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,10 @@ auto:
285285

286286
- image: dist-apple-various
287287
env:
288-
SCRIPT: ./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim
289-
RUST_CONFIGURE_ARGS: --enable-sanitizers --enable-profiler --set rust.jemalloc
288+
SCRIPT: ./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim,aarch64-apple-ios-macabi,x86_64-apple-ios-macabi
289+
# Mac Catalyst cannot currently compile the sanitizer:
290+
# https://github.com/rust-lang/rust/issues/129069
291+
RUST_CONFIGURE_ARGS: --enable-sanitizers --enable-profiler --set rust.jemalloc --set target.aarch64-apple-ios-macabi.sanitizers=false --set target.x86_64-apple-ios-macabi.sanitizers=false
290292
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
291293
MACOSX_DEPLOYMENT_TARGET: 10.12
292294
SELECT_XCODE: /Applications/Xcode_14.3.1.app

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ so Rustup may install the documentation for a similar tier 1 target instead.
136136
target | std | notes
137137
-------|:---:|-------
138138
[`aarch64-apple-ios`](platform-support/apple-ios.md) | ✓ | ARM64 iOS
139+
[`aarch64-apple-ios-macabi`](platform-support/apple-ios-macabi.md) | ✓ | Mac Catalyst on ARM64
139140
[`aarch64-apple-ios-sim`](platform-support/apple-ios.md) | ✓ | Apple iOS Simulator on ARM64
140141
`aarch64-fuchsia` | ✓ | Alias for `aarch64-unknown-fuchsia`
141142
[`aarch64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | ARM64 Fuchsia
@@ -196,6 +197,7 @@ target | std | notes
196197
[`wasm32-wasip1`](platform-support/wasm32-wasip1.md) | ✓ | WebAssembly with WASI
197198
[`wasm32-wasip1-threads`](platform-support/wasm32-wasip1-threads.md) | ✓ | WebAssembly with WASI Preview 1 and threads
198199
[`x86_64-apple-ios`](platform-support/apple-ios.md) | ✓ | 64-bit x86 iOS
200+
[`x86_64-apple-ios-macabi`](platform-support/apple-ios-macabi.md) | ✓ | Mac Catalyst on x86_64
199201
[`x86_64-fortanix-unknown-sgx`](platform-support/x86_64-fortanix-unknown-sgx.md) | ✓ | [Fortanix ABI] for 64-bit Intel SGX
200202
`x86_64-fuchsia` | ✓ | Alias for `x86_64-unknown-fuchsia`
201203
[`x86_64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | 64-bit x86 Fuchsia
@@ -245,7 +247,6 @@ target | std | host | notes
245247
-------|:---:|:----:|-------
246248
[`arm64e-apple-ios`](platform-support/arm64e-apple-ios.md) | ✓ | | ARM64e Apple iOS
247249
[`arm64e-apple-darwin`](platform-support/arm64e-apple-darwin.md) | ✓ | ✓ | ARM64e Apple Darwin
248-
[`aarch64-apple-ios-macabi`](platform-support/apple-ios-macabi.md) | ✓ | | Apple Catalyst on ARM64
249250
[`aarch64-apple-tvos`](platform-support/apple-tvos.md) | ✓ | | ARM64 tvOS
250251
[`aarch64-apple-tvos-sim`](platform-support/apple-tvos.md) | ✓ | | ARM64 tvOS Simulator
251252
[`aarch64-apple-watchos`](platform-support/apple-watchos.md) | ✓ | | ARM64 Apple WatchOS
@@ -371,7 +372,6 @@ target | std | host | notes
371372
`thumbv7neon-unknown-linux-musleabihf` | ? | | Thumb2-mode Armv7-A Linux with NEON, musl 1.2.3
372373
[`wasm32-wasip2`](platform-support/wasm32-wasip2.md) | ✓ | | WebAssembly
373374
[`wasm64-unknown-unknown`](platform-support/wasm64-unknown-unknown.md) | ? | | WebAssembly
374-
[`x86_64-apple-ios-macabi`](platform-support/apple-ios-macabi.md) | ✓ | | Apple Catalyst on x86_64
375375
[`x86_64-apple-tvos`](platform-support/apple-tvos.md) | ✓ | | x86 64-bit tvOS
376376
[`x86_64-apple-watchos-sim`](platform-support/apple-watchos.md) | ✓ | | x86 64-bit Apple WatchOS simulator
377377
[`x86_64-pc-nto-qnx710`](platform-support/nto-qnx.md) | ✓ | | x86 64-bit QNX Neutrino 7.1 RTOS |

src/doc/rustc/src/platform-support/apple-ios-macabi.md

+12-8
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Apple Mac Catalyst targets.
44

5-
**Tier: 3**
5+
**Tier: 2 (without Host Tools)**
66

77
- `aarch64-apple-ios-macabi`: Mac Catalyst on ARM64.
88
- `x86_64-apple-ios-macabi`: Mac Catalyst on 64-bit x86.
@@ -32,15 +32,19 @@ case `IPHONEOS_DEPLOYMENT_TARGET`.
3232

3333
## Building the target
3434

35-
The targets can be built by enabling them for a `rustc` build in
36-
`config.toml`, by adding, for example:
37-
38-
```toml
39-
[build]
40-
target = ["aarch64-apple-ios-macabi", "x86_64-apple-ios-macabi"]
35+
The targets are distributed through `rustup`, and can be installed using one
36+
of:
37+
```console
38+
$ rustup target add aarch64-apple-ios-macabi
39+
$ rustup target add x86_64-apple-ios-macabi
4140
```
4241

43-
Using the unstable `-Zbuild-std` with a nightly Cargo may also work.
42+
### Sanitizers
43+
44+
Due to CMake having poor support for Mac Catalyst, sanitizer runtimes are not
45+
currently available, see [#129069].
46+
47+
[#129069]: https://github.com/rust-lang/rust/issues/129069
4448

4549
## Building Rust programs
4650

src/tools/build-manifest/src/main.rs

+2
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ static TARGETS: &[&str] = &[
5454
"arm64e-apple-darwin",
5555
"aarch64-apple-ios",
5656
"arm64e-apple-ios",
57+
"aarch64-apple-ios-macabi",
5758
"aarch64-apple-ios-sim",
5859
"aarch64-unknown-fuchsia",
5960
"aarch64-linux-android",
@@ -161,6 +162,7 @@ static TARGETS: &[&str] = &[
161162
"wasm32-wasip2",
162163
"x86_64-apple-darwin",
163164
"x86_64-apple-ios",
165+
"x86_64-apple-ios-macabi",
164166
"x86_64-fortanix-unknown-sgx",
165167
"x86_64-unknown-fuchsia",
166168
"x86_64-linux-android",

0 commit comments

Comments
 (0)