-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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 NativeAOT to build #62569
Add NativeAOT to build #62569
Conversation
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
Tagging subscribers to this area: @hoyosjs Issue DetailsNativeAOT becomes part of the clr subset. The NativeAOT runtime and libraries are a clr.nativeaotlibs subset.
|
960b904
to
f1b7ff6
Compare
@@ -242,6 +257,22 @@ | |||
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\dotnet-pgo\dotnet-pgo-pack.proj" Pack="true" BuildInParallel="false" Category="clr" Condition="'$(DotNetBuildFromSource)' != 'true' and '$(RuntimeFlavor)' != 'Mono'"/> | |||
</ItemGroup> | |||
|
|||
<ItemGroup Condition="$(_subset.Contains('+clr.nativeaotlibs+')) and '$(NativeAotSupported)' == 'true'"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are non-coreclr pieces located under coreclr (same applies to tools) ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NativeAOT is a flavor of CoreCLR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So there is no runtime agnostic tool or assembly in NativeAOT right now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll be moving files out as we unify the runtimes. E.g. a lot of src\coreclr\nativeaot\System.Private.Reflection.Core\src is basically src\libraries\System.Reflection.MetadataLoadContext\src but they need to be unified as we figure out the right shape of a common reflection stack (also shared with Mono). There's also bits and pieces in NativeAOT's corelib that we would like to share. Now that we have the things here, it's easier to do such refactorings.
f1b7ff6
to
e68e265
Compare
Cc @safern @jkoritzinsky for general build-infra. This is enabling NativeAOT bits in the CoreCLR build. |
efa763b
to
a3ee002
Compare
@dotnet/runtime-infrastructure this is adding NativeAOT to the CLR build.
|
@@ -242,6 +257,22 @@ | |||
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\dotnet-pgo\dotnet-pgo-pack.proj" Pack="true" BuildInParallel="false" Category="clr" Condition="'$(DotNetBuildFromSource)' != 'true' and '$(RuntimeFlavor)' != 'Mono'"/> | |||
</ItemGroup> | |||
|
|||
<ItemGroup Condition="$(_subset.Contains('+clr.nativeaotlibs+')) and '$(NativeAotSupported)' == 'true'"> | |||
<ProjectToBuild Include="$(CoreClrProjectRoot)nativeaot\System.Private.CoreLib\src\System.Private.CoreLib.csproj" Category="clr" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not include these as a wildcard?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point! #62820
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than a question, LGTM
NativeAOT becomes part of the clr subset.
The NativeAOT runtime and libraries are a clr.nativeaotlibs subset.
The NativeAOT object writer (not built by default) is clr.objwriter subset.
The AOT compiler is part of the existing clr.tools subset.