mirror of
https://github.com/python/cpython
synced 2024-09-16 02:00:00 +00:00
bpo-46608: Fix argument parsing in freeze_modules.py (GH-31131)
This commit is contained in:
parent
2f077b6991
commit
9d4161a60c
|
@ -463,10 +463,10 @@ def replace_block(lines, start_marker, end_marker, replacements, file):
|
||||||
return lines[:start_pos + 1] + replacements + lines[end_pos:]
|
return lines[:start_pos + 1] + replacements + lines[end_pos:]
|
||||||
|
|
||||||
|
|
||||||
def regen_frozen(modules, deepfreeze_only: bool):
|
def regen_frozen(modules, frozen_modules: bool):
|
||||||
headerlines = []
|
headerlines = []
|
||||||
parentdir = os.path.dirname(FROZEN_FILE)
|
parentdir = os.path.dirname(FROZEN_FILE)
|
||||||
if not deepfreeze_only:
|
if frozen_modules:
|
||||||
for src in _iter_sources(modules):
|
for src in _iter_sources(modules):
|
||||||
# Adding a comment to separate sections here doesn't add much,
|
# Adding a comment to separate sections here doesn't add much,
|
||||||
# so we don't.
|
# so we don't.
|
||||||
|
@ -502,7 +502,7 @@ def regen_frozen(modules, deepfreeze_only: bool):
|
||||||
|
|
||||||
symbol = mod.symbol
|
symbol = mod.symbol
|
||||||
pkg = 'true' if mod.ispkg else 'false'
|
pkg = 'true' if mod.ispkg else 'false'
|
||||||
if deepfreeze_only:
|
if not frozen_modules:
|
||||||
line = ('{"%s", NULL, 0, %s, GET_CODE(%s)},'
|
line = ('{"%s", NULL, 0, %s, GET_CODE(%s)},'
|
||||||
) % (mod.name, pkg, code_name)
|
) % (mod.name, pkg, code_name)
|
||||||
else:
|
else:
|
||||||
|
@ -715,19 +715,21 @@ def regen_pcbuild(modules):
|
||||||
#######################################
|
#######################################
|
||||||
# the script
|
# the script
|
||||||
|
|
||||||
def main(deepfreeze_only: bool):
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("--frozen-modules", action="store_true",
|
||||||
|
help="Use both frozen and deepfrozen modules. (default: uses only deepfrozen modules)")
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = parser.parse_args()
|
||||||
|
frozen_modules: bool = args.frozen_modules
|
||||||
# Expand the raw specs, preserving order.
|
# Expand the raw specs, preserving order.
|
||||||
modules = list(parse_frozen_specs())
|
modules = list(parse_frozen_specs())
|
||||||
|
|
||||||
# Regen build-related files.
|
# Regen build-related files.
|
||||||
regen_makefile(modules)
|
regen_makefile(modules)
|
||||||
regen_pcbuild(modules)
|
regen_pcbuild(modules)
|
||||||
regen_frozen(modules, deepfreeze_only)
|
regen_frozen(modules, frozen_modules)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
parser = argparse.ArgumentParser()
|
main()
|
||||||
parser.add_argument("--deepfreeze-only", action="store_true",
|
|
||||||
help="Only use deepfrozen modules", default=True)
|
|
||||||
args = parser.parse_args()
|
|
||||||
main(args.deepfreeze_only)
|
|
||||||
|
|
Loading…
Reference in a new issue