-
Notifications
You must be signed in to change notification settings - Fork 10.1k
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
Use the live crossgen2 corresponding to the runtime we're building against #59551
base: main
Are you sure you want to change the base?
Changes from 4 commits
d37bcaf
ba39a92
ebccb58
9bee87d
dd60e20
363eb87
bef967b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -80,7 +80,8 @@ | |
<DefaultRuntimeFrameworkVersion Condition=" '$(IsServicingBuild)' != 'true' AND | ||
'%(TargetFramework)' == '${DefaultNetCoreTargetFramework}' AND | ||
'$(TargetLatestDotNetRuntime)' != 'false' ">${MicrosoftNETCoreAppRuntimeVersion}</DefaultRuntimeFrameworkVersion> | ||
<RuntimePackRuntimeIdentifiers Condition=" '$(DotNetBuildSourceOnly)' == 'true' ">$(TargetRuntimeIdentifier)</RuntimePackRuntimeIdentifiers> | ||
<!-- Workaround https://github.com/dotnet/sdk/pull/45487: The .NET SDK requires the crossgen2 host runtime identifier to be in the runtime pack runtime identifiers list. --> | ||
<RuntimePackRuntimeIdentifiers Condition="'$(DotNetBuildOrchestrator)' == 'true'">$(NETCoreSdkRuntimeIdentifier);$(TargetRuntimeIdentifier)</RuntimePackRuntimeIdentifiers> | ||
jkoritzinsky marked this conversation as resolved.
Show resolved
Hide resolved
|
||
</KnownFrameworkReference> | ||
|
||
<KnownAppHostPack Update="Microsoft.NETCore.App"> | ||
|
@@ -108,7 +109,7 @@ | |
<KnownCrossgen2Pack Update="Microsoft.NETCore.App.Crossgen2"> | ||
<Crossgen2PackVersion | ||
Condition=" '%(TargetFramework)' == '${DefaultNetCoreTargetFramework}' ">${MicrosoftNETCoreAppRuntimeVersion}</Crossgen2PackVersion> | ||
<Crossgen2RuntimeIdentifiers Condition=" '$(DotNetBuildSourceOnly)' == 'true' ">$(TargetRuntimeIdentifier)</Crossgen2RuntimeIdentifiers> | ||
<Crossgen2RuntimeIdentifiers Condition="'$(DotNetBuildOrchestrator)' == 'true'">$(NETCoreSdkRuntimeIdentifier);$(TargetRuntimeIdentifier)</Crossgen2RuntimeIdentifiers> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK this is a bit problematic. I was going to override the But if I now override that property then we don't restore the host crossgen2 pack anymore. Maybe we need an SDK change to allow a more fine-grained control over the pack RIDs that are being restored? I.e. there's already a property that controls the apphost pack's RID but there isn't one for the other packs: https://github.com/dotnet/sdk/blob/4a7aa40342ebf9095014de685fcb399c3e497db7/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets#L157 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I noticed that you are adding the host rid in https://github.com/dotnet/windowsdesktop/pull/4815/files. Why is that? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Yeah, we can't just override I think we need different/additional controls within the SDK to control which pack RIDs are restored instead of changing the SDK's understanding of its current RID.
In dotnet/windowsdesktop#4815 I don't need to add the host RID as we aren't changing the RID list there. We aren't changing the RID list as we never need to add the "target RID" to the list because we're never building windowsdesktop with a nonportable RID. |
||
</KnownCrossgen2Pack> | ||
|
||
<KnownILLinkPack Update="Microsoft.NET.ILLink.Tasks" Condition=" '$(DotNetBuildSourceOnly)' == 'true' "> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,8 +15,6 @@ | |
<RollForward>LatestPatch</RollForward> | ||
<!-- Precompile the shared framework with ReadyToRun. ReadyToRun is not currently supported on s390x or ppc64le or armv6 or loongarch64. --> | ||
<PublishReadyToRun Condition=" '$(TargetArchitecture)' == 's390x' OR '$(TargetArchitecture)' == 'armv6' OR '$(TargetArchitecture)' == 'ppc64le' OR '$(TargetArchitecture)' == 'loongarch64' ">false</PublishReadyToRun> | ||
<!-- VMR doesn't produce valid crossgen for the host/build machine https://github.com/dotnet/source-build/issues/3793 --> | ||
<PublishReadyToRun Condition=" '$(DotNetBuild)' == 'true' AND '$(Crossbuild)' == 'true' ">false</PublishReadyToRun> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. :) |
||
<PublishReadyToRun Condition=" '$(PublishReadyToRun)' == '' AND '$(Configuration)' != 'Debug' ">true</PublishReadyToRun> | ||
<!-- Don't use ReadyToRun when explicitly opted out --> | ||
<PublishReadyToRun Condition="'$(CrossgenOutput)' == 'false'">false</PublishReadyToRun> | ||
|
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.
Is this an SDK property?
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.
Yes, this is a property defined by the SDK that (by default) points to the portable RID graph that the SDK shipped with.