Define the managed dependencies of the crossgen-corelib.proj file through ProjectReferences#86735
Conversation
…ough ProjectReferences Instead of having an implicit ordering, directly add ProjectReference dependencies here to make it possible to "dotnet build" this project to crossgen corelib. This also fixes a long-standing bug from a clean build that you'd need to build clr.tools as dotnet-pgo wouldn't be built when just building clr.runtime+clr.corelib+clr.nativecorelib.
|
Tagging subscribers to this area: @hoyosjs Issue DetailsInstead of having an implicit ordering, directly add ProjectReference dependencies here to make it possible to "dotnet build" this project to crossgen corelib. This also fixes a long-standing bug from a clean build that you'd need to build clr.tools as dotnet-pgo wouldn't be built when just building clr.runtime+clr.corelib+clr.nativecorelib.
|
| <!-- Build crossgen2 that will be used to compile System.Private.CoreLib library for CoreCLR --> | ||
| <ProjectToBuild Condition="('$(CrossBuild)' == 'true' or '$(BuildArchitecture)' != '$(TargetArchitecture)') and '$(BuildArchitecture)' == 'x64'" Include="$(CoreClrProjectRoot)tools\aot\crossgen2\crossgen2_crossarch.csproj" Category="clr" /> | ||
| <ProjectToBuild Condition="!(('$(CrossBuild)' == 'true' or '$(BuildArchitecture)' != '$(TargetArchitecture)') and '$(BuildArchitecture)' == 'x64')" Include="$(CoreClrProjectRoot)tools\aot\crossgen2\crossgen2.csproj" Category="clr" /> |
There was a problem hiding this comment.
We don't need this anymore since we define this dependency through ProjectReferences now, which is nice.
|
|
||
| <Copy Condition="!$(BuildDll)" SourceFiles="$(CoreLibInputPath)" DestinationFiles="$(CoreLibOutputPath)" UseHardlinksIfPossible="true" /> | ||
|
|
||
| <Message Importance="High" Text="Crossgenning of System.Private.CoreLib succeeded. Finished at $(TIME)" /> |
There was a problem hiding this comment.
TIME was never set, so I figured we might as well remove it.
…source-build compatible.
sbomer
left a comment
There was a problem hiding this comment.
Question about the build ordering, otherwise LGTM, thanks!
|
Failures are known |
Instead of having an implicit ordering, directly add ProjectReference dependencies here to make it possible to "dotnet build" this project to crossgen corelib.
This also fixes a long-standing bug from a clean build that you'd need to build clr.tools as dotnet-pgo wouldn't be built when just building clr.runtime+clr.corelib+clr.nativecorelib.