mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="utf-8"?>
 | |
| <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | |
|   <PropertyGroup Label="Globals">
 | |
|     <__PyprojectClangCl_Props_Imported>true</__PyprojectClangCl_Props_Imported>
 | |
|   </PropertyGroup>
 | |
| 
 | |
|   <PropertyGroup>
 | |
|     <!-- CLANG_PROFILE_PATH is configurable for "remote PGO builds"
 | |
|          For convenience, we also accept paths without trailing slashes.
 | |
|     -->
 | |
|     <CLANG_PROFILE_PATH Condition="'$(CLANG_PROFILE_PATH)' == ''">$(OutDir)</CLANG_PROFILE_PATH>
 | |
|     <_CLANG_PROFILE_PATH>$(CLANG_PROFILE_PATH)</_CLANG_PROFILE_PATH>
 | |
|     <_CLANG_PROFILE_PATH Condition="!HasTrailingSlash($(_CLANG_PROFILE_PATH))">$(_CLANG_PROFILE_PATH)\</_CLANG_PROFILE_PATH>
 | |
|   </PropertyGroup>
 | |
| 
 | |
|   <ItemGroup>
 | |
|     <_profrawFiles Include="$(OutDir)instrumented\$(TargetName)_*.profraw" />
 | |
|   </ItemGroup>
 | |
| 
 | |
|   <Target Name="EnsureClangProfileData" BeforeTargets="PrepareForBuild"
 | |
|           Condition="'$(SupportPGO)' and $(Configuration) == 'PGUpdate'">
 | |
|     <Error Text="PGO run did not succeed (no $(TargetName)_*.profraw files) and there is no data to merge"
 | |
|            Condition="$(RequireProfileData) == 'true' and @(_profrawFiles) == ''" />
 | |
|   </Target>
 | |
| 
 | |
|   <Target Name="MergeClangProfileData" BeforeTargets="PrepareForBuild"
 | |
|           Condition="'$(SupportPGO)' and $(Configuration) == 'PGUpdate'"
 | |
|           Inputs="@(_profrawFiles)"
 | |
|           Outputs="$(OutDir)instrumented\profdata.profdata">
 | |
|     <Exec
 | |
|       Command='"$(LLVMInstallDir)\bin\llvm-profdata.exe" merge -output="$(OutDir)instrumented\profdata.profdata" "$(OutDir)instrumented\*_*.profraw"' />
 | |
|   </Target>
 | |
| 
 | |
|   <Target Name="CleanClangProfileData" BeforeTargets="Clean">
 | |
|     <Delete Files="@(_profrawFiles)" TreatErrorsAsWarnings="true" />
 | |
|     <Delete Files="$(OutDir)instrumented\profdata.profdata" TreatErrorsAsWarnings="true" />
 | |
|   </Target>
 | |
| 
 | |
|   <ItemDefinitionGroup>
 | |
|     <ClCompile>
 | |
|       <AdditionalOptions>-Wno-deprecated-non-prototype -Wno-unused-label -Wno-pointer-sign -Wno-incompatible-pointer-types-discards-qualifiers -Wno-unused-function %(AdditionalOptions)</AdditionalOptions>
 | |
|       <AdditionalOptions Condition="'$(Platform)' == 'Win32'">-m32 %(AdditionalOptions)</AdditionalOptions>
 | |
|       <AdditionalOptions Condition="'$(Platform)' == 'x64'">-m64 %(AdditionalOptions)</AdditionalOptions>
 | |
|       <AdditionalOptions Condition="$(Configuration) != 'Debug'">-flto=thin %(AdditionalOptions)</AdditionalOptions>
 | |
|       <AdditionalOptions Condition="$(SupportPGO) and $(Configuration) == 'PGInstrument'">-fprofile-instr-generate=$(_CLANG_PROFILE_PATH)$(TargetName)_%m.profraw %(AdditionalOptions)</AdditionalOptions>
 | |
|       <AdditionalOptions Condition="$(SupportPGO) and $(Configuration) == 'PGUpdate'">-fprofile-instr-use=$(OutDir)instrumented\profdata.profdata -Wno-profile-instr-unprofiled %(AdditionalOptions)</AdditionalOptions>
 | |
|     </ClCompile>
 | |
|   </ItemDefinitionGroup>
 | |
| 
 | |
| </Project>
 | 
