]> granicus.if.org Git - python/commitdiff
Fixes python3_d.dll build so that functions are forwarded to python35_d.dll
authorSteve Dower <steve.dower@microsoft.com>
Sat, 31 Jan 2015 19:17:07 +0000 (11:17 -0800)
committerSteve Dower <steve.dower@microsoft.com>
Sat, 31 Jan 2015 19:17:07 +0000 (11:17 -0800)
PCbuild/python3dll.vcxproj

index 4c5cd1e680bfb40f715e097920da57bbc02f1e4e..b03d09fa39f4a0f7b2007e62be06b5578d41fd20 100644 (file)
@@ -66,7 +66,8 @@
     </ClCompile>
     <Link>
       <AdditionalDependencies>$(OutDir)$(TargetName)stub.lib</AdditionalDependencies>
-      <ModuleDefinitionFile>$(PySourcePath)PC\python3.def</ModuleDefinitionFile>
+      <ModuleDefinitionFile Condition="$(Configuration) != 'Debug'">$(PySourcePath)PC\python3.def</ModuleDefinitionFile>
+      <ModuleDefinitionFile Condition="$(Configuration) == 'Debug'">$(IntDir)python3_d.def</ModuleDefinitionFile>
       <EntryPointSymbol>DllMain</EntryPointSymbol>
     </Link>
     <PreLinkEvent>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
+  
+  <Target Name="BuildPython3_dDef" BeforeTargets="BuildStubDef" Inputs="..\PC\python3.def" Outputs="$(IntDir)python3_d.def" Condition="$(Configuration) == 'Debug'">
+    <ItemGroup>
+      <_DefLines Remove="@(_DefLines)" />
+      <_Lines Remove="@(_Lines)" />
+    </ItemGroup>
+    <ReadLinesFromFile File="..\PC\python3.def">
+      <Output TaskParameter="Lines" ItemName="_DefLines" />
+    </ReadLinesFromFile>
+    <PropertyGroup>
+      <_Pattern1>(=python$(MajorVersionNumber)$(MinorVersionNumber))\.</_Pattern1>
+      <_Sub1>$1_d.</_Sub1>
+      <_Pattern2>"python3"</_Pattern2>
+      <_Sub2>"python3_d"</_Sub2>
+    </PropertyGroup>
+    <ItemGroup>
+      <_Lines Include="@(_DefLines)">
+        <New>$([System.Text.RegularExpressions.Regex]::Replace($([System.Text.RegularExpressions.Regex]::Replace(`%(Identity)`, `$(_Pattern1)`, `$(_Sub1)`)), `$(_Pattern2)`, `$(_Sub2)`))</New>
+      </_Lines>
+    </ItemGroup>
+    <MakeDir Directories="$(IntDir)" />
+    <WriteLinesToFile File="$(IntDir)python3_d.def" Lines="@(_Lines->'%(New)')" />
+  </Target>
+  
   <Target Name="BuildStubDef" BeforeTargets="PreLinkEvent" Inputs="..\PC\python3.def" Outputs="$(IntDir)python3stub.def">
+    <ItemGroup>
+      <_DefLines Remove="@(_DefLines)" />
+      <_Lines Remove="@(_Lines)" />
+    </ItemGroup>
     <ReadLinesFromFile File="..\PC\python3.def">
-      <Output TaskParameter="Lines" ItemName="DefLines" />
+      <Output TaskParameter="Lines" ItemName="_DefLines" />
     </ReadLinesFromFile>
     <PropertyGroup>
       <_Pattern>^[\w.]+=.+?\.([^ ]+).*$</_Pattern>
     </PropertyGroup>
     <ItemGroup>
       <_Lines Include="EXPORTS" />
-      <_Symbols Include="@(DefLines)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(`%(Identity)`, `$(_Pattern)`))">
+      <_Symbols Include="@(_DefLines)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch(`%(Identity)`, `$(_Pattern)`))">
         <Symbol>$([System.Text.RegularExpressions.Regex]::Replace(`%(Identity)`, `$(_Pattern)`, `$(_Sub)`))</Symbol>
       </_Symbols>
       <_Lines Include="@(_Symbols->'%(Symbol)')" />