1<?xml version="1.0" encoding="utf-8"?> 2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 <ItemGroup Label="ProjectConfigurations"> 4 <ProjectConfiguration Include="Debug|ARM"> 5 <Configuration>Debug</Configuration> 6 <Platform>ARM</Platform> 7 </ProjectConfiguration> 8 <ProjectConfiguration Include="Debug|ARM64"> 9 <Configuration>Debug</Configuration> 10 <Platform>ARM64</Platform> 11 </ProjectConfiguration> 12 <ProjectConfiguration Include="Debug|Win32"> 13 <Configuration>Debug</Configuration> 14 <Platform>Win32</Platform> 15 </ProjectConfiguration> 16 <ProjectConfiguration Include="Debug|x64"> 17 <Configuration>Debug</Configuration> 18 <Platform>x64</Platform> 19 </ProjectConfiguration> 20 <ProjectConfiguration Include="PGInstrument|ARM"> 21 <Configuration>PGInstrument</Configuration> 22 <Platform>ARM</Platform> 23 </ProjectConfiguration> 24 <ProjectConfiguration Include="PGInstrument|ARM64"> 25 <Configuration>PGInstrument</Configuration> 26 <Platform>ARM64</Platform> 27 </ProjectConfiguration> 28 <ProjectConfiguration Include="PGInstrument|Win32"> 29 <Configuration>PGInstrument</Configuration> 30 <Platform>Win32</Platform> 31 </ProjectConfiguration> 32 <ProjectConfiguration Include="PGInstrument|x64"> 33 <Configuration>PGInstrument</Configuration> 34 <Platform>x64</Platform> 35 </ProjectConfiguration> 36 <ProjectConfiguration Include="PGUpdate|ARM"> 37 <Configuration>PGUpdate</Configuration> 38 <Platform>ARM</Platform> 39 </ProjectConfiguration> 40 <ProjectConfiguration Include="PGUpdate|ARM64"> 41 <Configuration>PGUpdate</Configuration> 42 <Platform>ARM64</Platform> 43 </ProjectConfiguration> 44 <ProjectConfiguration Include="PGUpdate|Win32"> 45 <Configuration>PGUpdate</Configuration> 46 <Platform>Win32</Platform> 47 </ProjectConfiguration> 48 <ProjectConfiguration Include="PGUpdate|x64"> 49 <Configuration>PGUpdate</Configuration> 50 <Platform>x64</Platform> 51 </ProjectConfiguration> 52 <ProjectConfiguration Include="Release|ARM"> 53 <Configuration>Release</Configuration> 54 <Platform>ARM</Platform> 55 </ProjectConfiguration> 56 <ProjectConfiguration Include="Release|ARM64"> 57 <Configuration>Release</Configuration> 58 <Platform>ARM64</Platform> 59 </ProjectConfiguration> 60 <ProjectConfiguration Include="Release|Win32"> 61 <Configuration>Release</Configuration> 62 <Platform>Win32</Platform> 63 </ProjectConfiguration> 64 <ProjectConfiguration Include="Release|x64"> 65 <Configuration>Release</Configuration> 66 <Platform>x64</Platform> 67 </ProjectConfiguration> 68 </ItemGroup> 69 <PropertyGroup Label="Globals"> 70 <ProjectGuid>{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}</ProjectGuid> 71 </PropertyGroup> 72 <Import Project="python.props" /> 73 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 74 <PropertyGroup Label="Configuration"> 75 <ConfigurationType>Application</ConfigurationType> 76 <UseOfMfc>false</UseOfMfc> 77 <CharacterSet>MultiByte</CharacterSet> 78 </PropertyGroup> 79 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 80 <ImportGroup Label="ExtensionSettings"> 81 </ImportGroup> 82 <ImportGroup Label="PropertySheets"> 83 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 84 <Import Project="pyproject.props" /> 85 <Import Project="tcltk.props" /> 86 </ImportGroup> 87 <PropertyGroup Label="UserMacros" /> 88 <PropertyGroup> 89 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 90 </PropertyGroup> 91 <ItemDefinitionGroup> 92 <ClCompile> 93 <PreprocessorDefinitions>Py_BUILD_CORE;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 94 </ClCompile> 95 <Link> 96 <SubSystem>Console</SubSystem> 97 <StackReserveSize Condition="$(Configuration) != 'Debug'">2000000</StackReserveSize> 98 <StackReserveSize Condition="$(Configuration) == 'Debug'">8000000</StackReserveSize> 99 </Link> 100 </ItemDefinitionGroup> 101 <ItemGroup> 102 <None Include="..\PC\pycon.ico" /> 103 </ItemGroup> 104 <ItemGroup> 105 <ResourceCompile Include="..\PC\python_exe.rc" /> 106 </ItemGroup> 107 <ItemGroup> 108 <ClCompile Include="..\Programs\python.c" /> 109 </ItemGroup> 110 <ItemGroup> 111 <ProjectReference Include="pythoncore.vcxproj"> 112 <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project> 113 <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 114 </ProjectReference> 115 </ItemGroup> 116 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 117 <ImportGroup Label="ExtensionTargets"> 118 <Import Project="regen.targets" /> 119 </ImportGroup> 120 <Target Name="_TriggerPostRegen" AfterTargets="Build" DependsOnTargets="PostBuildRegen" /> 121 <Target Name="GeneratePyBuildDirTxt" AfterTargets="Link"> 122 <Message Text="Generating $(OutDir)pybuilddir.txt" /> 123 <WriteLinesToFile File="$(OutDir)pybuilddir.txt" Lines="%0D%0A" Overwrite="true" /> 124 </Target> 125 <Target Name="ValidateUcrtbase" AfterTargets="AfterBuild" Condition="$(Configuration) != 'PGInstrument' and $(Platform) != 'ARM' and $(Platform) != 'ARM64'"> 126 <PropertyGroup> 127 <UcrtName>ucrtbase</UcrtName> 128 <UcrtName Condition="'$(Configuration)' == 'Debug'">ucrtbased</UcrtName> 129 </PropertyGroup> 130 <Exec Command='setlocal 131set PYTHONPATH=$(PySourcePath)Lib 132"$(OutDir)python$(PyDebugExt).exe" "$(PySourcePath)PC\validate_ucrtbase.py" $(UcrtName)' ContinueOnError="true" /> 133 </Target> 134 <Target Name="GeneratePythonBat" AfterTargets="AfterBuild"> 135 <PropertyGroup> 136 <_Content>@rem This script invokes the most recently built Python with all arguments 137@rem passed through to the interpreter. This file is generated by the 138@rem build process and any changes *will* be thrown away by the next 139@rem rebuild. 140@rem This is only meant as a convenience for developing CPython 141@rem and using it outside of that context is ill-advised. 142@echo Running $(Configuration)^|$(Platform) interpreter... 143@setlocal 144@set PYTHONHOME=$(PySourcePath) 145@"$(OutDir)python$(PyDebugExt).exe" %* 146</_Content> 147 <_ExistingContent Condition="Exists('$(PySourcePath)python.bat')">$([System.IO.File]::ReadAllText('$(PySourcePath)python.bat'))</_ExistingContent> 148 </PropertyGroup> 149 <WriteLinesToFile File="$(PySourcePath)python.bat" Lines="$(_Content)" Overwrite="true" Condition="'$(_Content)' != '$(_ExistingContent)'" /> 150 </Target> 151 <Target Name="CopyPGORT" AfterTargets="Link" Condition="$(Configuration) == 'PGInstrument'"> 152 <ItemGroup> 153 <_PGORT Include="$(VCToolsInstallDir)bin\Hostx86\x86\pgort140.dll" Condition="$(Platform) == 'Win32'" /> 154 <_PGORT Include="$(VCToolsInstallDir)bin\Hostx64\x64\pgort140.dll" Condition="$(Platform) == 'x64'" /> 155 <_PGORT Include="$(VCToolsInstallDir)bin\arm64\pgort140.dll" Condition="$(Platform) == 'ARM64'" /> 156 </ItemGroup> 157 <Warning Text="Unable to locate pgort140.dll for $(Platform)." Condition="@(_PGORT) == '' or !Exists(@(_PGORT))" /> 158 <Copy SourceFiles="@(_PGORT)" DestinationFolder="$(OutDir)"> 159 <Output TaskParameter="CopiedFiles" ItemName="FileWrites" /> 160 </Copy> 161 </Target> 162</Project> 163