-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Promote aarch64-apple-ios-sim
to Tier 2
#428
Comments
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed. cc @rust-lang/compiler @rust-lang/compiler-contributors |
@badboy I tried to answer some of your questions on Zulip but you don't seem to be part of the server - do you mind joining? Github is not great for extended discussions (and also it will divide comments between here and zulip). |
Pinged you, I'm on that server, just under a different nick (should have figured that before...) |
As requested on Zulip, in the following are answers to the Tier 3 requirements. tl;dr: We're nearly good, I'll send a PR for documentation updates (tackling both Tier 3 and 2 requirements)
Existing targets +
Same as existing
None that I'm aware off.
Same as existing
I will see to get that documentation added.
Existing
Only overlaps with already existing |
…rt, r=Amanieu Add documentation for aarch64-apple-ios-sim target Documentation as requested for [MCP 428](rust-lang/compiler-team#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.
…rt, r=Amanieu Add documentation for aarch64-apple-ios-sim target Documentation as requested for [MCP 428](rust-lang/compiler-team#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.
@rustbot second |
rustbot seems having forgot to ... @rustbot label +final-comment-period |
@rustbot label -final-comment-period +major-change-accepted |
…imulacrum Build aarch64-apple-ios-sim as part of the full macOS build Part of the [MCP 428](rust-lang/compiler-team#428) to promote this target to Tier 2. This adds the aarch64-apple-ios-sim target as a tier 2 target, currently cross-compiled from our x86_64 apple builders. The compiler team has approved the addition per the MCP noted above, and the infrastructure team has not raised concerns with this addition at this time (as the CI time impact is expected to be minimal; this is only building std).
As per MCP#428[1] this target becomes Tier 2. [1]: rust-lang/compiler-team#428
…rk-Simulacrum Promote `aarch64-apple-ios-sim` to Tier 2 As per rust-lang/compiler-team#428 this target becomes Tier 2. --- I tested that the latest nightly has the target and I'm already building my project with that on CI and locally.
…rk-Simulacrum Promote `aarch64-apple-ios-sim` to Tier 2 As per rust-lang/compiler-team#428 this target becomes Tier 2. --- I tested that the latest nightly has the target and I'm already building my project with that on CI and locally.
Proposal
I propose to promote the
aarch64-apple-ios-sim
target to Tier 2.That target was introduced in PR #81966, by @deg4uss3r and myself.
Currently to build libraries/applications for iOS and run them in the iOS simulator on aarch64 macOS hardware one can use Nightly and build with
-Z build-std --target aarch64-apple-ios-sim
.With this target be Tier 2 the required artifacts will be shipped through
rustup
, and compilation will be possible on Release.The
aarch64-apple-ios-sim
targets the iOS simulator on macOS aarch64 machines.It is similar to the already existing
x86_64-apple-ios
andaarch64-apple-ios
targets (which are Tier 2).It is required because
aarch64-apple-ios
is only for iOS hardware.It is required on newer macOS aarch64 machines (also known as M1 or Apple silicon) to build for the iOS simulator.
The underlying LLVM target (
arm64-apple-ios14.0-simulator
) ensures that host libraries from the correct SDK are picked,instead of the iOS hardware target (
arm64-apple-ios
).Below the different requirements from the Tier 2 target policy are addressed.
It's useful for anyone on aarch64 macOS machines, targeting and testing iOS software.
aarch64-apple-ios
andx86_64-apple-ios
This target does not place any additional burden on Rust developers beyond what's already required by
aarch64-apple-ios
andx86_64-apple-ios
.[TODO: Where do we need to document this?]
Requires Xcode 12+ on macOS.
Otherwise equivalent to
x86_64-apple-ios
I suppose.New target with new underlying LLVM target.
Required on macOS aarch64 machines, because the underlying tooling requires different SDKs (and thus libraries).
core
is implemented fortarget_os = "ios"
, which applies here equally.Should be the same code generation backend as for
aarch64-apple-ios
, thus no deficiencies beyond that.Same as
aarch64-apple-ios
.Can't verify that before we tried it.
I don't expect challenges.
Simulator target. Would require to run on M1 hardware.
Code in core or std should only check
target_os = "ios"
, so if that's tested in the other targets already, we should be good without it here.Can't verify that before we tried it.
Can probably be build on x86_64 macOS machines.
Building on x86_64 macOS should work.
No changes.
Same requirements as
aarch64-apple-ios
andx86_64-apple-ios
target_os = "ios"
already exists.This target does not introduce any burden beyond that.
[TODO: Uhm, ok.]
aarch64-apple-ios-sim
is tier 3 right now.While introduced before the written target policy was published, it should fulfill all requirements there,
as it's mostly a fork of an even older target.
Mentors or Reviewers
If you have a reviewer or mentor in mind for this work, mention then
here. You can put your own name here if you are planning to mentor the
work.
Process
The main points of the Major Change Process are as follows:
@rustbot second
.-C flag
, then full team check-off is required.@rfcbot fcp merge
on either the MCP or the PR.You can read more about Major Change Proposals on forge.
Comments
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.
The text was updated successfully, but these errors were encountered: