From 1ee3db087b21f3e54a9d7dce60388d0b01fa5842 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand <ulrich.weigand@de.ibm.com> Date: Thu, 9 Sep 2021 18:27:09 +0200 Subject: [PATCH] [release/6.0] Support platforms where crossgen2 is not available (#36325) * Do not use crossgen2 when targeting s390x (where it is not supported) * Only reference "Microsoft.NETCore.App.Runtime.$(RuntimeIdentifier)" and "Microsoft.NETCore.App.Crossgen2.$(BuildOsName)-$(Crossgen2BuildArchitecture)" when actually using crossgen2. --- .../src/Microsoft.AspNetCore.App.Runtime.csproj | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj index 76362c47aad..101627fbfe0 100644 --- a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj +++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj @@ -42,7 +42,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant <!-- Pack .ni.r2rmap files in symbols package (native symbols for Linux) --> <AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder>$(AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder);.r2rmap</AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder> - <!-- Optimize the framework using the crossgen2 tool --> + <!-- Optimize the framework using the crossgen2 tool. Crossgen2 is not currently supported on s390x. --> + <CrossgenOutput Condition=" '$(TargetArchitecture)' == 's390x' ">false</CrossgenOutput> <CrossgenOutput Condition=" '$(CrossgenOutput)' == '' AND '$(Configuration)' != 'Debug' ">true</CrossgenOutput> <!-- Produce crossgen2 profiling symbols (.ni.pdb or .r2rmap files). --> @@ -120,7 +121,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant <IncludeAssets>Runtime;Native</IncludeAssets> </Reference> - <Reference Include="Microsoft.NETCore.App.Runtime.$(RuntimeIdentifier)" + <Reference Condition="'$(CrossgenOutput)' == 'true'" + Include="Microsoft.NETCore.App.Runtime.$(RuntimeIdentifier)" ExcludeAssets="All" PrivateAssets="All" GeneratePathProperty="true" /> @@ -129,7 +131,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant This package contains the crossgen2 tool. Unfortunately, it doesn't make the tool easy to use. $(GeneratePathProperty) and hacks in the _ExpandRuntimePackageRoot target work around the gaps. --> - <Reference Include="Microsoft.NETCore.App.Crossgen2.$(BuildOsName)-$(Crossgen2BuildArchitecture)" + <Reference Condition="'$(CrossgenOutput)' == 'true'" + Include="Microsoft.NETCore.App.Crossgen2.$(BuildOsName)-$(Crossgen2BuildArchitecture)" ExcludeAssets="All" PrivateAssets="All" GeneratePathProperty="true" /> -- GitLab