Skip to content

Commit 09b4ad1

Browse files
authored
bpo-45188: Windows now regenerates frozen modules at the start of build instead of late (pythonGH-28322)
This will enable us to drop the frozen module header files from the repository. It does currently cause many source files to be built twice, which just takes more time. For whoever comes to fix this in the future, the files shared between freeze_module and pythoncore should be put into a static library that is consumed by both.
1 parent d897579 commit 09b4ad1

File tree

7 files changed

+278
-68
lines changed

7 files changed

+278
-68
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Windows builds now regenerate frozen modules as the first part of the build.
2+
Previously the regeneration was later in the build, which would require it
3+
to be restarted if any modules had changed.

PC/config_minimal.c

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/* Module configuration */
2+
3+
/* This file contains the table of built-in modules.
4+
See create_builtin() in import.c. */
5+
6+
#include "Python.h"
7+
8+
extern PyObject* PyInit_faulthandler(void);
9+
extern PyObject* PyInit__tracemalloc(void);
10+
extern PyObject* PyInit_gc(void);
11+
extern PyObject* PyInit_nt(void);
12+
extern PyObject* PyInit__signal(void);
13+
extern PyObject* PyInit_winreg(void);
14+
15+
extern PyObject* PyInit__ast(void);
16+
extern PyObject* PyInit__io(void);
17+
extern PyObject* PyInit_atexit(void);
18+
extern PyObject* _PyWarnings_Init(void);
19+
extern PyObject* PyInit__string(void);
20+
extern PyObject* PyInit__tokenize(void);
21+
22+
extern PyObject* PyMarshal_Init(void);
23+
extern PyObject* PyInit__imp(void);
24+
25+
struct _inittab _PyImport_Inittab[] = {
26+
{"_ast", PyInit__ast},
27+
{"faulthandler", PyInit_faulthandler},
28+
{"gc", PyInit_gc},
29+
{"nt", PyInit_nt}, /* Use the NT os functions, not posix */
30+
{"_signal", PyInit__signal},
31+
{"_tokenize", PyInit__tokenize},
32+
{"_tracemalloc", PyInit__tracemalloc},
33+
34+
{"winreg", PyInit_winreg},
35+
36+
/* This module "lives in" with marshal.c */
37+
{"marshal", PyMarshal_Init},
38+
39+
/* This lives it with import.c */
40+
{"_imp", PyInit__imp},
41+
42+
/* These entries are here for sys.builtin_module_names */
43+
{"builtins", NULL},
44+
{"sys", NULL},
45+
{"_warnings", _PyWarnings_Init},
46+
{"_string", PyInit__string},
47+
48+
{"_io", PyInit__io},
49+
{"atexit", PyInit_atexit},
50+
51+
/* Sentinel */
52+
{0, 0}
53+
};

PCbuild/_freeze_module.vcxproj

