Skip to content

Commit e5a6c4e

Browse files
committed
Fixes python3_d.dll build so that functions are forwarded to python35_d.dll
1 parent 59ecabd commit e5a6c4e

1 file changed

Lines changed: 32 additions & 3 deletions

File tree

PCbuild/python3dll.vcxproj

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@
6666
</ClCompile>
6767
<Link>
6868
<AdditionalDependencies>$(OutDir)$(TargetName)stub.lib</AdditionalDependencies>
69-
<ModuleDefinitionFile>$(PySourcePath)PC\python3.def</ModuleDefinitionFile>
69+
<ModuleDefinitionFile Condition="$(Configuration) != 'Debug'">$(PySourcePath)PC\python3.def</ModuleDefinitionFile>
70+
<ModuleDefinitionFile Condition="$(Configuration) == 'Debug'">$(IntDir)python3_d.def</ModuleDefinitionFile>
7071
<EntryPointSymbol>DllMain</EntryPointSymbol>
7172
</Link>
7273
<PreLinkEvent>
@@ -87,17 +88,45 @@
8788
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
8889
<ImportGroup Label="ExtensionTargets">
8990
</ImportGroup>
91+
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>
97+
<ReadLinesFromFile File="..\PC\python3.def">
98+
<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)" />
112+
<WriteLinesToFile File="$(IntDir)python3_d.def" Lines="@(_Lines->'%(New)')" />
113+
</Target>
114+
90115
<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>
91120
<ReadLinesFromFile File="..\PC\python3.def">
92-
<Output TaskParameter="Lines" ItemName="DefLines" />
121+
<Output TaskParameter="Lines" ItemName="_DefLines" />
93122
</ReadLinesFromFile>
94123
<PropertyGroup>
95124
<_Pattern>^[\w.]+=.+?\.([^ ]+).*$</_Pattern>
96125
<_Sub>$1</_Sub>
97126
</PropertyGroup>
98127
<ItemGroup>
99128
<_Lines Include="EXPORTS" />
100-
<_Symbols Include="@(DefLines)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(`%(Identity)`, `$(_Pattern)`))">
129+
<_Symbols Include="@(_DefLines)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(`%(Identity)`, `$(_Pattern)`))">
101130
<Symbol>$([System.Text.RegularExpressions.Regex]::Replace(`%(Identity)`, `$(_Pattern)`, `$(_Sub)`))</Symbol>
102131
</_Symbols>
103132
<_Lines Include="@(_Symbols->'%(Symbol)')" />

0 commit comments

Comments
 (0)