Skip to content

Embed stable macOS identifiers in native runtime executables - #134985

Draft
mmitche wants to merge 1 commit into
dotnet:mainfrom
mmitche:dev/macos-stable-identifiers
Draft

mmitche wants to merge 1 commit into
dotnet:mainfrom
mmitche:dev/macos-stable-identifiers

Conversation

@mmitche

@mmitche mmitche commented Sep 30, 2026

Copy link
Copy Markdown
Member

Add a shared CMake plist helper for dotnet, createdump, corerun, ilasm, ildasm, and non-cross mono-sgen. Leave apphost templates and AOT tools unchanged.

Refs #134977

Add a shared CMake plist helper for dotnet, createdump, corerun, ilasm, ildasm, and non-cross mono-sgen. Leave apphost templates and AOT tools unchanged.

Refs dotnet#134977

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 5 pipeline(s).
11 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@mmitche
mmitche requested a review from hoyosjs October 1, 2026 21:14

@hoyosjs hoyosjs left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We will also want to get this to hosts that we use - though the important ones are the dotnet host and then createdump. Something like crossgen could probably benefit from this

target_link_libraries(corerun PRIVATE minipal)

if(CLR_CMAKE_TARGET_OSX)
set_macos_bundle_identifier(corerun com.microsoft.dotnet.corerun)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We don't ship this one. We can just let it be honestly

@mmitche

mmitche commented Oct 1, 2026

Copy link
Copy Markdown
Member Author

We will also want to get this to hosts that we use - though the important ones are the dotnet host and then createdump. Something like crossgen could probably benefit from this

Agreed. When I started extending out the fix to other executables, it got uglier than I wanted it to be.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

you can leave this one out since we'll be removing mono anyway

@@ -74,12 +75,16 @@ add_executable_clr(ilasm
${ILASM_RESOURCES}
)

if(CLR_CMAKE_TARGET_OSX)
set_macos_bundle_identifier(ilasm com.microsoft.dotnet.ilasm)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We're planning on moving ilasm away from C++. Is this something we need to preserve?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I think we'll need if shipping a native binary, otherwise we won't need it. I'd remove it for now. However, we might want to keep for servicing.

Copy link
Copy Markdown
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 eventually have some check in the VMR that all of our native macOS executables have a stable identifier

@mmitche

mmitche commented Oct 7, 2026

Copy link
Copy Markdown
Member Author

@hoyosjs Is going to take this over. FYI @rbhanda

@mmitche mmitche assigned hoyosjs and unassigned mmitche Oct 7, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

5 participants