+134-23
Original file line numberDiff line numberDiff line change
@@ -88,24 +88,145 @@
8888
<PropertyGroup Label="UserMacros" />
8989
<ItemDefinitionGroup>
9090
<ClCompile>
91-
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
91+
<PreprocessorDefinitions>Py_NO_ENABLE_SHARED;Py_BUILD_CORE;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
9292
</ClCompile>
9393
<Link>
9494
<SubSystem>Console</SubSystem>
95+
<AdditionalDependencies>version.lib;shlwapi.lib;ws2_32.lib;pathcch.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
9596
</Link>
9697
</ItemDefinitionGroup>
9798
<ItemGroup>
9899
<ClCompile Include="..\Programs\_freeze_module.c" />
100+
<ClCompile Include="..\PC\config_minimal.c" />
99101
</ItemGroup>
100102
<ItemGroup>
101-
<ProjectReference Include="pythoncore.vcxproj">
102-
<Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
103-
<Private>true</Private>
104-
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
105-
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
106-
<LinkLibraryDependencies>true</LinkLibraryDependencies>
107-
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
108-
</ProjectReference>
103+
<ClCompile Include="..\Modules\atexitmodule.c" />
104+
<ClCompile Include="..\Modules\faulthandler.c" />
105+
<ClCompile Include="..\Modules\gcmodule.c" />
106+
<ClCompile Include="..\Modules\getbuildinfo.c" />
107+
<ClCompile Include="..\Modules\posixmodule.c" />
108+
<ClCompile Include="..\Modules\signalmodule.c" />
109+
<ClCompile Include="..\Modules\_tracemalloc.c" />
110+
<ClCompile Include="..\Modules\_io\_iomodule.c" />
111+
<ClCompile Include="..\Modules\_io\bufferedio.c" />
112+
<ClCompile Include="..\Modules\_io\bytesio.c" />
113+
<ClCompile Include="..\Modules\_io\fileio.c" />
114+
<ClCompile Include="..\Modules\_io\iobase.c" />
115+
<ClCompile Include="..\Modules\_io\stringio.c" />
116+
<ClCompile Include="..\Modules\_io\textio.c" />
117+
<ClCompile Include="..\Modules\_io\winconsoleio.c" />
118+
<ClCompile Include="..\Objects\abstract.c" />
119+
<ClCompile Include="..\Objects\accu.c" />
120+
<ClCompile Include="..\Objects\boolobject.c" />
121+
<ClCompile Include="..\Objects\bytearrayobject.c" />
122+
<ClCompile Include="..\Objects\bytes_methods.c" />
123+
<ClCompile Include="..\Objects\bytesobject.c" />
124+
<ClCompile Include="..\Objects\call.c" />
125+
<ClCompile Include="..\Objects\capsule.c" />
126+
<ClCompile Include="..\Objects\cellobject.c" />
127+
<ClCompile Include="..\Objects\classobject.c" />
128+
<ClCompile Include="..\Objects\codeobject.c" />
129+
<ClCompile Include="..\Objects\complexobject.c" />
130+
<ClCompile Include="..\Objects\descrobject.c" />
131+
<ClCompile Include="..\Objects\dictobject.c" />
132+
<ClCompile Include="..\Objects\enumobject.c" />
133+
<ClCompile Include="..\Objects\exceptions.c" />
134+
<ClCompile Include="..\Objects\fileobject.c" />
135+
<ClCompile Include="..\Objects\floatobject.c" />
136+
<ClCompile Include="..\Objects\frameobject.c" />
137+
<ClCompile Include="..\Objects\funcobject.c" />
138+
<ClCompile Include="..\Objects\genericaliasobject.c" />
139+
<ClCompile Include="..\Objects\genobject.c" />
140+
<ClCompile Include="..\Objects\interpreteridobject.c" />
141+
<ClCompile Include="..\Objects\iterobject.c" />
142+
<ClCompile Include="..\Objects\listobject.c" />
143+
<ClCompile Include="..\Objects\longobject.c" />
144+
<ClCompile Include="..\Objects\memoryobject.c" />
145+
<ClCompile Include="..\Objects\methodobject.c" />
146+
<ClCompile Include="..\Objects\moduleobject.c" />
147+
<ClCompile Include="..\Objects\namespaceobject.c" />
148+
<ClCompile Include="..\Objects\object.c" />
149+
<ClCompile Include="..\Objects\obmalloc.c" />
150+
<ClCompile Include="..\Objects\odictobject.c" />
151+
<ClCompile Include="..\Objects\picklebufobject.c" />
152+
<ClCompile Include="..\Objects\rangeobject.c" />
153+
<ClCompile Include="..\Objects\setobject.c" />
154+
<ClCompile Include="..\Objects\sliceobject.c" />
155+
<ClCompile Include="..\Objects\structseq.c" />
156+
<ClCompile Include="..\Objects\tupleobject.c" />
157+
<ClCompile Include="..\Objects\typeobject.c" />
158+
<ClCompile Include="..\Objects\unicodectype.c" />
159+
<ClCompile Include="..\Objects\unicodeobject.c" />
160+
<ClCompile Include="..\Objects\unionobject.c" />
161+
<ClCompile Include="..\Objects\weakrefobject.c" />
162+
<ClCompile Include="..\Parser\myreadline.c" />
163+
<ClCompile Include="..\Parser\parser.c" />
164+
<ClCompile Include="..\Parser\peg_api.c" />
165+
<ClCompile Include="..\Parser\pegen.c" />
166+
<ClCompile Include="..\Parser\string_parser.c" />
167+
<ClCompile Include="..\Parser\token.c" />
168+
<ClCompile Include="..\Parser\tokenizer.c" />
169+
<ClCompile Include="..\PC\getpathp.c" />
170+
<ClCompile Include="..\PC\invalid_parameter_handler.c" />
171+
<ClCompile Include="..\PC\msvcrtmodule.c" />
172+
<ClCompile Include="..\PC\winreg.c" />
173+
<ClCompile Include="..\Python\_warnings.c" />
174+
<ClCompile Include="..\Python\asdl.c" />
175+
<ClCompile Include="..\Python\ast.c" />
176+
<ClCompile Include="..\Python\ast_opt.c" />
177+
<ClCompile Include="..\Python\ast_unparse.c" />
178+
<ClCompile Include="..\Python\bltinmodule.c" />
179+
<ClCompile Include="..\Python\bootstrap_hash.c" />
180+
<ClCompile Include="..\Python\ceval.c" />
181+
<ClCompile Include="..\Python\codecs.c" />
182+
<ClCompile Include="..\Python\compile.c" />
183+
<ClCompile Include="..\Python\context.c" />
184+
<ClCompile Include="..\Python\dtoa.c" />
185+
<ClCompile Include="..\Python\dynamic_annotations.c" />
186+
<ClCompile Include="..\Python\dynload_win.c" />
187+
<ClCompile Include="..\Python\errors.c" />
188+
<ClCompile Include="..\Python\fileutils.c" />
189+
<ClCompile Include="..\Python\formatter_unicode.c" />
190+
<ClCompile Include="..\Python\frame.c" />
191+
<ClCompile Include="..\Python\future.c" />
192+
<ClCompile Include="..\Python\getargs.c" />
193+
<ClCompile Include="..\Python\getcompiler.c" />
194+
<ClCompile Include="..\Python\getcopyright.c" />
195+
<ClCompile Include="..\Python\getopt.c" />
196+
<ClCompile Include="..\Python\getplatform.c" />
197+
<ClCompile Include="..\Python\getversion.c" />
198+
<ClCompile Include="..\Python\hamt.c" />
199+
<ClCompile Include="..\Python\hashtable.c" />
200+
<ClCompile Include="..\Python\import.c" />
201+
<ClCompile Include="..\Python\importdl.c" />
202+
<ClCompile Include="..\Python\initconfig.c" />
203+
<ClCompile Include="..\Python\marshal.c" />
204+
<ClCompile Include="..\Python\modsupport.c" />
205+
<ClCompile Include="..\Python\mysnprintf.c" />
206+
<ClCompile Include="..\Python\mystrtoul.c" />
207+
<ClCompile Include="..\Python\pathconfig.c" />
208+
<ClCompile Include="..\Python\preconfig.c" />
209+
<ClCompile Include="..\Python\pyarena.c" />
210+
<ClCompile Include="..\Python\pyctype.c" />
211+
<ClCompile Include="..\Python\pyfpe.c" />
212+
<ClCompile Include="..\Python\pyhash.c" />
213+
<ClCompile Include="..\Python\pylifecycle.c" />
214+
<ClCompile Include="..\Python\pymath.c" />
215+
<ClCompile Include="..\Python\pystate.c" />
216+
<ClCompile Include="..\Python\pystrcmp.c" />
217+
<ClCompile Include="..\Python\pystrhex.c" />
218+
<ClCompile Include="..\Python\pystrtod.c" />
219+
<ClCompile Include="..\Python\Python-ast.c" />
220+
<ClCompile Include="..\Python\pythonrun.c" />
221+
<ClCompile Include="..\Python\Python-tokenize.c" />
222+
<ClCompile Include="..\Python\pytime.c" />
223+
<ClCompile Include="..\Python\specialize.c" />
224+
<ClCompile Include="..\Python\structmember.c" />
225+
<ClCompile Include="..\Python\suggestions.c" />
226+
<ClCompile Include="..\Python\symtable.c" />
227+
<ClCompile Include="..\Python\sysmodule.c" />
228+
<ClCompile Include="..\Python\thread.c" />
229+
<ClCompile Include="..\Python\traceback.c" />
109230
</ItemGroup>
110231
<ItemGroup>
111232
<!-- BEGIN frozen modules -->
@@ -126,17 +247,17 @@
126247
</None>
127248
<None Include="..\Tools\freeze\flag.py">
128249
<ModName>hello</ModName>
129-
<IntFile>$(IntDir)ello.g.h</IntFile>
250+
<IntFile>$(IntDir)hello.g.h</IntFile>
130251
<OutFile>$(PySourcePath)Python\frozen_modules\hello.h</OutFile>
131252
</None>
132253
<!-- END frozen modules -->
133254
</ItemGroup>
134255
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
135256
<ImportGroup Label="ExtensionTargets">
136257
</ImportGroup>
137-
<Target Name="_RebuildFrozen">
258+
<Target Name="_RebuildFrozen" AfterTargets="AfterBuild" Condition="$(Configuration) != 'PGUpdate'">
138259
<Exec Command='"$(TargetPath)" "%(None.ModName)" "%(None.FullPath)" "%(None.IntFile)"' />
139-
260+
140261
<Copy SourceFiles="%(None.IntFile)"
141262
DestinationFiles="%(None.OutFile)"
142263
Condition="!Exists(%(None.OutFile)) or (Exists(%(None.IntFile)) and '$([System.IO.File]::ReadAllText(%(None.OutFile)).Replace(`&#x0D;&#x0A;`, `&#x0A;`))' != '$([System.IO.File]::ReadAllText(%(None.IntFile)).Replace(`&#x0D;&#x0A;`, `&#x0A;`))')">
@@ -145,18 +266,8 @@
145266

146267
<Message Text="Updated files: @(_Updated->'%(Filename)%(Extension)',', ')"
147268
Condition="'@(_Updated)' != ''" Importance="high" />
148-
<Warning Text="Frozen modules (e.g. importlib) were updated. Please rebuild to pick up the changes.%0D%0A%0D%0AIf you are not developing on Windows but you see this error on a continuous integration build, please run 'make regen-all' and commit anything that changes."
149-
Condition="'@(_Updated)' != '' and $(Configuration) == 'Debug'" />
150-
<Error Text="Frozen (e.g. importlib) files were updated. Please rebuild to pick up the changes.%0D%0A%0D%0AIf you are not developing on Windows but you see this error on a continuous integration build, please run 'make regen-all' and commit anything that changes."
151-
Condition="'@(_Updated)' != '' and $(Configuration) == 'Release'" />
152-
</Target>
153-
<Target Name="RebuildFrozen" AfterTargets="AfterBuild" Condition="$(Configuration) == 'Debug' or $(Configuration) == 'Release'"
154-
DependsOnTargets="_RebuildFrozen">
155-
</Target>
156-
<Target Name="RebuildImportLib" AfterTargets="AfterBuild" Condition="$(Configuration) == 'Debug' or $(Configuration) == 'Release'"
157-
DependsOnTargets="_RebuildFrozen">
158269
</Target>
159-
<Target Name="_CleanFrozen" BeforeTargets="CoreClean">
270+
<Target Name="_CleanFrozen" BeforeTargets="CoreClean" Condition="$(Configuration) != 'PGUpdate'">
160271
<ItemGroup>
161272
<Clean Include="%(None.IntFile)" />
162273
</ItemGroup>

PCbuild/pcbuild.proj

+18-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,18 @@
1414
</PropertyGroup>
1515

1616
<ItemDefinitionGroup>
17+
<FreezeProjects>
18+
<Platform>$(Platform)</Platform>
19+
<Platform Condition="$(Platform) == 'ARM'">Win32</Platform>
20+
<Platform Condition="$(Platform) == 'ARM64'">x64</Platform>
21+
<Configuration>$(Configuration)</Configuration>
22+
<Configuration Condition="$(Configuration) == 'PGInstrument'">Release</Configuration>
23+
<Properties></Properties>
24+
<BuildTarget>Build</BuildTarget>
25+
<CleanTarget>Clean</CleanTarget>
26+
<CleanAllTarget>CleanAll</CleanAllTarget>
27+
<BuildInParallel>false</BuildInParallel>
28+
</FreezeProjects>
1729
<Projects>
1830
<Platform>$(Platform)</Platform>
1931
<Configuration>$(Configuration)</Configuration>
@@ -73,7 +85,7 @@
7385
</Projects>
7486

7587
<!-- _freeze_module -->
76-
<Projects2 Condition="$(Platform) != 'ARM' and $(Platform) != 'ARM64'" Include="_freeze_module.vcxproj" />
88+
<FreezeProjects Include="_freeze_module.vcxproj" />
7789
<!-- python[w].exe -->
7890
<Projects2 Include="python.vcxproj;pythonw.vcxproj" />
7991
<Projects2 Include="python_uwp.vcxproj;pythonw_uwp.vcxproj" Condition="$(IncludeUwp)" />
@@ -82,6 +94,11 @@
8294
</ItemGroup>
8395

