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

Add basic RIDs for ios and tvos #31953

Merged
merged 1 commit into from
Feb 12, 2020
Merged

Add basic RIDs for ios and tvos #31953

merged 1 commit into from
Feb 12, 2020

Conversation

marek-safar
Copy link
Contributor

No description provided.

@stephentoub
Copy link
Member

cc: @bartonjs

@bartonjs
Copy link
Member

bartonjs commented Feb 8, 2020

Does it make sense to use ios/tvos with .NET Core without some other layers being involved?

The question is really "is there a sub-platform package where the RID-graph extensions can be registered, instead of the root set?". The answer might be no; but I feel like I have to ask 😄.

@marek-safar
Copy link
Contributor Author

@bartonjs I am not sure I follow your question. I follow documented naming convention and I also expect dotnet/runtime to build a specific version instead of root ID as the implementation has minimal version requirements.

"any",
"base"
],
"ios-arm64": [
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add iOS Simulator and Device as separate RIDs extending from the generic iOS RID.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that would mean the rid would need to be called something like iosdevice-arm64 and I don't think that's a good idea.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apple decided to split them up into two separate SDKs/targets so I don't think we have a choice.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ios-arm64 - device RID
ios-x64 - simulator RID

Both have parent RID ios. As I wrote above explicitly stating device in the RID is something I think we should try to avoid

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That will break down as soon as Apple introduces the rumored ARM MacBook. I really don't think we should bake in the assumption about which architectures are a device runtime vs. simulator runtime.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why? such device would use different RID called osx-arm64

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm talking about the iOS Simulator running on an ARM MacBook. We'd need to use a simulator build of the runtime there, not a device one.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, we don't know if simulator would be needed or not but even in that case the existing naming convention covers that with ios-arm64-jit like format.

Copy link
Member

@akoeplinger akoeplinger Feb 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We discussed offline and I wasn't aware of the "additional qualifiers" specified in https://github.com/dotnet/runtime/blob/acdb8696b02f18f2dc34286fb4ba3bd26ad14db4/src/libraries/Microsoft.NETCore.Platforms/readme.md#naming-convention

[additional qualifiers] can be things like aot. Used to further differentiate different platforms.

This settles my concern.

@bartonjs
Copy link
Member

My question is really "Is Microsoft.NETCore.Platforms the right place to define these RIDs?". For example, if running .NET on iOS or tvOS always requires some package like Xamarin.PlatformHost, then maybe these RID extensions belong in that layer.

If there's an effort to get "vanilla" .NET Core running on iOS, or there's no appropriate funnel out a layer, then here's fine.

@marek-safar
Copy link
Contributor Author

If there's an effort to get "vanilla" .NET Core running on iOS, or there's no appropriate funnel out a layer, then here's fine.

There is effort for .NET 5 to build ios version of all dotnet/runtime src/libraries and mono runtime. I think you can consider that as running .NET Core on iOS.

@marek-safar
Copy link
Contributor Author

/azp run runtime

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@marek-safar
Copy link
Contributor Author

/azp run runtime-live

@azure-pipelines
Copy link

No pipelines are associated with this pull request.

@marek-safar
Copy link
Contributor Author

Failures are unrelated #18090

@marek-safar marek-safar merged commit bd98efe into dotnet:master Feb 12, 2020
@marek-safar marek-safar deleted the rids branch February 12, 2020 18:00
@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants