Skip to content
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

Enable building NativeAOT for Apple mobile platforms #81024

Closed
4 tasks done
Tracked by #80905
ivanpovazan opened this issue Jan 23, 2023 · 5 comments
Closed
4 tasks done
Tracked by #80905

Enable building NativeAOT for Apple mobile platforms #81024

ivanpovazan opened this issue Jan 23, 2023 · 5 comments
Assignees
Milestone

Comments

@ivanpovazan
Copy link
Member

ivanpovazan commented Jan 23, 2023

Description

dotnet/runtime currently does not support building NativeAOT subset (framework, SDK libraries and tools) for iOS platforms. Additionally, building an appropriate runtime NuGet package for these platforms is also unavailable.

Enable building NativeAOT subset and creating matching runtime NuGet packages for the following set of platforms (target operating system and architecture combinations):

  • iOS/tvOS (arm64)
  • iOS/tvOS Simulator (x64, arm64)
  • MacCatalyst (x64, arm64)

The feature should be conditionally included by introducing appropriate preprocessor directives

Remaining tasks:

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jan 23, 2023
@ghost
Copy link

ghost commented Jan 23, 2023

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.

Issue Details

null

Author: ivanpovazan
Assignees: -
Labels:

untriaged, area-NativeAOT-coreclr

Milestone: -

@ivanpovazan ivanpovazan added os-ios Apple iOS feature-request and removed untriaged New issue has not been triaged by the area owner labels Jan 23, 2023
@ghost
Copy link

ghost commented Jan 23, 2023

Tagging subscribers to 'os-ios': @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

dotnet/runtime currently does not support building NativeAOT subset (framework, SDK libraries and tools) for iOS platforms. Additionally, building an appropriate runtime NuGet package for these platforms is also unavailable.

Proposal

Enable building NativeAOT subset and creating matching runtime NuGet packages for the following set of platforms (target operating system and architecture combinations):
- ios-arm64
- ios-x64
- iossimulator-arm64
- iossimulator-x64

The feature should be conditionally included by introducing appropriate preprocessor directives

Author: ivanpovazan
Assignees: -
Labels:

os-ios, area-NativeAOT-coreclr

Milestone: -

@ivanpovazan ivanpovazan added this to the 8.0.0 milestone Jan 23, 2023
akoeplinger added a commit to akoeplinger/runtime that referenced this issue Feb 7, 2023
These changes allow the NativeAOT runtime to compile for and run on iOS, tvOS and MacCatalyst.

Contributes to dotnet#81024
@akoeplinger akoeplinger changed the title Enable building NativeAOT for iOS platforms Enable building NativeAOT for Apple mobile platforms Feb 7, 2023
@akoeplinger akoeplinger linked a pull request Feb 7, 2023 that will close this issue
akoeplinger added a commit to akoeplinger/runtime that referenced this issue Apr 19, 2023
@ivanpovazan
Copy link
Member Author

@akoeplinger
I was going through the tasks, listed in the issue description, and had a question regarding:

[ ] Properly implement targeting these platforms rather than pretending to be macOS

Were you referring to this workaround (and what is brings along):

target.IsOSXLike ? CORINFO_OS.CORINFO_MACOS : CORINFO_OS.CORINFO_UNIX;

@akoeplinger
Copy link
Member

@ivanpovazan yes, and that also has corresponding implications on the native side. When I initially tried this I was getting asserts in the ILCompiler so we'll probably need a bit of help from the NativeAOT side.

@ivanpovazan
Copy link
Member Author

ivanpovazan commented Jun 15, 2023

The remaining task:

  • Properly implement targeting these platforms rather than pretending to be macOS

is moved and tracked separately in the top-level tracking issue as it is identified as an improvement.

Closing this issue as all other tasks are completed.

@ghost ghost locked as resolved and limited conversation to collaborators Jul 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Archived in project
Development

No branches or pull requests

3 participants