8496
<Target Name="Build">
97+
<MSBuild Projects="@(FreezeProjects)"
98+
Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
99+
BuildInParallel="%(BuildInParallel)"
100+
StopOnFirstFailure="true"
101+
Targets="%(BuildTarget)" />
85102
<MSBuild Projects="@(Projects)"
86103
Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
87104
BuildInParallel="%(BuildInParallel)"

PCbuild/pcbuild.sln

+23-26
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python", "python.vcxproj",
1414
EndProjectSection
1515
EndProject
1616
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore", "pythoncore.vcxproj", "{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}"
17+
ProjectSection(ProjectDependencies) = postProject
18+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC} = {19C0C13F-47CA-4432-AFF3-799A296A4DDC}
19+
EndProjectSection
1720
EndProject
1821
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw", "pythonw.vcxproj", "{F4229CC3-873C-49AE-9729-DD308ED4CD4A}"
1922
EndProject
@@ -793,22 +796,6 @@ Global
793796
{D06B6426-4762-44CC-8BAD-D79052507F2F}.Release|Win32.Build.0 = Release|Win32
794797
{D06B6426-4762-44CC-8BAD-D79052507F2F}.Release|x64.ActiveCfg = Release|x64
795798
{D06B6426-4762-44CC-8BAD-D79052507F2F}.Release|x64.Build.0 = Release|x64
796-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|ARM.ActiveCfg = Debug|ARM
797-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|ARM64.ActiveCfg = Debug|Win32
798-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|Win32.ActiveCfg = Debug|Win32
799-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|x64.ActiveCfg = Release|x64
800-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGInstrument|ARM.ActiveCfg = PGInstrument|ARM
801-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGInstrument|ARM64.ActiveCfg = PGInstrument|Win32
802-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGInstrument|Win32.ActiveCfg = Release|Win32
803-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGInstrument|x64.ActiveCfg = Release|x64
804-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGUpdate|ARM.ActiveCfg = PGUpdate|ARM
805-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGUpdate|ARM64.ActiveCfg = PGUpdate|Win32
806-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGUpdate|Win32.ActiveCfg = Release|Win32
807-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGUpdate|x64.ActiveCfg = Release|x64
808-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Release|ARM.ActiveCfg = Release|ARM
809-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Release|ARM64.ActiveCfg = Release|Win32
810-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Release|Win32.ActiveCfg = Release|Win32
811-
{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Release|x64.ActiveCfg = Release|x64
812799
{447F05A8-F581-4CAC-A466-5AC7936E207E}.Debug|ARM.ActiveCfg = Debug|ARM
813800
{447F05A8-F581-4CAC-A466-5AC7936E207E}.Debug|ARM.Build.0 = Debug|ARM
814801
{447F05A8-F581-4CAC-A466-5AC7936E207E}.Debug|ARM64.ActiveCfg = Debug|ARM64
@@ -1059,20 +1046,30 @@ Global
10591046
{1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Release|Win32.Build.0 = Release|Win32
10601047
{1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Release|x64.ActiveCfg = Release|x64
10611048
{1D4B18D3-7C12-4ECB-9179-8531FF876CE6}.Release|x64.Build.0 = Release|x64
1062-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|ARM.ActiveCfg = Debug|ARM
1063-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|ARM64.ActiveCfg = Debug|ARM64
1049+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|ARM.ActiveCfg = Debug|Win32
1050+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|ARM.Build.0 = Debug|Win32
1051+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|ARM64.ActiveCfg = Debug|x64
1052+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|ARM64.Build.0 = Debug|x64
10641053
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|Win32.ActiveCfg = Debug|Win32
1054+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|Win32.Build.0 = Debug|Win32
10651055
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|x64.ActiveCfg = Debug|x64
1066-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|ARM.ActiveCfg = PGInstrument|ARM
1067-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|ARM64.ActiveCfg = PGInstrument|ARM64
1056+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Debug|x64.Build.0 = Debug|x64
1057+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|ARM.ActiveCfg = Release|Win32
1058+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|ARM.Build.0 = Release|Win32
1059+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|ARM64.ActiveCfg = Release|x64
1060+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|ARM64.Build.0 = Release|x64
10681061
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|Win32.ActiveCfg = Release|Win32
1069-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|x64.ActiveCfg = Release|Win32
1070-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|ARM.ActiveCfg = PGUpdate|ARM
1071-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|ARM64.ActiveCfg = PGUpdate|ARM64
1062+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|Win32.Build.0 = Release|Win32
1063+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|x64.ActiveCfg = Release|x64
1064+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGInstrument|x64.Build.0 = Release|x64
1065+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|ARM.ActiveCfg = Release|Win32
1066+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|ARM64.ActiveCfg = Release|x64
10721067
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|Win32.ActiveCfg = Release|Win32
1073-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|x64.ActiveCfg = Release|Win32
1074-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|ARM.ActiveCfg = Release|ARM
1075-
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|ARM64.ActiveCfg = Release|ARM64
1068+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.PGUpdate|x64.ActiveCfg = Release|x64
1069+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|ARM.ActiveCfg = Release|Win32
1070+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|ARM.Build.0 = Release|Win32
1071+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|ARM64.ActiveCfg = Release|x64
1072+
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|ARM64.Build.0 = Release|x64
10761073
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|Win32.ActiveCfg = Release|Win32
10771074
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|Win32.Build.0 = Release|Win32
10781075
{19C0C13F-47CA-4432-AFF3-799A296A4DDC}.Release|x64.ActiveCfg = Release|x64

Programs/_freeze_module.c

-5
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,7 @@ static const struct _frozen _PyImport_FrozenModules[] = {
2525
{0, 0, 0} /* sentinel */
2626
};
2727

28-
#ifndef MS_WINDOWS
29-
/* On Windows, this links with the regular pythonXY.dll, so this variable comes
30-
from frozen.obj. In the Makefile, frozen.o is not linked into this executable,
31-
so we define the variable here. */
3228
const struct _frozen *PyImport_FrozenModules;
33-
#endif
3429

3530
static const char header[] =
3631
"/* Auto-generated by Programs/_freeze_module.c */";

0 commit comments

Comments
 (0)