diff --git a/eng/Subsets.props b/eng/Subsets.props
index 093120feb24111..2906f49cd76d73 100644
--- a/eng/Subsets.props
+++ b/eng/Subsets.props
@@ -357,9 +357,6 @@
-
-
-
diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj
index 7be878d4e19abf..0ee3d5185c1934 100644
--- a/src/coreclr/crossgen-corelib.proj
+++ b/src/coreclr/crossgen-corelib.proj
@@ -1,72 +1,85 @@
-
-
- $(TargetOS).$(TargetArchitecture).$(Configuration)
- $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))
- $([MSBuild]::NormalizeDirectory('$(RootBinDir)', 'log'))
- $([MSBuild]::NormalizeDirectory('$(RootBinDir)', 'bin', 'coreclr', $(OSPlatformConfig)))
- $([MSBuild]::NormalizeDirectory('$(RootBinDir)', 'obj', 'coreclr', $(OSPlatformConfig)))
- $([MSBuild]::NormalizePath('$(RepoRoot)', 'dotnet.sh'))
- $([MSBuild]::NormalizePath('$(RepoRoot)', 'dotnet.cmd'))
-
+
+
+
+
+
+
+
+
+ $(TargetOS).$(TargetArchitecture).$(Configuration)
+ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))
+ $([MSBuild]::NormalizeDirectory('$(RootBinDir)', 'log'))
+ $([MSBuild]::NormalizeDirectory('$(RootBinDir)', 'bin', 'coreclr', $(OSPlatformConfig)))
+ $([MSBuild]::NormalizeDirectory('$(RootBinDir)', 'obj', 'coreclr', $(OSPlatformConfig)))
+ $([MSBuild]::NormalizePath('$(RepoRoot)', 'dotnet.sh'))
+ $([MSBuild]::NormalizePath('$(RepoRoot)', 'dotnet.cmd'))
+
+
+
+ true
+ false
+ false
+
+ false
+ true
+
+ false
+ true
+
+
+
+
+
+
+
+ System.Private.CoreLib
+ $([MSBuild]::NormalizePath('$(BinDir)', '$(CoreLibAssemblyName).dll'))
+
+
+ $([MSBuild]::NormalizePath('$(BinDir)', 'PDB', '$(CoreLibAssemblyName).ni.pdb'))
+ $([MSBuild]::NormalizePath('$(BinDir)', '$(CoreLibAssemblyName).ni.r2rmap'))
+ $([MSBuild]::NormalizePath('$(BinDir)', 'StandardOptimizationData.mibc'))
+
+
+
-
- $(BuildArchitecture)
-
- true
- false
- false
-
- false
- true
-
- false
- true
+ $(DotNetCli) @(DotNetPgo) merge
+ $(DotNetPgoCmd) -o:$(MergedMibcPath)
+ $(DotNetPgoCmd) @(OptimizationMibcFiles->'-i:%(Identity)', ' ')
+ $(DotNetPgoCmd) --inherit-timestamp
+ $(DotNetPgoCmd) --compressed false
-
-
-
-
-
-
-
-
-
-
- System.Private.CoreLib
- $([MSBuild]::NormalizePath('$(BinDir)', 'IL', '$(CoreLibAssemblyName).dll'))
- $([MSBuild]::NormalizePath('$(BinDir)', '$(CoreLibAssemblyName).dll'))
-
-
- $([MSBuild]::NormalizePath('$(BinDir)', 'PDB', '$(CoreLibAssemblyName).ni.pdb'))
- $([MSBuild]::NormalizePath('$(BinDir)', '$(CoreLibAssemblyName).ni.r2rmap'))
- $([MSBuild]::NormalizePath('$(BinDir)', 'StandardOptimizationData.mibc'))
-
+
+
+ DependsOnTargets="ResolveProjectReferences;MergeMibcFiles" />
+
+
+
+
+
+
- $(DotNetCli) $([MSBuild]::NormalizePath('$(BinDir)', 'dotnet-pgo', 'dotnet-pgo.dll')) merge
- $(DotNetPgoCmd) -o:$(MergedMibcPath)
- $(DotNetPgoCmd) @(OptimizationMibcFiles->'-i:%(Identity)', ' ')
- $(DotNetPgoCmd) --inherit-timestamp
- $(DotNetPgoCmd) --compressed false
+ %(Crossgen2.RootDir)%(Crossgen2.Directory)
-
-
-
+
+
+
@@ -77,7 +90,7 @@
Text="Generating native image of System.Private.CoreLib for $(OSPlatformConfig). Logging to $(CrossGenCoreLibLog)" />
- $(DotNetCli) $([MSBuild]::NormalizePath('$(BinDir)', '$(CrossDir)', 'crossgen2', 'crossgen2.dll'))
+ $(DotNetCli) @(Crossgen2)
$(CrossGenDllCmd) -o:$(CoreLibOutputPath)
$(CrossGenDllCmd) -r:$([MSBuild]::NormalizePath('$(BinDir)', 'IL', '*.dll'))
$(CrossGenDllCmd) --targetarch:$(TargetArchitecture)
@@ -85,7 +98,7 @@
$(CrossGenDllCmd) -m:$(MergedMibcPath) --embed-pgo-data
$(CrossGenDllCmd) -O
$(CrossGenDllCmd) --verify-type-and-field-layout
- $(CrossGenDllCmd) $(CoreLibInputPath)
+ $(CrossGenDllCmd) @(CoreLib)
@@ -111,7 +124,7 @@
-
+