Rollup merge of #85781 - badboy:document-aarch-ios-sim-support, r=Amanieu

Add documentation for aarch64-apple-ios-sim target

Documentation as requested for [MCP 428](https://github.com/rust-lang/compiler-team/issues/428) to promote this target to Tier 2.

Currently it calls out that it's Tier 3. That should be changed if this target is promoted, but this PR could also land before that.

Note: probably should get signoff from the compiler team based on that MCP.
This commit is contained in:
Guillaume Gomez 2021-05-30 21:06:47 +02:00 committed by GitHub
commit 2d30bc78da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 59 additions and 2 deletions

View File

@ -13,6 +13,7 @@
- [JSON Output](json.md)
- [Tests](tests/index.md)
- [Platform Support](platform-support.md)
- [aarch64-apple-ios-sim](platform-support/aarch64-apple-ios-sim.md)
- [Target Tier Policy](target-tier-policy.md)
- [Targets](targets/index.md)
- [Built-in Targets](targets/built-in.md)

View File

@ -196,7 +196,7 @@ host tools.
target | std | host | notes
-------|:---:|:----:|-------
`aarch64-apple-ios-macabi` | ? | | Apple Catalyst on ARM64
`aarch64-apple-ios-sim` | ? | | Apple iOS Simulator on ARM64
[`aarch64-apple-ios-sim`](platform-support/aarch64-apple-ios-sim.md) | ✓ | | Apple iOS Simulator on ARM64
`aarch64-apple-tvos` | * | | ARM64 tvOS
`aarch64-unknown-freebsd` | ✓ | ✓ | ARM64 FreeBSD
`aarch64-unknown-hermit` | ? | |

View File

@ -0,0 +1,56 @@
# aarch64-apple-ios-sim
**Tier: 3**
Apple iOS Simulator on ARM64.
## Designated Developers
* [@badboy](https://github.com/badboy)
* [@deg4uss3r](https://github.com/deg4uss3r)
## Requirements
This target is cross-compiled.
To build this target Xcode 12 or higher on macOS is required.
## Building
The target can be built by enabling it for a `rustc` build:
```toml
[build]
build-stage = 1
target = ["aarch64-apple-ios-sim"]
```
## Cross-compilation
This target can be cross-compiled from `x86_64` or `aarch64` macOS hosts.
Other hosts are not supported for cross-compilation, but might work when also providing the required Xcode SDK.
## Testing
Currently there is no support to run the rustc test suite for this target.
## Building Rust programs
*Note: Building for this target requires the corresponding iOS SDK, as provided by Xcode 12+.*
If `rustc` has support for that target and the library artifacts are available,
then Rust programs can be built for that target:
```text
rustc --target aarch64-apple-ios-sim your-code.rs
```
On Rust Nightly it is possible to build without the target artifacts available:
```text
cargo build -Z build-std --target aarch64-apple-ios-sim
```
There is no easy way to run simple programs in the iOS simulator.
Static library builds can be embedded into iOS applications.

View File

@ -24,7 +24,7 @@ fn main() {
let doc_targets_md = std::fs::read_to_string(&src).expect("failed to read input source");
let doc_targets: HashSet<_> = doc_targets_md
.lines()
.filter(|line| line.starts_with('`') && line.contains('|'))
.filter(|line| line.starts_with(&['`', '['][..]) && line.contains('|'))
.map(|line| line.split('`').skip(1).next().expect("expected target code span"))
.collect();