• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>