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>{885D4898-D08D-4091-9C40-C700CFE3FC5A}</ProjectGuid> 71 <RootNamespace>python3dll</RootNamespace> 72 <Keyword>Win32Proj</Keyword> 73 <TargetName>python3</TargetName> 74 <SupportPGO>false</SupportPGO> 75 </PropertyGroup> 76 <Import Project="python.props" /> 77 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 78 <PropertyGroup Label="Configuration"> 79 <ConfigurationType>DynamicLibrary</ConfigurationType> 80 </PropertyGroup> 81 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 82 <ImportGroup Label="ExtensionSettings"> 83 </ImportGroup> 84 <ImportGroup Label="PropertySheets"> 85 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 86 <Import Project="pyproject.props" /> 87 </ImportGroup> 88 <PropertyGroup Label="UserMacros" /> 89 <PropertyGroup> 90 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 91 <_Machine>X86</_Machine> 92 <_Machine Condition="$(Platform) == 'x64'">X64</_Machine> 93 <_Machine Condition="$(Platform) == 'ARM'">ARM</_Machine> 94 <_Machine Condition="$(Platform) == 'ARM64'">ARM64</_Machine> 95 <ExtensionsToDeleteOnClean>$(ExtensionsToDeleteOnClean);$(IntDir)python3_d.def;$(IntDir)python3stub.def</ExtensionsToDeleteOnClean> 96 </PropertyGroup> 97 <ItemDefinitionGroup> 98 <ClCompile> 99 <BufferSecurityCheck>false</BufferSecurityCheck> 100 </ClCompile> 101 <Link> 102 <AdditionalDependencies>$(OutDir)$(TargetName)stub.lib</AdditionalDependencies> 103 <ModuleDefinitionFile Condition="$(Configuration) != 'Debug'">$(PySourcePath)PC\python3.def</ModuleDefinitionFile> 104 <ModuleDefinitionFile Condition="$(Configuration) == 'Debug'">$(IntDir)python3_d.def</ModuleDefinitionFile> 105 <EntryPointSymbol>DllMain</EntryPointSymbol> 106 </Link> 107 <PreLinkEvent> 108 <Command>lib /nologo /def:"$(IntDir)python3stub.def" /out:"$(OutDir)$(TargetName)stub.lib" /MACHINE:$(_Machine)</Command> 109 <Message>Rebuilding $(TargetName)stub.lib</Message> 110 <Outputs>$(OutDir)$(TargetName)stub.lib</Outputs> 111 </PreLinkEvent> 112 </ItemDefinitionGroup> 113 <ItemGroup> 114 <None Include="..\PC\python3.def" /> 115 </ItemGroup> 116 <ItemGroup> 117 <ClCompile Include="..\PC\python3dll.c" /> 118 </ItemGroup> 119 <ItemGroup> 120 <ResourceCompile Include="..\PC\python_nt.rc" /> 121 </ItemGroup> 122 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 123 <ImportGroup Label="ExtensionTargets"> 124 </ImportGroup> 125 126 <Target Name="BuildPython3_dDef" BeforeTargets="BuildStubDef" Condition="$(Configuration) == 'Debug'"> 127 <ItemGroup> 128 <_DefLines Remove="@(_DefLines)" /> 129 <_Lines Remove="@(_Lines)" /> 130 <_OriginalLines Remove="@(_OriginalLines)" /> 131 </ItemGroup> 132 <ReadLinesFromFile File="..\PC\python3.def"> 133 <Output TaskParameter="Lines" ItemName="_DefLines" /> 134 </ReadLinesFromFile> 135 <ReadLinesFromFile File="$(IntDir)python3_d.def" Condition="Exists('$(IntDir)python3_d.def')"> 136 <Output TaskParameter="Lines" ItemName="_OriginalLines" /> 137 </ReadLinesFromFile> 138 <PropertyGroup> 139 <_Pattern1>(=python$(MajorVersionNumber)$(MinorVersionNumber))\.</_Pattern1> 140 <_Sub1>$1_d.</_Sub1> 141 <_Pattern2>"python3"</_Pattern2> 142 <_Sub2>"python3_d"</_Sub2> 143 </PropertyGroup> 144 <ItemGroup> 145 <_Lines Include="@(_DefLines)"> 146 <New>$([System.Text.RegularExpressions.Regex]::Replace($([System.Text.RegularExpressions.Regex]::Replace(`%(Identity)`, `$(_Pattern1)`, `$(_Sub1)`)), `$(_Pattern2)`, `$(_Sub2)`))</New> 147 </_Lines> 148 </ItemGroup> 149 <MakeDir Directories="$(IntDir)" /> 150 <Message Text="Updating python3_d.def" Condition="@(_Lines->'%(New)') != @(_OriginalLines)" Importance="high" /> 151 <WriteLinesToFile File="$(IntDir)python3_d.def" Lines="@(_Lines->'%(New)')" Overwrite="true" 152 Condition="@(_Lines->'%(New)') != @(_OriginalLines)" /> 153 </Target> 154 155 <Target Name="BuildStubDef" BeforeTargets="PreLinkEvent"> 156 <ItemGroup> 157 <_DefLines Remove="@(_DefLines)" /> 158 <_Lines Remove="@(_Lines)" /> 159 <_OriginalLines Remove="@(_OriginalLines)" /> 160 </ItemGroup> 161 <ReadLinesFromFile File="..\PC\python3.def"> 162 <Output TaskParameter="Lines" ItemName="_DefLines" /> 163 </ReadLinesFromFile> 164 <ReadLinesFromFile File="$(IntDir)python3stub.def" Condition="Exists('$(IntDir)python3stub.def')"> 165 <Output TaskParameter="Lines" ItemName="_OriginalLines" /> 166 </ReadLinesFromFile> 167 <PropertyGroup> 168 <_Pattern>^[\w.]+=.+?\.([^ ]+).*$</_Pattern> 169 <_Sub>$1</_Sub> 170 </PropertyGroup> 171 <ItemGroup> 172 <_Lines Include="EXPORTS" /> 173 <_Symbols Include="@(_DefLines)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(`%(Identity)`, `$(_Pattern)`))"> 174 <Symbol>$([System.Text.RegularExpressions.Regex]::Replace(`%(Identity)`, `$(_Pattern)`, `$(_Sub)`))</Symbol> 175 </_Symbols> 176 <_Lines Include="@(_Symbols->'%(Symbol)')" /> 177 </ItemGroup> 178 <MakeDir Directories="$(IntDir)" /> 179 <Message Text="Updating python3stub.def" Condition="@(_Lines) != @(_OriginalLines)" Importance="high" /> 180 <WriteLinesToFile File="$(IntDir)python3stub.def" Lines="@(_Lines)" Overwrite="true" 181 Condition="@(_Lines) != @(_OriginalLines)" /> 182 </Target> 183</Project>