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

Clarification on runtime identifiers for OSX Universal binaries #37220

Open
1 task done
lostromb opened this issue Sep 22, 2023 · 2 comments
Open
1 task done

Clarification on runtime identifiers for OSX Universal binaries #37220

lostromb opened this issue Sep 22, 2023 · 2 comments
Labels

Comments

@lostromb
Copy link

Issue description

This is regarding the documentation page for Runtime Identifiers.

I am building a Nuget package that distributes native libraries for multiple platforms, one of them being MacOS. The libraries are compiled as a universal binary, meaning they support x64 and arm64 simultaneously. How do I best represent this platform using runtime identifiers in Nuget and with dotnet pack? My best guess is to package as /runtimes/osx/native/mylib.dylib, using "osx" without an architecture specifier, since by definition the universal binary should run on all architectures.

If this is true, I would appreciate a specific comment to clarify this in the documentation. Perhaps under "macOS RIDs" could be:

  • osx-x64 (Minimum OS version is macOS 10.12 Sierra)
  • osx-arm64
  • osx (For universal binaries supporting both x64 and arm64)

I have seen one package in the wild (Vosk) which includes a native binary under an "osx-universal" folder, but this seems to be proprietary and not linked to an actual runtime identifier, since osx-universal is not in the RID catalog.

Target framework

  • .NET Core 8.0
@dotnet-bot dotnet-bot added the ⌚ Not Triaged Not triaged label Sep 22, 2023
@gewarren
Copy link
Contributor

gewarren commented Apr 2, 2024

@terrajobst Can you help with this question?

@lostromb
Copy link
Author

lostromb commented May 4, 2024

I suppose this documentation page is kind of the wrong area as well, since I'm looking for guidance specifically on Nuget packaging. However, the most relevant Nuget doc on which paths to use for packaging all refer to runtime identifiers, which in turn leads to the page in question.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants