Skip to content

Commit e97ba4c

Browse files
authored
bpo-33614: Ensures module definition files for the stable ABI on Windows are correctly regenerated. (GH-7165)
1 parent c6c05d0 commit e97ba4c

File tree

3 files changed

+27
-5
lines changed

3 files changed

+27
-5
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Ensures module definition files for the stable ABI on Windows are correctly
2+
regenerated.

PCbuild/find_msbuild.bat

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,13 @@
4747
@exit /b 1
4848

4949
:found
50-
@echo Using %MSBUILD% (found in the %_Py_MSBuild_Source%)
50+
@pushd %MSBUILD% >nul 2>nul
51+
@if not ERRORLEVEL 1 @(
52+
@if exist msbuild.exe @(set MSBUILD="%CD%\msbuild.exe") else @(set MSBUILD=)
53+
@popd
54+
)
55+
56+
@if defined MSBUILD @echo Using %MSBUILD% (found in the %_Py_MSBuild_Source%)
57+
@if not defined MSBUILD @echo Failed to find MSBuild
5158
@set _Py_MSBuild_Source=
59+
@if not defined MSBUILD @exit /b 1

PCbuild/python3dll.vcxproj

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,18 @@
8989
<ImportGroup Label="ExtensionTargets">
9090
</ImportGroup>
9191

92-
<Target Name="BuildPython3_dDef" BeforeTargets="BuildStubDef" Inputs="..\PC\python3.def" Outputs="$(IntDir)python3_d.def" Condition="$(Configuration) == 'Debug'">
92+
<Target Name="BuildPython3_dDef" BeforeTargets="BuildStubDef" Condition="$(Configuration) == 'Debug'">
9393
<ItemGroup>
9494
<_DefLines Remove="@(_DefLines)" />
9595
<_Lines Remove="@(_Lines)" />
96+
<_OriginalLines Remove="@(_OriginalLines)" />
9697
</ItemGroup>
9798
<ReadLinesFromFile File="..\PC\python3.def">
9899
<Output TaskParameter="Lines" ItemName="_DefLines" />
99100
</ReadLinesFromFile>
101+
<ReadLinesFromFile File="$(IntDir)python3_d.def" Condition="Exists('$(IntDir)python3_d.def')">
102+
<Output TaskParameter="Lines" ItemName="_OriginalLines" />
103+
</ReadLinesFromFile>
100104
<PropertyGroup>
101105
<_Pattern1>(=python$(MajorVersionNumber)$(MinorVersionNumber))\.</_Pattern1>
102106
<_Sub1>$1_d.</_Sub1>
@@ -109,17 +113,23 @@
109113
</_Lines>
110114
</ItemGroup>
111115
<MakeDir Directories="$(IntDir)" />
112-
<WriteLinesToFile File="$(IntDir)python3_d.def" Lines="@(_Lines->'%(New)')" Overwrite="true" />
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)" />
113119
</Target>
114120

115-
<Target Name="BuildStubDef" BeforeTargets="PreLinkEvent" Inputs="..\PC\python3.def" Outputs="$(IntDir)python3stub.def">
121+
<Target Name="BuildStubDef" BeforeTargets="PreLinkEvent">
116122
<ItemGroup>
117123
<_DefLines Remove="@(_DefLines)" />
118124
<_Lines Remove="@(_Lines)" />
125+
<_OriginalLines Remove="@(_OriginalLines)" />
119126
</ItemGroup>
120127
<ReadLinesFromFile File="..\PC\python3.def">
121128
<Output TaskParameter="Lines" ItemName="_DefLines" />
122129
</ReadLinesFromFile>
130+
<ReadLinesFromFile File="$(IntDir)python3stub.def" Condition="Exists('$(IntDir)python3stub.def')">
131+
<Output TaskParameter="Lines" ItemName="_OriginalLines" />
132+
</ReadLinesFromFile>
123133
<PropertyGroup>
124134
<_Pattern>^[\w.]+=.+?\.([^ ]+).*$</_Pattern>
125135
<_Sub>$1</_Sub>
@@ -132,6 +142,8 @@
132142
<_Lines Include="@(_Symbols->'%(Symbol)')" />
133143
</ItemGroup>
134144
<MakeDir Directories="$(IntDir)" />
135-
<WriteLinesToFile File="$(IntDir)python3stub.def" Lines="@(_Lines)" Overwrite="true" />
145+
<Message Text="Updating python3stub.def" Condition="@(_OriginalLines) != @(_Lines)" Importance="high" />
146+
<WriteLinesToFile File="$(IntDir)python3stub.def" Lines="@(_Lines)" Overwrite="true"
147+
Condition="@(_DefLines) != @(_Lines)" />
136148
</Target>
137149
</Project>

0 commit comments

Comments
 (0)