mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
gh-108716: Cleanup remaining deepfreeze infrastructure (#116919)
Keep Tools/build/deepfreeze.py around (we may repurpose it for deepfreezing non-code objects), and keep basic "clean" targets that remove the output of former deep-freeze activities, to keep the build directories of current devs clean.
This commit is contained in:
parent
7e1f38f2de
commit
9c7b3688e6
9 changed files with 7 additions and 180 deletions
|
@ -20,8 +20,6 @@ STDLIB_DIR = os.path.join(ROOT_DIR, 'Lib')
|
|||
# If FROZEN_MODULES_DIR or DEEPFROZEN_MODULES_DIR is changed then the
|
||||
# .gitattributes and .gitignore files needs to be updated.
|
||||
FROZEN_MODULES_DIR = os.path.join(ROOT_DIR, 'Python', 'frozen_modules')
|
||||
DEEPFROZEN_MODULES_DIR = os.path.join(ROOT_DIR, 'Python', 'deepfreeze')
|
||||
DEEPFREEZE_MAPPING_FNAME = 'deepfreeze_mappings.txt'
|
||||
|
||||
FROZEN_FILE = os.path.join(ROOT_DIR, 'Python', 'frozen.c')
|
||||
MAKEFILE = os.path.join(ROOT_DIR, 'Makefile.pre.in')
|
||||
|
@ -233,7 +231,7 @@ def _parse_spec(spec, knownids=None, section=None):
|
|||
#######################################
|
||||
# frozen source files
|
||||
|
||||
class FrozenSource(namedtuple('FrozenSource', 'id pyfile frozenfile deepfreezefile')):
|
||||
class FrozenSource(namedtuple('FrozenSource', 'id pyfile frozenfile')):
|
||||
|
||||
@classmethod
|
||||
def from_id(cls, frozenid, pyfile=None):
|
||||
|
@ -241,8 +239,7 @@ class FrozenSource(namedtuple('FrozenSource', 'id pyfile frozenfile deepfreezefi
|
|||
pyfile = os.path.join(STDLIB_DIR, *frozenid.split('.')) + '.py'
|
||||
#assert os.path.exists(pyfile), (frozenid, pyfile)
|
||||
frozenfile = resolve_frozen_file(frozenid, FROZEN_MODULES_DIR)
|
||||
deepfreezefile = resolve_frozen_file(frozenid, DEEPFROZEN_MODULES_DIR)
|
||||
return cls(frozenid, pyfile, frozenfile, deepfreezefile)
|
||||
return cls(frozenid, pyfile, frozenfile)
|
||||
|
||||
@property
|
||||
def frozenid(self):
|
||||
|
@ -508,13 +505,6 @@ def regen_frozen(modules):
|
|||
lines.append(f'/* {mod.section} */')
|
||||
lastsection = mod.section
|
||||
|
||||
# Also add a extern declaration for the corresponding
|
||||
# deepfreeze-generated function.
|
||||
orig_name = mod.source.id
|
||||
code_name = orig_name.replace(".", "_")
|
||||
get_code_name = "_Py_get_%s_toplevel" % code_name
|
||||
externlines.append("extern PyObject *%s(void);" % get_code_name)
|
||||
|
||||
pkg = 'true' if mod.ispkg else 'false'
|
||||
size = f"(int)sizeof({mod.symbol})"
|
||||
line = f'{{"{mod.name}", {mod.symbol}, {size}, {pkg}}},'
|
||||
|
@ -549,13 +539,6 @@ def regen_frozen(modules):
|
|||
headerlines,
|
||||
FROZEN_FILE,
|
||||
)
|
||||
lines = replace_block(
|
||||
lines,
|
||||
"/* Start extern declarations */",
|
||||
"/* End extern declarations */",
|
||||
externlines,
|
||||
FROZEN_FILE,
|
||||
)
|
||||
lines = replace_block(
|
||||
lines,
|
||||
"static const struct _frozen bootstrap_modules[] =",
|
||||
|
@ -591,8 +574,6 @@ def regen_makefile(modules):
|
|||
pyfiles = []
|
||||
frozenfiles = []
|
||||
rules = ['']
|
||||
deepfreezerules = ["$(DEEPFREEZE_C): $(DEEPFREEZE_DEPS)",
|
||||
"\t$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/build/deepfreeze.py \\"]
|
||||
for src in _iter_sources(modules):
|
||||
frozen_header = relpath_for_posix_display(src.frozenfile, ROOT_DIR)
|
||||
frozenfiles.append(f'\t\t{frozen_header} \\')
|
||||
|
@ -614,8 +595,6 @@ def regen_makefile(modules):
|
|||
f'\t{freeze}',
|
||||
'',
|
||||
])
|
||||
deepfreezerules.append(f"\t{frozen_header}:{src.frozenid} \\")
|
||||
deepfreezerules.append('\t-o Python/deepfreeze/deepfreeze.c')
|
||||
pyfiles[-1] = pyfiles[-1].rstrip(" \\")
|
||||
frozenfiles[-1] = frozenfiles[-1].rstrip(" \\")
|
||||
|
||||
|
@ -643,13 +622,6 @@ def regen_makefile(modules):
|
|||
rules,
|
||||
MAKEFILE,
|
||||
)
|
||||
lines = replace_block(
|
||||
lines,
|
||||
"# BEGIN: deepfreeze modules",
|
||||
"# END: deepfreeze modules",
|
||||
deepfreezerules,
|
||||
MAKEFILE,
|
||||
)
|
||||
outfile.writelines(lines)
|
||||
|
||||
|
||||
|
@ -657,9 +629,6 @@ def regen_pcbuild(modules):
|
|||
projlines = []
|
||||
filterlines = []
|
||||
corelines = []
|
||||
deepfreezemappingsfile = f'$(IntDir)\\{DEEPFREEZE_MAPPING_FNAME}'
|
||||
deepfreezerules = [f' <Exec Command=\'$(PythonForBuild) "$(PySourcePath)Tools\\build\\deepfreeze.py" -f "{deepfreezemappingsfile}" -o "$(GeneratedFrozenModulesDir)deepfreeze.c"\' />']
|
||||
deepfreezemappings = []
|
||||
for src in _iter_sources(modules):
|
||||
pyfile = relpath_for_windows_display(src.pyfile, ROOT_DIR)
|
||||
header = relpath_for_windows_display(src.frozenfile, ROOT_DIR)
|
||||
|
@ -673,9 +642,6 @@ def regen_pcbuild(modules):
|
|||
filterlines.append(f' <None Include="..\\{pyfile}">')
|
||||
filterlines.append(' <Filter>Python Files</Filter>')
|
||||
filterlines.append(' </None>')
|
||||
deepfreezemappings.append(f' <FrozenModule Include="$(GeneratedFrozenModulesDir){header}" FrozenId="{src.frozenid}" />\n')
|
||||
|
||||
corelines.append(f' <ClCompile Include="$(GeneratedFrozenModulesDir)deepfreeze.c" />')
|
||||
|
||||
print(f'# Updating {os.path.relpath(PCBUILD_PROJECT)}')
|
||||
with updating_file_with_tmpfile(PCBUILD_PROJECT) as (infile, outfile):
|
||||
|
@ -688,36 +654,6 @@ def regen_pcbuild(modules):
|
|||
PCBUILD_PROJECT,
|
||||
)
|
||||
outfile.writelines(lines)
|
||||
with updating_file_with_tmpfile(PCBUILD_PROJECT) as (infile, outfile):
|
||||
lines = infile.readlines()
|
||||
lines = replace_block(
|
||||
lines,
|
||||
'<!-- BEGIN freeze mappings -->',
|
||||
'<!-- END freeze mappings -->',
|
||||
deepfreezemappings,
|
||||
PCBUILD_PROJECT,
|
||||
)
|
||||
outfile.writelines(lines)
|
||||
with updating_file_with_tmpfile(PCBUILD_PROJECT) as (infile, outfile):
|
||||
lines = infile.readlines()
|
||||
lines = replace_block(
|
||||
lines,
|
||||
'<!-- BEGIN freeze mapping file -->',
|
||||
'<!-- END freeze mapping file -->',
|
||||
[deepfreezemappingsfile, ],
|
||||
PCBUILD_PROJECT,
|
||||
)
|
||||
outfile.writelines(lines)
|
||||
with updating_file_with_tmpfile(PCBUILD_PROJECT) as (infile, outfile):
|
||||
lines = infile.readlines()
|
||||
lines = replace_block(
|
||||
lines,
|
||||
'<!-- BEGIN deepfreeze rule -->',
|
||||
'<!-- END deepfreeze rule -->',
|
||||
deepfreezerules,
|
||||
PCBUILD_PROJECT,
|
||||
)
|
||||
outfile.writelines(lines)
|
||||
print(f'# Updating {os.path.relpath(PCBUILD_FILTERS)}')
|
||||
with updating_file_with_tmpfile(PCBUILD_FILTERS) as (infile, outfile):
|
||||
lines = infile.readlines()
|
||||
|
@ -729,17 +665,6 @@ def regen_pcbuild(modules):
|
|||
PCBUILD_FILTERS,
|
||||
)
|
||||
outfile.writelines(lines)
|
||||
print(f'# Updating {os.path.relpath(PCBUILD_PYTHONCORE)}')
|
||||
with updating_file_with_tmpfile(PCBUILD_PYTHONCORE) as (infile, outfile):
|
||||
lines = infile.readlines()
|
||||
lines = replace_block(
|
||||
lines,
|
||||
'<!-- BEGIN deepfreeze -->',
|
||||
'<!-- END deepfreeze -->',
|
||||
corelines,
|
||||
PCBUILD_FILTERS,
|
||||
)
|
||||
outfile.writelines(lines)
|
||||
|
||||
|
||||
#######################################
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue