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

Publish NativeAOT compiler with NativeAOT #67742

Closed
Tracked by #93172
MichalStrehovsky opened this issue Apr 8, 2022 · 5 comments
Closed
Tracked by #93172

Publish NativeAOT compiler with NativeAOT #67742

MichalStrehovsky opened this issue Apr 8, 2022 · 5 comments

Comments

@MichalStrehovsky
Copy link
Member

Once crossgen2 is published with NativeAOT, we should publish the NativeAOT compiler the same way to keep them in sync.

@MichalStrehovsky MichalStrehovsky added this to the 7.0.0 milestone Apr 8, 2022
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Apr 8, 2022
@MichalStrehovsky MichalStrehovsky removed the untriaged New issue has not been triaged by the area owner label Apr 8, 2022
MichalStrehovsky added a commit to MichalStrehovsky/runtime that referenced this issue Aug 16, 2022
This is the same configuration that we ship crossgen2 with. It produces a lot smaller packages with faster startup time. Setting this as `CoreCLRILCompilerDir` ensures that this is the ILCompiler that we test, build crossgen2 with, and package.

I don't have high confidence that we can get dotnet#67742 in time for .NET 7 but since we still have some runway before .NET 7 snaps, checking this in as a plan B.

This change is temporary until dotnet#67742 is fixed.
@MichalStrehovsky MichalStrehovsky modified the milestones: 7.0.0, 8.0.0 Aug 16, 2022
MichalStrehovsky added a commit that referenced this issue Aug 16, 2022
This is the same configuration that we ship crossgen2 with. It produces a lot smaller packages with faster startup time. Setting this as `CoreCLRILCompilerDir` ensures that this is the ILCompiler that we test, build crossgen2 with, and package.

I don't have high confidence that we can get #67742 in time for .NET 7 but since we still have some runway before .NET 7 snaps, checking this in as a plan B.

This change is temporary until #67742 is fixed.
@filipnavara
Copy link
Member

FWIW aside from the work on getting the .csproj do the bootstrapping and publishing it seems to work. I compiled the ilc just fine into native code on osx-x64 and then used it to build some library tests.

@MichalStrehovsky
Copy link
Member Author

FWIW aside from the work on getting the .csproj do the bootstrapping and publishing it seems to work

Yes, that's basically where all the work is. We need to build with the live built compiler/runtime/libs, which makes things harder. Crossgen2 is already on that plan, but it's not straightforward to reuse that: https://github.com/dotnet/runtime/pull/67636/files

@filipnavara
Copy link
Member

It's quite reusable for the second step. Once you have some ilc then adapting the Crossgen2 .csproj logic works. It's a bit tricky to do all of this automatically though.

@agocke
Copy link
Member

agocke commented Jun 21, 2023

This work has been done

@agocke agocke closed this as completed Jun 21, 2023
@MichalStrehovsky
Copy link
Member Author

MichalStrehovsky commented Jun 22, 2023

This work has been done

This was tracking publishing with the live bits - without doing that, we'll still have issues like a couple months ago when we had to wait an extra release for the libc version switch to take effect because we're using lkg. We can say we're fine with that but wanted to call it out.

@ghost ghost locked as resolved and limited conversation to collaborators Jul 22, 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