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

Make src/native/managed projects use Microsoft.DotNet.ILCompiler version from Version.props #100845

Merged

Conversation

elinor-fung
Copy link
Member

I also tried making it use the live build (elinor-fung/runtimeComponent-nativeaotLive). Works fine locally, but it would require having clr.aot+libs built before being able to build the cdac. We have cdac parented under the clr build now - I don't know that we'd want to pull it into a separate thing that requires subsets from multiple sub-partitions to have been built already.

Copy link
Contributor

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

Copy link
Member

@jkoritzinsky jkoritzinsky left a comment

Choose a reason for hiding this comment

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

We can start with this for now.

@elinor-fung elinor-fung merged commit 6b9381b into dotnet:main Apr 10, 2024
150 of 152 checks passed
@elinor-fung elinor-fung deleted the runtimeComponent-nativeaotVersion branch April 10, 2024 02:41
@MichalStrehovsky
Copy link
Member

We switched ILCompiler project to use ILCompiler package from the flow because we needed a more recent fix at one point, but we don't have a hard dependency on using it.

What's the reason to use the ILCompiler package reference here? The package reference can have potential codeflow problems (discussed in #89655 (comment) when ILCompiler was switched to this). We may need to switch to "whatever comes with dotnet we're using to build the repo" to work around if such codeflow problem is hit. I want to understand if such revert will be possible here too and the motivation for using the package in the first place.

@elinor-fung
Copy link
Member Author

We hit build breaks when integrating into installer. This was a mix of source build support (#100807 (comment)) and the infrastructure for src/native/managed relying on old behaviour in targets which we would have caught earlier if it used a newer version. It seemed consistency with other things in the repo around the version being used would be best, so I went for the package like ILCompiler.

Reverting should be possible and the same as what would need to happen for ILCompiler - remove the package reference and might need to (re-)disable in source build.

matouskozak pushed a commit to matouskozak/runtime that referenced this pull request Apr 30, 2024
…ion from Version.props (dotnet#100845)

- Use the version of Microsoft.DotNet.ILCompiler specified in Version.props when producing runtime components in src/native/managed via NativeAOT
  - This is the same version that `ILCompiler.csproj` / `ilc` itself uses to publish as NativeAOT
- Reduce the number of copies of the output by avoiding publishing and just running `LinkNative`
@github-actions github-actions bot locked and limited conversation to collaborators May 12, 2024
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.

3 participants