blob: c66c8ef141a14861b779cda4d3aebbe4a0e7d079 [file] [log] [blame]
Brian Curtin401f9f32012-05-13 11:19:23 -05001<?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">
Steve Dower65e4cb12014-11-22 12:54:57 -08004 <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>
Brian Curtin401f9f32012-05-13 11:19:23 -050012 <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>
Steve Dower65e4cb12014-11-22 12:54:57 -080041 <TargetName>python3</TargetName>
Steve Dower65e4cb12014-11-22 12:54:57 -080042 <SupportPGO>false</SupportPGO>
Brian Curtin401f9f32012-05-13 11:19:23 -050043 </PropertyGroup>
Steve Dower65e4cb12014-11-22 12:54:57 -080044 <Import Project="python.props" />
Brian Curtin401f9f32012-05-13 11:19:23 -050045 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
Steve Dower65e4cb12014-11-22 12:54:57 -080046 <PropertyGroup Label="Configuration">
47 <ConfigurationType>DynamicLibrary</ConfigurationType>
Brian Curtin401f9f32012-05-13 11:19:23 -050048 </PropertyGroup>
49 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
50 <ImportGroup Label="ExtensionSettings">
51 </ImportGroup>
Steve Dower65e4cb12014-11-22 12:54:57 -080052 <ImportGroup Label="PropertySheets">
Brian Curtin401f9f32012-05-13 11:19:23 -050053 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
54 <Import Project="pyproject.props" />
Brian Curtin401f9f32012-05-13 11:19:23 -050055 </ImportGroup>
56 <PropertyGroup Label="UserMacros" />
57 <PropertyGroup>
58 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
Steve Dower65e4cb12014-11-22 12:54:57 -080059 <_Machine>X86</_Machine>
60 <_Machine Condition="$(Platform) == 'x64'">X64</_Machine>
Steve Dower945863a2016-07-13 19:58:21 -070061 <ExtensionsToDeleteOnClean>$(ExtensionsToDeleteOnClean);$(IntDir)python3_d.def;$(IntDir)python3stub.def</ExtensionsToDeleteOnClean>
Brian Curtin401f9f32012-05-13 11:19:23 -050062 </PropertyGroup>
63 <ItemDefinitionGroup>
Steve Dower65e4cb12014-11-22 12:54:57 -080064 <ClCompile>
65 <BufferSecurityCheck>false</BufferSecurityCheck>
66 </ClCompile>
67 <Link>
68 <AdditionalDependencies>$(OutDir)$(TargetName)stub.lib</AdditionalDependencies>
Steve Dowere5a6c4e2015-01-31 11:17:07 -080069 <ModuleDefinitionFile Condition="$(Configuration) != 'Debug'">$(PySourcePath)PC\python3.def</ModuleDefinitionFile>
70 <ModuleDefinitionFile Condition="$(Configuration) == 'Debug'">$(IntDir)python3_d.def</ModuleDefinitionFile>
Steve Dower65e4cb12014-11-22 12:54:57 -080071 <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>
Brian Curtin401f9f32012-05-13 11:19:23 -050078 </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>
Steve Dowere5a6c4e2015-01-31 11:17:07 -080091
92 <Target Name="BuildPython3_dDef" BeforeTargets="BuildStubDef" Inputs="..\PC\python3.def" Outputs="$(IntDir)python3_d.def" Condition="$(Configuration) == 'Debug'">
93 <ItemGroup>
94 <_DefLines Remove="@(_DefLines)" />
95 <_Lines Remove="@(_Lines)" />
96 </ItemGroup>
Steve Dower65e4cb12014-11-22 12:54:57 -080097 <ReadLinesFromFile File="..\PC\python3.def">
Steve Dowere5a6c4e2015-01-31 11:17:07 -080098 <Output TaskParameter="Lines" ItemName="_DefLines" />
99 </ReadLinesFromFile>
100 <PropertyGroup>
101 <_Pattern1>(=python$(MajorVersionNumber)$(MinorVersionNumber))\.</_Pattern1>
102 <_Sub1>$1_d.</_Sub1>
103 <_Pattern2>"python3"</_Pattern2>
104 <_Sub2>"python3_d"</_Sub2>
105 </PropertyGroup>
106 <ItemGroup>
107 <_Lines Include="@(_DefLines)">
108 <New>$([System.Text.RegularExpressions.Regex]::Replace($([System.Text.RegularExpressions.Regex]::Replace(`%(Identity)`, `$(_Pattern1)`, `$(_Sub1)`)), `$(_Pattern2)`, `$(_Sub2)`))</New>
109 </_Lines>
110 </ItemGroup>
111 <MakeDir Directories="$(IntDir)" />
Steve Dowerac2bd5b2015-07-03 09:08:47 -0700112 <WriteLinesToFile File="$(IntDir)python3_d.def" Lines="@(_Lines->'%(New)')" Overwrite="true" />
Steve Dowere5a6c4e2015-01-31 11:17:07 -0800113 </Target>
114
115 <Target Name="BuildStubDef" BeforeTargets="PreLinkEvent" Inputs="..\PC\python3.def" Outputs="$(IntDir)python3stub.def">
116 <ItemGroup>
117 <_DefLines Remove="@(_DefLines)" />
118 <_Lines Remove="@(_Lines)" />
119 </ItemGroup>
120 <ReadLinesFromFile File="..\PC\python3.def">
121 <Output TaskParameter="Lines" ItemName="_DefLines" />
Steve Dower65e4cb12014-11-22 12:54:57 -0800122 </ReadLinesFromFile>
123 <PropertyGroup>
124 <_Pattern>^[\w.]+=.+?\.([^ ]+).*$</_Pattern>
125 <_Sub>$1</_Sub>
126 </PropertyGroup>
127 <ItemGroup>
128 <_Lines Include="EXPORTS" />
Steve Dowere5a6c4e2015-01-31 11:17:07 -0800129 <_Symbols Include="@(_DefLines)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(`%(Identity)`, `$(_Pattern)`))">
Steve Dower65e4cb12014-11-22 12:54:57 -0800130 <Symbol>$([System.Text.RegularExpressions.Regex]::Replace(`%(Identity)`, `$(_Pattern)`, `$(_Sub)`))</Symbol>
131 </_Symbols>
132 <_Lines Include="@(_Symbols->'%(Symbol)')" />
133 </ItemGroup>
134 <MakeDir Directories="$(IntDir)" />
Steve Dowerac2bd5b2015-07-03 09:08:47 -0700135 <WriteLinesToFile File="$(IntDir)python3stub.def" Lines="@(_Lines)" Overwrite="true" />
Steve Dower65e4cb12014-11-22 12:54:57 -0800136 </Target>
Brian Curtin401f9f32012-05-13 11:19:23 -0500137</Project>