<!-- List the projects that need to be built -->
<ItemGroup>
+ <Project Condition="$(SkipSOS) != 'true'" Include="ToolBox\SOS\NETCore\SOS.NETCore.csproj" />
<Project Include="mscorlib\System.Private.CoreLib.csproj" />
- <Project Include="mscorlib\facade\mscorlib.csproj" />
- <Project Include="mscorlib\ref\mscorlib.csproj" />
</ItemGroup>
<Import Project="..\dir.targets" />
<Import Project="..\dir.traversal.targets" />
- <ItemGroup>
- <BinariesToMove Include="$(BinDir)\facade\mscorlib.dll"/>
- </ItemGroup>
-
<Target Name="MovePostBuildBinaries" AfterTargets="Build">
<Move SourceFiles="@(BinariesToMove)"
DestinationFolder="$(BinDir)" />
</Target>
<ItemGroup>
- <PDBSToMove Include="$(BinDir)\facade\mscorlib.pdb"/>
+ <ILToCopy Include="$(BinDir)System.Private.CoreLib.dll"/>
<PDBSToMove Include="$(BinDir)System.Private.CoreLib.pdb"/>
</ItemGroup>
<PropertyGroup>
+ <CoreLibPath>$(BinDir)System.Private.CoreLib.dll</CoreLibPath>
<CoreLibPDBPath>$(BinDir)System.Private.CoreLib.pdb</CoreLibPDBPath>
</PropertyGroup>
+ <Target Name="CopyCoreLib" AfterTargets="Build">
+ <Copy Condition="Exists($(CoreLibPath))"
+ SourceFiles="@(ILToCopy)"
+ DestinationFolder="$(BinDir)IL" />
+ </Target>
+
<Target Name="MovePDB" AfterTargets="Build">
<Move Condition="Exists($(CoreLibPDBPath))"
SourceFiles="@(PDBSToMove)"
DestinationFolder="$(BinDir)PDB" />
</Target>
-</Project>
\ No newline at end of file
+ <PropertyGroup>
+ <RunEnforcePGO Condition="$(__EnforcePgo) == '1'">true</RunEnforcePGO>
+ <RunEnforcePGO Condition="$(__BuildArch) == 'arm' OR $(__BuildArch) == 'arm64'">false</RunEnforcePGO>
+ </PropertyGroup>
+
+ <Target Name="EnforcePGO" Condition="$(RunEnforcePGO) == 'true'" AfterTargets="Build">
+ <ItemGroup>
+ <PGOEnforcedFiles Include="$(BinDir)coreclr.dll" />
+ <PGOEnforcedFiles Include="$(BinDir)clrjit.dll" />
+ </ItemGroup>
+
+ <Message Text="Checking if the following DLLs are properly compiled with PGO" Importance="High" />
+ <Exec Command="python $(MSBuildThisFileDirectory)scripts\pgocheck.py @(PGOEnforcedFiles)" />
+ </Target>
+</Project>