summaryrefslogtreecommitdiff
path: root/src/build.proj
diff options
context:
space:
mode:
authorVictor "Nate" Graf <nategraf1@gmail.com>2017-08-08 11:14:42 -0700
committerGitHub <noreply@github.com>2017-08-08 11:14:42 -0700
commit488d562052e61dde32ff0593835acc2713e9a0d1 (patch)
treea7214b175fcadc9826bfb7bb672d47dbe5205d73 /src/build.proj
parentd0e76ed19b8578caf746b3a4faa324c521d6420e (diff)
downloadcoreclr-488d562052e61dde32ff0593835acc2713e9a0d1.tar.gz
coreclr-488d562052e61dde32ff0593835acc2713e9a0d1.tar.bz2
coreclr-488d562052e61dde32ff0593835acc2713e9a0d1.zip
Add build-time check to enforce PGO compilation for applicable DLL files (#13258)
* Added PGO execution verification script Added a script which can help verify whether or not PGO was used to compile PE files passed to it * Added target to enforce PGO compilation * Remove OS checking for enforcepgo
Diffstat (limited to 'src/build.proj')
-rw-r--r--src/build.proj14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/build.proj b/src/build.proj
index 7962d27e99..b59b00c00f 100644
--- a/src/build.proj
+++ b/src/build.proj
@@ -38,4 +38,18 @@
DestinationFolder="$(BinDir)PDB" />
</Target>
+ <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>