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|Win32"> 5 <Configuration>Debug</Configuration> 6 <Platform>Win32</Platform> 7 </ProjectConfiguration> 8 <ProjectConfiguration Include="Debug|x64"> 9 <Configuration>Debug</Configuration> 10 <Platform>x64</Platform> 11 </ProjectConfiguration> 12 <ProjectConfiguration Include="PGInstrument|Win32"> 13 <Configuration>PGInstrument</Configuration> 14 <Platform>Win32</Platform> 15 </ProjectConfiguration> 16 <ProjectConfiguration Include="PGInstrument|x64"> 17 <Configuration>PGInstrument</Configuration> 18 <Platform>x64</Platform> 19 </ProjectConfiguration> 20 <ProjectConfiguration Include="PGUpdate|Win32"> 21 <Configuration>PGUpdate</Configuration> 22 <Platform>Win32</Platform> 23 </ProjectConfiguration> 24 <ProjectConfiguration Include="PGUpdate|x64"> 25 <Configuration>PGUpdate</Configuration> 26 <Platform>x64</Platform> 27 </ProjectConfiguration> 28 <ProjectConfiguration Include="Release|Win32"> 29 <Configuration>Release</Configuration> 30 <Platform>Win32</Platform> 31 </ProjectConfiguration> 32 <ProjectConfiguration Include="Release|x64"> 33 <Configuration>Release</Configuration> 34 <Platform>x64</Platform> 35 </ProjectConfiguration> 36 </ItemGroup> 37 <PropertyGroup Label="Globals"> 38 <ProjectGuid>{885D4898-D08D-4091-9C40-C700CFE3FC5A}</ProjectGuid> 39 <RootNamespace>python3dll</RootNamespace> 40 <Keyword>Win32Proj</Keyword> 41 <TargetName>python3</TargetName> 42 <SupportPGO>false</SupportPGO> 43 </PropertyGroup> 44 <Import Project="python.props" /> 45 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 46 <PropertyGroup Label="Configuration"> 47 <ConfigurationType>DynamicLibrary</ConfigurationType> 48 </PropertyGroup> 49 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 50 <ImportGroup Label="ExtensionSettings"> 51 </ImportGroup> 52 <ImportGroup Label="PropertySheets"> 53 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 54 <Import Project="pyproject.props" /> 55 </ImportGroup> 56 <PropertyGroup Label="UserMacros" /> 57 <PropertyGroup> 58 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> 59 <_Machine>X86</_Machine> 60 <_Machine Condition="$(Platform) == 'x64'">X64</_Machine> 61 <ExtensionsToDeleteOnClean>$(ExtensionsToDeleteOnClean);$(IntDir)python3_d.def;$(IntDir)python3stub.def</ExtensionsToDeleteOnClean> 62 </PropertyGroup> 63 <ItemDefinitionGroup> 64 <ClCompile> 65 <BufferSecurityCheck>false</BufferSecurityCheck> 66 </ClCompile> 67 <Link> 68 <AdditionalDependencies>$(OutDir)$(TargetName)stub.lib</AdditionalDependencies> 69 <ModuleDefinitionFile Condition="$(Configuration) != 'Debug'">$(PySourcePath)PC\python3.def</ModuleDefinitionFile> 70 <ModuleDefinitionFile Condition="$(Configuration) == 'Debug'">$(IntDir)python3_d.def</ModuleDefinitionFile> 71 <EntryPointSymbol>DllMain</EntryPointSymbol> 72 </Link> 73 <PreLinkEvent> 74 <Command>lib /nologo /def:"$(IntDir)python3stub.def" /out:"$(OutDir)$(TargetName)stub.lib" /MACHINE:$(_Machine)</Command> 75 <Message>Rebuilding $(TargetName)stub.lib</Message> 76 <Outputs>$(OutDir)$(TargetName)stub.lib</Outputs> 77 </PreLinkEvent> 78 </ItemDefinitionGroup> 79 <ItemGroup> 80 <None Include="..\PC\python3.def" /> 81 </ItemGroup> 82 <ItemGroup> 83 <ClCompile Include="..\PC\python3dll.c" /> 84 </ItemGroup> 85 <ItemGroup> 86 <ResourceCompile Include="..\PC\python_nt.rc" /> 87 </ItemGroup> 88 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 89 <ImportGroup Label="ExtensionTargets"> 90 </ImportGroup> 91 92 <Target Name="BuildPython3_dDef" BeforeTargets="BuildStubDef" Condition="$(Configuration) == 'Debug'"> 93 <ItemGroup> 94 <_DefLines Remove="@(_DefLines)" /> 95 <_Lines Remove="@(_Lines)" /> 96 <_OriginalLines Remove="@(_OriginalLines)" /> 97 </ItemGroup> 98 <ReadLinesFromFile File="..\PC\python3.def"> 99 <Output TaskParameter="Lines" ItemName="_DefLines" /> 100 </ReadLinesFromFile> 101 <ReadLinesFromFile File="$(IntDir)python3_d.def" Condition="Exists('$(IntDir)python3_d.def')"> 102 <Output TaskParameter="Lines" ItemName="_OriginalLines" /> 103 </ReadLinesFromFile> 104 <PropertyGroup> 105 <_Pattern1>(=python$(MajorVersionNumber)$(MinorVersionNumber))\.</_Pattern1> 106 <_Sub1>$1_d.</_Sub1> 107 <_Pattern2>"python3"</_Pattern2> 108 <_Sub2>"python3_d"</_Sub2> 109 </PropertyGroup> 110 <ItemGroup> 111 <_Lines Include="@(_DefLines)"> 112 <New>$([System.Text.RegularExpressions.Regex]::Replace($([System.Text.RegularExpressions.Regex]::Replace(`%(Identity)`, `$(_Pattern1)`, `$(_Sub1)`)), `$(_Pattern2)`, `$(_Sub2)`))</New> 113 </_Lines> 114 </ItemGroup> 115 <MakeDir Directories="$(IntDir)" /> 116 <Message Text="Updating python3_d.def" Condition="@(_Lines->'%(New)') != @(_OriginalLines)" Importance="high" /> 117 <WriteLinesToFile File="$(IntDir)python3_d.def" Lines="@(_Lines->'%(New)')" Overwrite="true" 118 Condition="@(_Lines->'%(New)') != @(_OriginalLines)" /> 119 </Target> 120 121 <Target Name="BuildStubDef" BeforeTargets="PreLinkEvent"> 122 <ItemGroup> 123 <_DefLines Remove="@(_DefLines)" /> 124 <_Lines Remove="@(_Lines)" /> 125 <_OriginalLines Remove="@(_OriginalLines)" /> 126 </ItemGroup> 127 <ReadLinesFromFile File="..\PC\python3.def"> 128 <Output TaskParameter="Lines" ItemName="_DefLines" /> 129 </ReadLinesFromFile> 130 <ReadLinesFromFile File="$(IntDir)python3stub.def" Condition="Exists('$(IntDir)python3stub.def')"> 131 <Output TaskParameter="Lines" ItemName="_OriginalLines" /> 132 </ReadLinesFromFile> 133 <PropertyGroup> 134 <_Pattern>^[\w.]+=.+?\.([^ ]+).*$</_Pattern> 135 <_Sub>$1</_Sub> 136 </PropertyGroup> 137 <ItemGroup> 138 <_Lines Include="EXPORTS" /> 139 <_Symbols Include="@(_DefLines)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(`%(Identity)`, `$(_Pattern)`))"> 140 <Symbol>$([System.Text.RegularExpressions.Regex]::Replace(`%(Identity)`, `$(_Pattern)`, `$(_Sub)`))</Symbol> 141 </_Symbols> 142 <_Lines Include="@(_Symbols->'%(Symbol)')" /> 143 </ItemGroup> 144 <MakeDir Directories="$(IntDir)" /> 145 <Message Text="Updating python3stub.def" Condition="@(_Lines) != @(_OriginalLines)" Importance="high" /> 146 <WriteLinesToFile File="$(IntDir)python3stub.def" Lines="@(_Lines)" Overwrite="true" 147 Condition="@(_Lines) != @(_OriginalLines)" /> 148 </Target> 149 </Project>