@@ -283,13 +283,15 @@ BUILDPYTHON= python$(BUILDEXE)
283283PYTHON_FOR_REGEN?=@PYTHON_FOR_REGEN@
284284UPDATE_FILE=$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/update_file.py
285285PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@
286- # Standard builds use _bootstrap_python for freezing, cross compiling
287- # uses build Python, which must have the same version and bytecode,
288- PYTHON_FOR_FREEZE?=@PYTHON_FOR_FREEZE@
289- FREEZE_MODULE_C=Programs/_freeze_module
290- FREEZE_MODULE_PY=$(PYTHON_FOR_FREEZE) $(srcdir)/Programs/_freeze_module.py
291- # bootstrap freezing uses FREEZE_MODULE_C for normal builds and _PY for cross builds
286+
287+ # Normal builds use Programs/_freeze_module.c for bootstrapping and
288+ # ./_bootstrap_python Programs/_freeze_module.py for remaining modules
289+ # Cross builds use an external "build Python" for all modules.
290+ PYTHON_FOR_FREEZE=@PYTHON_FOR_FREEZE@
292291FREEZE_MODULE_BOOTSTRAP=@FREEZE_MODULE_BOOTSTRAP@
292+ FREEZE_MODULE_BOOTSTRAP_DEPS=@FREEZE_MODULE_BOOTSTRAP_DEPS@
293+ FREEZE_MODULE=@FREEZE_MODULE@
294+ FREEZE_MODULE_DEPS=@FREEZE_MODULE_DEPS@
293295
294296_PYTHON_HOST_PLATFORM=@_PYTHON_HOST_PLATFORM@
295297BUILD_GNU_TYPE= @build@
@@ -970,7 +972,7 @@ _bootstrap_python: $(LIBRARY_OBJS_OMIT_FROZEN) Programs/_bootstrap_python.o Modu
970972.PHONY: regen-deepfreeze
971973regen-deepfreeze: $(DEEPFREEZE_OBJS)
972974
973- DEEPFREEZE_DEPS=$(srcdir)/Tools/scripts/deepfreeze.py _bootstrap_python
975+ DEEPFREEZE_DEPS=$(srcdir)/Tools/scripts/deepfreeze.py $(FREEZE_MODULE_DEPS)
974976
975977# BEGIN: deepfreeze modules
976978
@@ -1066,14 +1068,11 @@ Python/deepfreeze/frozen_only.c: Python/frozen_modules/frozen_only.h $(DEEPFREEZ
10661068# script is used to test the cross compile code path.
10671069# 6) deepfreeze modules with _bootstrap_python
10681070#
1069- # Cross compile proces :
1071+ # Cross compile process :
10701072# 1) create all frozen module headers with external build Python and
10711073# Programs/_freeze_module.py script.
10721074# 2) deepfreeze modules with external build Python.
10731075#
1074- # Cross compiling also creates Programs/_freeze_module and _bootstrap_python
1075- # artifacts, but does not use or ship them.
1076- #
10771076
10781077# FROZEN_FILES_* are auto-generated by Tools/scripts/freeze_modules.py.
10791078FROZEN_FILES_IN = \
@@ -1131,83 +1130,83 @@ Programs/_freeze_module.o: Programs/_freeze_module.c Makefile
11311130
11321131Modules/getpath_noop.o: $(srcdir)/Modules/getpath_noop.c Makefile
11331132
1134- $(FREEZE_MODULE_C) : Programs/_freeze_module.o Modules/getpath_noop.o $(LIBRARY_OBJS_OMIT_FROZEN)
1133+ Programs/_freeze_module : Programs/_freeze_module.o Modules/getpath_noop.o $(LIBRARY_OBJS_OMIT_FROZEN)
11351134 $(LINKCC) $(PY_CORE_LDFLAGS) -o $@ Programs/_freeze_module.o Modules/getpath_noop.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS)
11361135
11371136# We manually freeze getpath.py rather than through freeze_modules
1138- Python/frozen_modules/getpath.h: Modules/getpath.py $(FREEZE_MODULE_C )
1137+ Python/frozen_modules/getpath.h: Modules/getpath.py $(FREEZE_MODULE_BOOTSTRAP_DEPS )
11391138 $(FREEZE_MODULE_BOOTSTRAP) getpath $(srcdir)/Modules/getpath.py Python/frozen_modules/getpath.h
11401139
11411140# BEGIN: freezing modules
11421141
1143- Python/frozen_modules/importlib._bootstrap.h: Lib/importlib/_bootstrap.py $(FREEZE_MODULE_C )
1142+ Python/frozen_modules/importlib._bootstrap.h: Lib/importlib/_bootstrap.py $(FREEZE_MODULE_BOOTSTRAP_DEPS )
11441143 $(FREEZE_MODULE_BOOTSTRAP) importlib._bootstrap $(srcdir)/Lib/importlib/_bootstrap.py Python/frozen_modules/importlib._bootstrap.h
11451144
1146- Python/frozen_modules/importlib._bootstrap_external.h: Lib/importlib/_bootstrap_external.py $(FREEZE_MODULE_C )
1145+ Python/frozen_modules/importlib._bootstrap_external.h: Lib/importlib/_bootstrap_external.py $(FREEZE_MODULE_BOOTSTRAP_DEPS )
11471146 $(FREEZE_MODULE_BOOTSTRAP) importlib._bootstrap_external $(srcdir)/Lib/importlib/_bootstrap_external.py Python/frozen_modules/importlib._bootstrap_external.h
11481147
1149- Python/frozen_modules/zipimport.h: Lib/zipimport.py $(FREEZE_MODULE_C )
1148+ Python/frozen_modules/zipimport.h: Lib/zipimport.py $(FREEZE_MODULE_BOOTSTRAP_DEPS )
11501149 $(FREEZE_MODULE_BOOTSTRAP) zipimport $(srcdir)/Lib/zipimport.py Python/frozen_modules/zipimport.h
11511150
1152- Python/frozen_modules/abc.h: Lib/abc.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1153- $(FREEZE_MODULE_PY ) abc $(srcdir)/Lib/abc.py Python/frozen_modules/abc.h
1151+ Python/frozen_modules/abc.h: Lib/abc.py $(FREEZE_MODULE_DEPS)
1152+ $(FREEZE_MODULE ) abc $(srcdir)/Lib/abc.py Python/frozen_modules/abc.h
11541153
1155- Python/frozen_modules/codecs.h: Lib/codecs.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1156- $(FREEZE_MODULE_PY ) codecs $(srcdir)/Lib/codecs.py Python/frozen_modules/codecs.h
1154+ Python/frozen_modules/codecs.h: Lib/codecs.py $(FREEZE_MODULE_DEPS)
1155+ $(FREEZE_MODULE ) codecs $(srcdir)/Lib/codecs.py Python/frozen_modules/codecs.h
11571156
1158- Python/frozen_modules/io.h: Lib/io.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1159- $(FREEZE_MODULE_PY ) io $(srcdir)/Lib/io.py Python/frozen_modules/io.h
1157+ Python/frozen_modules/io.h: Lib/io.py $(FREEZE_MODULE_DEPS)
1158+ $(FREEZE_MODULE ) io $(srcdir)/Lib/io.py Python/frozen_modules/io.h
11601159
1161- Python/frozen_modules/_collections_abc.h: Lib/_collections_abc.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1162- $(FREEZE_MODULE_PY ) _collections_abc $(srcdir)/Lib/_collections_abc.py Python/frozen_modules/_collections_abc.h
1160+ Python/frozen_modules/_collections_abc.h: Lib/_collections_abc.py $(FREEZE_MODULE_DEPS)
1161+ $(FREEZE_MODULE ) _collections_abc $(srcdir)/Lib/_collections_abc.py Python/frozen_modules/_collections_abc.h
11631162
1164- Python/frozen_modules/_sitebuiltins.h: Lib/_sitebuiltins.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1165- $(FREEZE_MODULE_PY ) _sitebuiltins $(srcdir)/Lib/_sitebuiltins.py Python/frozen_modules/_sitebuiltins.h
1163+ Python/frozen_modules/_sitebuiltins.h: Lib/_sitebuiltins.py $(FREEZE_MODULE_DEPS)
1164+ $(FREEZE_MODULE ) _sitebuiltins $(srcdir)/Lib/_sitebuiltins.py Python/frozen_modules/_sitebuiltins.h
11661165
1167- Python/frozen_modules/genericpath.h: Lib/genericpath.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1168- $(FREEZE_MODULE_PY ) genericpath $(srcdir)/Lib/genericpath.py Python/frozen_modules/genericpath.h
1166+ Python/frozen_modules/genericpath.h: Lib/genericpath.py $(FREEZE_MODULE_DEPS)
1167+ $(FREEZE_MODULE ) genericpath $(srcdir)/Lib/genericpath.py Python/frozen_modules/genericpath.h
11691168
1170- Python/frozen_modules/ntpath.h: Lib/ntpath.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1171- $(FREEZE_MODULE_PY ) ntpath $(srcdir)/Lib/ntpath.py Python/frozen_modules/ntpath.h
1169+ Python/frozen_modules/ntpath.h: Lib/ntpath.py $(FREEZE_MODULE_DEPS)
1170+ $(FREEZE_MODULE ) ntpath $(srcdir)/Lib/ntpath.py Python/frozen_modules/ntpath.h
11721171
1173- Python/frozen_modules/posixpath.h: Lib/posixpath.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1174- $(FREEZE_MODULE_PY ) posixpath $(srcdir)/Lib/posixpath.py Python/frozen_modules/posixpath.h
1172+ Python/frozen_modules/posixpath.h: Lib/posixpath.py $(FREEZE_MODULE_DEPS)
1173+ $(FREEZE_MODULE ) posixpath $(srcdir)/Lib/posixpath.py Python/frozen_modules/posixpath.h
11751174
1176- Python/frozen_modules/os.h: Lib/os.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1177- $(FREEZE_MODULE_PY ) os $(srcdir)/Lib/os.py Python/frozen_modules/os.h
1175+ Python/frozen_modules/os.h: Lib/os.py $(FREEZE_MODULE_DEPS)
1176+ $(FREEZE_MODULE ) os $(srcdir)/Lib/os.py Python/frozen_modules/os.h
11781177
1179- Python/frozen_modules/site.h: Lib/site.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1180- $(FREEZE_MODULE_PY ) site $(srcdir)/Lib/site.py Python/frozen_modules/site.h
1178+ Python/frozen_modules/site.h: Lib/site.py $(FREEZE_MODULE_DEPS)
1179+ $(FREEZE_MODULE ) site $(srcdir)/Lib/site.py Python/frozen_modules/site.h
11811180
1182- Python/frozen_modules/stat.h: Lib/stat.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1183- $(FREEZE_MODULE_PY ) stat $(srcdir)/Lib/stat.py Python/frozen_modules/stat.h
1181+ Python/frozen_modules/stat.h: Lib/stat.py $(FREEZE_MODULE_DEPS)
1182+ $(FREEZE_MODULE ) stat $(srcdir)/Lib/stat.py Python/frozen_modules/stat.h
11841183
1185- Python/frozen_modules/importlib.util.h: Lib/importlib/util.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1186- $(FREEZE_MODULE_PY ) importlib.util $(srcdir)/Lib/importlib/util.py Python/frozen_modules/importlib.util.h
1184+ Python/frozen_modules/importlib.util.h: Lib/importlib/util.py $(FREEZE_MODULE_DEPS)
1185+ $(FREEZE_MODULE ) importlib.util $(srcdir)/Lib/importlib/util.py Python/frozen_modules/importlib.util.h
11871186
1188- Python/frozen_modules/importlib.machinery.h: Lib/importlib/machinery.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1189- $(FREEZE_MODULE_PY ) importlib.machinery $(srcdir)/Lib/importlib/machinery.py Python/frozen_modules/importlib.machinery.h
1187+ Python/frozen_modules/importlib.machinery.h: Lib/importlib/machinery.py $(FREEZE_MODULE_DEPS)
1188+ $(FREEZE_MODULE ) importlib.machinery $(srcdir)/Lib/importlib/machinery.py Python/frozen_modules/importlib.machinery.h
11901189
1191- Python/frozen_modules/runpy.h: Lib/runpy.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1192- $(FREEZE_MODULE_PY ) runpy $(srcdir)/Lib/runpy.py Python/frozen_modules/runpy.h
1190+ Python/frozen_modules/runpy.h: Lib/runpy.py $(FREEZE_MODULE_DEPS)
1191+ $(FREEZE_MODULE ) runpy $(srcdir)/Lib/runpy.py Python/frozen_modules/runpy.h
11931192
1194- Python/frozen_modules/__hello__.h: Lib/__hello__.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1195- $(FREEZE_MODULE_PY ) __hello__ $(srcdir)/Lib/__hello__.py Python/frozen_modules/__hello__.h
1193+ Python/frozen_modules/__hello__.h: Lib/__hello__.py $(FREEZE_MODULE_DEPS)
1194+ $(FREEZE_MODULE ) __hello__ $(srcdir)/Lib/__hello__.py Python/frozen_modules/__hello__.h
11961195
1197- Python/frozen_modules/__phello__.h: Lib/__phello__/__init__.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1198- $(FREEZE_MODULE_PY ) __phello__ $(srcdir)/Lib/__phello__/__init__.py Python/frozen_modules/__phello__.h
1196+ Python/frozen_modules/__phello__.h: Lib/__phello__/__init__.py $(FREEZE_MODULE_DEPS)
1197+ $(FREEZE_MODULE ) __phello__ $(srcdir)/Lib/__phello__/__init__.py Python/frozen_modules/__phello__.h
11991198
1200- Python/frozen_modules/__phello__.ham.h: Lib/__phello__/ham/__init__.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1201- $(FREEZE_MODULE_PY ) __phello__.ham $(srcdir)/Lib/__phello__/ham/__init__.py Python/frozen_modules/__phello__.ham.h
1199+ Python/frozen_modules/__phello__.ham.h: Lib/__phello__/ham/__init__.py $(FREEZE_MODULE_DEPS)
1200+ $(FREEZE_MODULE ) __phello__.ham $(srcdir)/Lib/__phello__/ham/__init__.py Python/frozen_modules/__phello__.ham.h
12021201
1203- Python/frozen_modules/__phello__.ham.eggs.h: Lib/__phello__/ham/eggs.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1204- $(FREEZE_MODULE_PY ) __phello__.ham.eggs $(srcdir)/Lib/__phello__/ham/eggs.py Python/frozen_modules/__phello__.ham.eggs.h
1202+ Python/frozen_modules/__phello__.ham.eggs.h: Lib/__phello__/ham/eggs.py $(FREEZE_MODULE_DEPS)
1203+ $(FREEZE_MODULE ) __phello__.ham.eggs $(srcdir)/Lib/__phello__/ham/eggs.py Python/frozen_modules/__phello__.ham.eggs.h
12051204
1206- Python/frozen_modules/__phello__.spam.h: Lib/__phello__/spam.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1207- $(FREEZE_MODULE_PY ) __phello__.spam $(srcdir)/Lib/__phello__/spam.py Python/frozen_modules/__phello__.spam.h
1205+ Python/frozen_modules/__phello__.spam.h: Lib/__phello__/spam.py $(FREEZE_MODULE_DEPS)
1206+ $(FREEZE_MODULE ) __phello__.spam $(srcdir)/Lib/__phello__/spam.py Python/frozen_modules/__phello__.spam.h
12081207
1209- Python/frozen_modules/frozen_only.h: Tools/freeze/flag.py _bootstrap_python $(srcdir)/Programs/_freeze_module.py
1210- $(FREEZE_MODULE_PY ) frozen_only $(srcdir)/Tools/freeze/flag.py Python/frozen_modules/frozen_only.h
1208+ Python/frozen_modules/frozen_only.h: Tools/freeze/flag.py $(FREEZE_MODULE_DEPS)
1209+ $(FREEZE_MODULE ) frozen_only $(srcdir)/Tools/freeze/flag.py Python/frozen_modules/frozen_only.h
12111210
12121211# END: freezing modules
12131212
0 commit comments