mirror of https://github.com/python/cpython
gh-97669: Create Tools/build/ directory (#97963)
Create Tools/build/ directory. Move the following scripts from Tools/scripts/ to Tools/build/: * check_extension_modules.py * deepfreeze.py * freeze_modules.py * generate_global_objects.py * generate_levenshtein_examples.py * generate_opcode_h.py * generate_re_casefix.py * generate_sre_constants.py * generate_stdlib_module_names.py * generate_token.py * parse_html5_entities.py * smelly.py * stable_abi.py * umarshal.py * update_file.py * verify_ensurepip_wheels.py Update references to these scripts.
This commit is contained in:
parent
eae7dad402
commit
1863302d61
|
@ -55,7 +55,7 @@ Python/traceback.c @iritkatriel
|
||||||
/Lib/html/ @ezio-melotti
|
/Lib/html/ @ezio-melotti
|
||||||
/Lib/_markupbase.py @ezio-melotti
|
/Lib/_markupbase.py @ezio-melotti
|
||||||
/Lib/test/test_html*.py @ezio-melotti
|
/Lib/test/test_html*.py @ezio-melotti
|
||||||
/Tools/scripts/*html5* @ezio-melotti
|
/Tools/build/parse_html5_entities.py @ezio-melotti
|
||||||
|
|
||||||
# Import (including importlib).
|
# Import (including importlib).
|
||||||
# Ignoring importlib.h so as to not get flagged on
|
# Ignoring importlib.h so as to not get flagged on
|
||||||
|
|
|
@ -6,12 +6,12 @@ on:
|
||||||
paths:
|
paths:
|
||||||
- 'Lib/ensurepip/_bundled/**'
|
- 'Lib/ensurepip/_bundled/**'
|
||||||
- '.github/workflows/verify-ensurepip-wheels.yml'
|
- '.github/workflows/verify-ensurepip-wheels.yml'
|
||||||
- 'Tools/scripts/verify_ensurepip_wheels.py'
|
- 'Tools/build/verify_ensurepip_wheels.py'
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- 'Lib/ensurepip/_bundled/**'
|
- 'Lib/ensurepip/_bundled/**'
|
||||||
- '.github/workflows/verify-ensurepip-wheels.yml'
|
- '.github/workflows/verify-ensurepip-wheels.yml'
|
||||||
- 'Tools/scripts/verify_ensurepip_wheels.py'
|
- 'Tools/build/verify_ensurepip_wheels.py'
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
@ -29,4 +29,4 @@ jobs:
|
||||||
with:
|
with:
|
||||||
python-version: '3'
|
python-version: '3'
|
||||||
- name: Compare checksums of bundled pip and setuptools to ones published on PyPI
|
- name: Compare checksums of bundled pip and setuptools to ones published on PyPI
|
||||||
run: ./Tools/scripts/verify_ensurepip_wheels.py
|
run: ./Tools/build/verify_ensurepip_wheels.py
|
||||||
|
|
|
@ -143,7 +143,7 @@ Tools/ssl/win32
|
||||||
Tools/freeze/test/outdir
|
Tools/freeze/test/outdir
|
||||||
|
|
||||||
# The frozen modules are always generated by the build so we don't
|
# The frozen modules are always generated by the build so we don't
|
||||||
# keep them in the repo. Also see Tools/scripts/freeze_modules.py.
|
# keep them in the repo. Also see Tools/build/freeze_modules.py.
|
||||||
Python/frozen_modules/*.h
|
Python/frozen_modules/*.h
|
||||||
# The manifest can be generated at any time with "make regen-frozen".
|
# The manifest can be generated at any time with "make regen-frozen".
|
||||||
Python/frozen_modules/MANIFEST
|
Python/frozen_modules/MANIFEST
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.. Auto-generated by Tools/scripts/generate_token.py
|
.. Auto-generated by Tools/build/generate_token.py
|
||||||
.. data:: ENDMARKER
|
.. data:: ENDMARKER
|
||||||
|
|
||||||
.. data:: NAME
|
.. data:: NAME
|
||||||
|
|
|
@ -8,7 +8,7 @@ extern "C" {
|
||||||
# error "this header requires Py_BUILD_CORE define"
|
# error "this header requires Py_BUILD_CORE define"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// The data structure & init here are inspired by Tools/scripts/deepfreeze.py.
|
// The data structure & init here are inspired by Tools/build/deepfreeze.py.
|
||||||
|
|
||||||
// All field names generated by ASCII_STR() have a common prefix,
|
// All field names generated by ASCII_STR() have a common prefix,
|
||||||
// to help avoid collisions with keywords, etc.
|
// to help avoid collisions with keywords, etc.
|
||||||
|
@ -25,7 +25,7 @@ extern "C" {
|
||||||
|
|
||||||
// XXX Order by frequency of use?
|
// XXX Order by frequency of use?
|
||||||
|
|
||||||
/* The following is auto-generated by Tools/scripts/generate_global_objects.py. */
|
/* The following is auto-generated by Tools/build/generate_global_objects.py. */
|
||||||
struct _Py_global_strings {
|
struct _Py_global_strings {
|
||||||
struct {
|
struct {
|
||||||
STRUCT_FOR_STR(anon_dictcomp, "<dictcomp>")
|
STRUCT_FOR_STR(anon_dictcomp, "<dictcomp>")
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Auto-generated by Tools/scripts/generate_opcode_h.py from Lib/opcode.py
|
// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py
|
||||||
|
|
||||||
#ifndef Py_INTERNAL_OPCODE_H
|
#ifndef Py_INTERNAL_OPCODE_H
|
||||||
#define Py_INTERNAL_OPCODE_H
|
#define Py_INTERNAL_OPCODE_H
|
||||||
|
|
|
@ -8,7 +8,7 @@ extern "C" {
|
||||||
# error "this header requires Py_BUILD_CORE define"
|
# error "this header requires Py_BUILD_CORE define"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* The following is auto-generated by Tools/scripts/generate_global_objects.py. */
|
/* The following is auto-generated by Tools/build/generate_global_objects.py. */
|
||||||
#define _Py_global_objects_INIT { \
|
#define _Py_global_objects_INIT { \
|
||||||
.singletons = { \
|
.singletons = { \
|
||||||
.small_ints = { \
|
.small_ints = { \
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Auto-generated by Tools/scripts/generate_token.py */
|
/* Auto-generated by Tools/build/generate_token.py */
|
||||||
|
|
||||||
/* Token types */
|
/* Token types */
|
||||||
#ifndef Py_INTERNAL_TOKEN_H
|
#ifndef Py_INTERNAL_TOKEN_H
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Auto-generated by Tools/scripts/generate_opcode_h.py from Lib/opcode.py
|
// Auto-generated by Tools/build/generate_opcode_h.py from Lib/opcode.py
|
||||||
|
|
||||||
#ifndef Py_OPCODE_H
|
#ifndef Py_OPCODE_H
|
||||||
#define Py_OPCODE_H
|
#define Py_OPCODE_H
|
||||||
|
|
|
@ -261,7 +261,7 @@ name2codepoint = {
|
||||||
|
|
||||||
|
|
||||||
# HTML5 named character references
|
# HTML5 named character references
|
||||||
# Generated by 'Tools/scripts/parse_html5_entities.py'
|
# Generated by Tools/build/parse_html5_entities.py
|
||||||
# from https://html.spec.whatwg.org/entities.json and
|
# from https://html.spec.whatwg.org/entities.json and
|
||||||
# https://html.spec.whatwg.org/multipage/named-characters.html.
|
# https://html.spec.whatwg.org/multipage/named-characters.html.
|
||||||
# Map HTML5 named character references to the equivalent Unicode character(s).
|
# Map HTML5 named character references to the equivalent Unicode character(s).
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
"""Token constants."""
|
"""Token constants."""
|
||||||
# Auto-generated by Tools/scripts/generate_token.py
|
# Auto-generated by Tools/build/generate_token.py
|
||||||
|
|
||||||
__all__ = ['tok_name', 'ISTERMINAL', 'ISNONTERMINAL', 'ISEOF']
|
__all__ = ['tok_name', 'ISTERMINAL', 'ISNONTERMINAL', 'ISEOF']
|
||||||
|
|
||||||
|
|
|
@ -285,7 +285,7 @@ BUILDPYTHON= python$(BUILDEXE)
|
||||||
HOSTRUNNER= @HOSTRUNNER@
|
HOSTRUNNER= @HOSTRUNNER@
|
||||||
|
|
||||||
PYTHON_FOR_REGEN?=@PYTHON_FOR_REGEN@
|
PYTHON_FOR_REGEN?=@PYTHON_FOR_REGEN@
|
||||||
UPDATE_FILE=$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/update_file.py
|
UPDATE_FILE=$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/update_file.py
|
||||||
PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@
|
PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@
|
||||||
# Single-platform builds depend on $(BUILDPYTHON). Cross builds use an
|
# Single-platform builds depend on $(BUILDPYTHON). Cross builds use an
|
||||||
# external "build Python" and have an empty PYTHON_FOR_BUILD_DEPS.
|
# external "build Python" and have an empty PYTHON_FOR_BUILD_DEPS.
|
||||||
|
@ -705,7 +705,7 @@ coverage-report: regen-token regen-frozen
|
||||||
.PHONY=clinic
|
.PHONY=clinic
|
||||||
clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
|
clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_global_objects.py
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_global_objects.py
|
||||||
|
|
||||||
# Build the interpreter
|
# Build the interpreter
|
||||||
$(BUILDPYTHON): Programs/python.o $(LINK_PYTHON_DEPS)
|
$(BUILDPYTHON): Programs/python.o $(LINK_PYTHON_DEPS)
|
||||||
|
@ -907,7 +907,7 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt
|
||||||
|
|
||||||
# dependency on BUILDPYTHON ensures that the target is run last
|
# dependency on BUILDPYTHON ensures that the target is run last
|
||||||
checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
|
checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
|
||||||
@$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/check_extension_modules.py
|
@$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/build/check_extension_modules.py
|
||||||
|
|
||||||
rundsymutil: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
|
rundsymutil: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
|
||||||
@if [ ! -z $(DSYMUTIL) ] ; then \
|
@if [ ! -z $(DSYMUTIL) ] ; then \
|
||||||
|
@ -961,13 +961,13 @@ regen-test-frozenmain: $(BUILDPYTHON)
|
||||||
.PHONY: regen-test-levenshtein
|
.PHONY: regen-test-levenshtein
|
||||||
regen-test-levenshtein:
|
regen-test-levenshtein:
|
||||||
# Regenerate Lib/test/levenshtein_examples.json
|
# Regenerate Lib/test/levenshtein_examples.json
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_levenshtein_examples.py Lib/test/levenshtein_examples.json
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_levenshtein_examples.py Lib/test/levenshtein_examples.json
|
||||||
|
|
||||||
.PHONY: regen-re
|
.PHONY: regen-re
|
||||||
regen-re: $(BUILDPYTHON)
|
regen-re: $(BUILDPYTHON)
|
||||||
# Regenerate Lib/re/_casefix.py
|
# Regenerate Lib/re/_casefix.py
|
||||||
# using Tools/scripts/generate_re_casefix.py
|
# using Tools/build/generate_re_casefix.py
|
||||||
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/generate_re_casefix.py $(srcdir)/Lib/re/_casefix.py
|
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/build/generate_re_casefix.py $(srcdir)/Lib/re/_casefix.py
|
||||||
|
|
||||||
Programs/_testembed: Programs/_testembed.o $(LINK_PYTHON_DEPS)
|
Programs/_testembed: Programs/_testembed.o $(LINK_PYTHON_DEPS)
|
||||||
$(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(LINK_PYTHON_OBJS) $(LIBS) $(MODLIBS) $(SYSLIBS)
|
$(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(LINK_PYTHON_OBJS) $(LIBS) $(MODLIBS) $(SYSLIBS)
|
||||||
|
@ -1013,7 +1013,7 @@ _bootstrap_python: $(LIBRARY_OBJS_OMIT_FROZEN) Programs/_bootstrap_python.o Modu
|
||||||
# 2) deepfreeze modules with external build Python.
|
# 2) deepfreeze modules with external build Python.
|
||||||
#
|
#
|
||||||
|
|
||||||
# FROZEN_FILES_* are auto-generated by Tools/scripts/freeze_modules.py.
|
# FROZEN_FILES_* are auto-generated by Tools/build/freeze_modules.py.
|
||||||
FROZEN_FILES_IN = \
|
FROZEN_FILES_IN = \
|
||||||
Lib/importlib/_bootstrap.py \
|
Lib/importlib/_bootstrap.py \
|
||||||
Lib/importlib/_bootstrap_external.py \
|
Lib/importlib/_bootstrap_external.py \
|
||||||
|
@ -1149,11 +1149,11 @@ Python/frozen_modules/frozen_only.h: Tools/freeze/flag.py $(FREEZE_MODULE_DEPS)
|
||||||
|
|
||||||
# END: freezing modules
|
# END: freezing modules
|
||||||
|
|
||||||
Tools/scripts/freeze_modules.py: $(FREEZE_MODULE)
|
Tools/build/freeze_modules.py: $(FREEZE_MODULE)
|
||||||
|
|
||||||
.PHONY: regen-frozen
|
.PHONY: regen-frozen
|
||||||
regen-frozen: Tools/scripts/freeze_modules.py $(FROZEN_FILES_IN)
|
regen-frozen: Tools/build/freeze_modules.py $(FROZEN_FILES_IN)
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/freeze_modules.py
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/freeze_modules.py
|
||||||
@echo "The Makefile was updated, you may need to re-run make."
|
@echo "The Makefile was updated, you may need to re-run make."
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
@ -1162,11 +1162,11 @@ regen-frozen: Tools/scripts/freeze_modules.py $(FROZEN_FILES_IN)
|
||||||
.PHONY: regen-deepfreeze
|
.PHONY: regen-deepfreeze
|
||||||
regen-deepfreeze: $(DEEPFREEZE_OBJS)
|
regen-deepfreeze: $(DEEPFREEZE_OBJS)
|
||||||
|
|
||||||
DEEPFREEZE_DEPS=$(srcdir)/Tools/scripts/deepfreeze.py $(FREEZE_MODULE_DEPS) $(FROZEN_FILES_OUT)
|
DEEPFREEZE_DEPS=$(srcdir)/Tools/build/deepfreeze.py $(FREEZE_MODULE_DEPS) $(FROZEN_FILES_OUT)
|
||||||
|
|
||||||
# BEGIN: deepfreeze modules
|
# BEGIN: deepfreeze modules
|
||||||
Python/deepfreeze/deepfreeze.c: $(DEEPFREEZE_DEPS)
|
Python/deepfreeze/deepfreeze.c: $(DEEPFREEZE_DEPS)
|
||||||
$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py \
|
$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/build/deepfreeze.py \
|
||||||
Python/frozen_modules/importlib._bootstrap.h:importlib._bootstrap \
|
Python/frozen_modules/importlib._bootstrap.h:importlib._bootstrap \
|
||||||
Python/frozen_modules/importlib._bootstrap_external.h:importlib._bootstrap_external \
|
Python/frozen_modules/importlib._bootstrap_external.h:importlib._bootstrap_external \
|
||||||
Python/frozen_modules/zipimport.h:zipimport \
|
Python/frozen_modules/zipimport.h:zipimport \
|
||||||
|
@ -1203,8 +1203,8 @@ regen-importlib: regen-frozen
|
||||||
# Global objects
|
# Global objects
|
||||||
|
|
||||||
.PHONY: regen-global-objects
|
.PHONY: regen-global-objects
|
||||||
regen-global-objects: $(srcdir)/Tools/scripts/generate_global_objects.py
|
regen-global-objects: $(srcdir)/Tools/build/generate_global_objects.py
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_global_objects.py
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_global_objects.py
|
||||||
@echo "Note: Global objects can be added or removed by other tools (e.g. deepfreeze), "
|
@echo "Note: Global objects can be added or removed by other tools (e.g. deepfreeze), "
|
||||||
@echo " so be sure to re-run regen-global-objects after those tools."
|
@echo " so be sure to re-run regen-global-objects after those tools."
|
||||||
|
|
||||||
|
@ -1220,7 +1220,7 @@ check-abidump: all
|
||||||
abidiff $(srcdir)/Doc/data/python$(LDVERSION).abi "libpython$(LDVERSION).so" --drop-private-types --no-architecture --no-added-syms
|
abidiff $(srcdir)/Doc/data/python$(LDVERSION).abi "libpython$(LDVERSION).so" --drop-private-types --no-architecture --no-added-syms
|
||||||
|
|
||||||
regen-limited-abi: all
|
regen-limited-abi: all
|
||||||
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/stable_abi.py --generate-all $(srcdir)/Misc/stable_abi.toml
|
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/build/stable_abi.py --generate-all $(srcdir)/Misc/stable_abi.toml
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
# Regenerate all generated files
|
# Regenerate all generated files
|
||||||
|
@ -1331,8 +1331,8 @@ regen-ast:
|
||||||
.PHONY: regen-opcode
|
.PHONY: regen-opcode
|
||||||
regen-opcode:
|
regen-opcode:
|
||||||
# Regenerate Include/opcode.h from Lib/opcode.py
|
# Regenerate Include/opcode.h from Lib/opcode.py
|
||||||
# using Tools/scripts/generate_opcode_h.py
|
# using Tools/build/generate_opcode_h.py
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_opcode_h.py \
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_opcode_h.py \
|
||||||
$(srcdir)/Lib/opcode.py \
|
$(srcdir)/Lib/opcode.py \
|
||||||
$(srcdir)/Include/opcode.h.new \
|
$(srcdir)/Include/opcode.h.new \
|
||||||
$(srcdir)/Include/internal/pycore_opcode.h.new
|
$(srcdir)/Include/internal/pycore_opcode.h.new
|
||||||
|
@ -1342,23 +1342,23 @@ regen-opcode:
|
||||||
.PHONY: regen-token
|
.PHONY: regen-token
|
||||||
regen-token:
|
regen-token:
|
||||||
# Regenerate Doc/library/token-list.inc from Grammar/Tokens
|
# Regenerate Doc/library/token-list.inc from Grammar/Tokens
|
||||||
# using Tools/scripts/generate_token.py
|
# using Tools/build/generate_token.py
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_token.py rst \
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_token.py rst \
|
||||||
$(srcdir)/Grammar/Tokens \
|
$(srcdir)/Grammar/Tokens \
|
||||||
$(srcdir)/Doc/library/token-list.inc
|
$(srcdir)/Doc/library/token-list.inc
|
||||||
# Regenerate Include/internal/pycore_token.h from Grammar/Tokens
|
# Regenerate Include/internal/pycore_token.h from Grammar/Tokens
|
||||||
# using Tools/scripts/generate_token.py
|
# using Tools/build/generate_token.py
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_token.py h \
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_token.py h \
|
||||||
$(srcdir)/Grammar/Tokens \
|
$(srcdir)/Grammar/Tokens \
|
||||||
$(srcdir)/Include/internal/pycore_token.h
|
$(srcdir)/Include/internal/pycore_token.h
|
||||||
# Regenerate Parser/token.c from Grammar/Tokens
|
# Regenerate Parser/token.c from Grammar/Tokens
|
||||||
# using Tools/scripts/generate_token.py
|
# using Tools/build/generate_token.py
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_token.py c \
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_token.py c \
|
||||||
$(srcdir)/Grammar/Tokens \
|
$(srcdir)/Grammar/Tokens \
|
||||||
$(srcdir)/Parser/token.c
|
$(srcdir)/Parser/token.c
|
||||||
# Regenerate Lib/token.py from Grammar/Tokens
|
# Regenerate Lib/token.py from Grammar/Tokens
|
||||||
# using Tools/scripts/generate_token.py
|
# using Tools/build/generate_token.py
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_token.py py \
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_token.py py \
|
||||||
$(srcdir)/Grammar/Tokens \
|
$(srcdir)/Grammar/Tokens \
|
||||||
$(srcdir)/Lib/token.py
|
$(srcdir)/Lib/token.py
|
||||||
|
|
||||||
|
@ -1375,16 +1375,16 @@ regen-keyword:
|
||||||
.PHONY: regen-stdlib-module-names
|
.PHONY: regen-stdlib-module-names
|
||||||
regen-stdlib-module-names: all Programs/_testembed
|
regen-stdlib-module-names: all Programs/_testembed
|
||||||
# Regenerate Python/stdlib_module_names.h
|
# Regenerate Python/stdlib_module_names.h
|
||||||
# using Tools/scripts/generate_stdlib_module_names.py
|
# using Tools/build/generate_stdlib_module_names.py
|
||||||
$(RUNSHARED) ./$(BUILDPYTHON) \
|
$(RUNSHARED) ./$(BUILDPYTHON) \
|
||||||
$(srcdir)/Tools/scripts/generate_stdlib_module_names.py \
|
$(srcdir)/Tools/build/generate_stdlib_module_names.py \
|
||||||
> $(srcdir)/Python/stdlib_module_names.h.new
|
> $(srcdir)/Python/stdlib_module_names.h.new
|
||||||
$(UPDATE_FILE) $(srcdir)/Python/stdlib_module_names.h $(srcdir)/Python/stdlib_module_names.h.new
|
$(UPDATE_FILE) $(srcdir)/Python/stdlib_module_names.h $(srcdir)/Python/stdlib_module_names.h.new
|
||||||
|
|
||||||
regen-sre:
|
regen-sre:
|
||||||
# Regenerate Modules/_sre/sre_constants.h and Modules/_sre/sre_targets.h
|
# Regenerate Modules/_sre/sre_constants.h and Modules/_sre/sre_targets.h
|
||||||
# from Lib/re/_constants.py using Tools/scripts/generate_sre_constants.py
|
# from Lib/re/_constants.py using Tools/build/generate_sre_constants.py
|
||||||
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/generate_sre_constants.py \
|
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_sre_constants.py \
|
||||||
$(srcdir)/Lib/re/_constants.py \
|
$(srcdir)/Lib/re/_constants.py \
|
||||||
$(srcdir)/Modules/_sre/sre_constants.h \
|
$(srcdir)/Modules/_sre/sre_constants.h \
|
||||||
$(srcdir)/Modules/_sre/sre_targets.h
|
$(srcdir)/Modules/_sre/sre_targets.h
|
||||||
|
@ -2511,7 +2511,7 @@ distclean: clobber docclean
|
||||||
|
|
||||||
# Check that all symbols exported by libpython start with "Py" or "_Py"
|
# Check that all symbols exported by libpython start with "Py" or "_Py"
|
||||||
smelly: all
|
smelly: all
|
||||||
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/smelly.py
|
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/build/smelly.py
|
||||||
|
|
||||||
# Find files with funny names
|
# Find files with funny names
|
||||||
funny:
|
funny:
|
||||||
|
@ -2549,7 +2549,7 @@ patchcheck: all
|
||||||
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/patchcheck/patchcheck.py
|
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/patchcheck/patchcheck.py
|
||||||
|
|
||||||
check-limited-abi: all
|
check-limited-abi: all
|
||||||
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/stable_abi.py --all $(srcdir)/Misc/stable_abi.toml
|
$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/build/stable_abi.py --all $(srcdir)/Misc/stable_abi.toml
|
||||||
|
|
||||||
.PHONY: update-config
|
.PHONY: update-config
|
||||||
update-config:
|
update-config:
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Please append new items at the end.
|
# Please append new items at the end.
|
||||||
|
|
||||||
# The syntax of this file is not fixed.
|
# The syntax of this file is not fixed.
|
||||||
# It is designed to be read only by Tools/stable_abi.py, which can change
|
# It is designed to be read only by Tools/build/stable_abi.py, which can change
|
||||||
# without notice.
|
# without notice.
|
||||||
|
|
||||||
# For the history of the stable ABI prior to this file,
|
# For the history of the stable ABI prior to this file,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
*
|
*
|
||||||
* regular expression matching engine
|
* regular expression matching engine
|
||||||
*
|
*
|
||||||
* Auto-generated by Tools/scripts/generate_sre_constants.py from
|
* Auto-generated by Tools/build/generate_sre_constants.py from
|
||||||
* Lib/re/_constants.py.
|
* Lib/re/_constants.py.
|
||||||
*
|
*
|
||||||
* Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.
|
* Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
*
|
*
|
||||||
* regular expression matching engine
|
* regular expression matching engine
|
||||||
*
|
*
|
||||||
* Auto-generated by Tools/scripts/generate_sre_constants.py from
|
* Auto-generated by Tools/build/generate_sre_constants.py from
|
||||||
* Lib/re/_constants.py.
|
* Lib/re/_constants.py.
|
||||||
*
|
*
|
||||||
* Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.
|
* Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
/* Re-export stable Python ABI */
|
/* Re-export stable Python ABI */
|
||||||
|
|
||||||
/* Generated by Tools/scripts/stable_abi.py */
|
/* Generated by Tools/build/stable_abi.py */
|
||||||
|
|
||||||
#ifdef _M_IX86
|
#ifdef _M_IX86
|
||||||
#define DECORATE "_"
|
#define DECORATE "_"
|
||||||
|
|
|
@ -395,7 +395,7 @@
|
||||||
DependsOnTargets="FindPythonForBuild"
|
DependsOnTargets="FindPythonForBuild"
|
||||||
Condition="$(Configuration) != 'PGUpdate'">
|
Condition="$(Configuration) != 'PGUpdate'">
|
||||||
<!-- BEGIN deepfreeze rule -->
|
<!-- BEGIN deepfreeze rule -->
|
||||||
<Exec Command='$(PythonForBuild) "$(PySourcePath)Tools\scripts\deepfreeze.py" ^
|
<Exec Command='$(PythonForBuild) "$(PySourcePath)Tools\build\deepfreeze.py" ^
|
||||||
"$(PySourcePath)Python\frozen_modules\importlib._bootstrap.h:importlib._bootstrap" ^
|
"$(PySourcePath)Python\frozen_modules\importlib._bootstrap.h:importlib._bootstrap" ^
|
||||||
"$(PySourcePath)Python\frozen_modules\importlib._bootstrap_external.h:importlib._bootstrap_external" ^
|
"$(PySourcePath)Python\frozen_modules\importlib._bootstrap_external.h:importlib._bootstrap_external" ^
|
||||||
"$(PySourcePath)Python\frozen_modules\zipimport.h:zipimport" ^
|
"$(PySourcePath)Python\frozen_modules\zipimport.h:zipimport" ^
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<_ASTOutputs Include="$(PySourcePath)Python\Python-ast.c">
|
<_ASTOutputs Include="$(PySourcePath)Python\Python-ast.c">
|
||||||
<Argument>-C</Argument>
|
<Argument>-C</Argument>
|
||||||
</_ASTOutputs>
|
</_ASTOutputs>
|
||||||
<_OpcodeSources Include="$(PySourcePath)Tools\scripts\generate_opcode_h.py;$(PySourcePath)Lib\opcode.py" />
|
<_OpcodeSources Include="$(PySourcePath)Tools\build\generate_opcode_h.py;$(PySourcePath)Lib\opcode.py" />
|
||||||
<_OpcodeOutputs Include="$(PySourcePath)Include\opcode.h;$(PySourcePath)Include\internal\pycore_opcode.h;$(PySourcePath)Python\opcode_targets.h" />
|
<_OpcodeOutputs Include="$(PySourcePath)Include\opcode.h;$(PySourcePath)Include\internal\pycore_opcode.h;$(PySourcePath)Python\opcode_targets.h" />
|
||||||
<_TokenSources Include="$(PySourcePath)Grammar\Tokens" />
|
<_TokenSources Include="$(PySourcePath)Grammar\Tokens" />
|
||||||
<_TokenOutputs Include="$(PySourcePath)Doc\library\token-list.inc">
|
<_TokenOutputs Include="$(PySourcePath)Doc\library\token-list.inc">
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
Inputs="@(_OpcodeSources)" Outputs="@(_OpcodeOutputs)"
|
Inputs="@(_OpcodeSources)" Outputs="@(_OpcodeOutputs)"
|
||||||
DependsOnTargets="FindPythonForBuild">
|
DependsOnTargets="FindPythonForBuild">
|
||||||
<Message Text="Regenerate @(_OpcodeOutputs->'%(Filename)%(Extension)',' ')" Importance="high" />
|
<Message Text="Regenerate @(_OpcodeOutputs->'%(Filename)%(Extension)',' ')" Importance="high" />
|
||||||
<Exec Command="$(PythonForBuild) Tools\scripts\generate_opcode_h.py Lib\opcode.py Include\opcode.h Include\internal\pycore_opcode.h"
|
<Exec Command="$(PythonForBuild) Tools\build\generate_opcode_h.py Lib\opcode.py Include\opcode.h Include\internal\pycore_opcode.h"
|
||||||
WorkingDirectory="$(PySourcePath)" />
|
WorkingDirectory="$(PySourcePath)" />
|
||||||
<Exec Command="$(PythonForBuild) Python\makeopcodetargets.py Python\opcode_targets.h"
|
<Exec Command="$(PythonForBuild) Python\makeopcodetargets.py Python\opcode_targets.h"
|
||||||
WorkingDirectory="$(PySourcePath)" />
|
WorkingDirectory="$(PySourcePath)" />
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
Inputs="@(_TokenSources)" Outputs="@(_TokenOutputs)"
|
Inputs="@(_TokenSources)" Outputs="@(_TokenOutputs)"
|
||||||
DependsOnTargets="FindPythonForBuild">
|
DependsOnTargets="FindPythonForBuild">
|
||||||
<Message Text="Regenerate @(_TokenOutputs->'%(Filename)%(Extension)',' ')" Importance="high" />
|
<Message Text="Regenerate @(_TokenOutputs->'%(Filename)%(Extension)',' ')" Importance="high" />
|
||||||
<Exec Command="$(PythonForBuild) Tools\scripts\generate_token.py %(_TokenOutputs.Format) Grammar\Tokens "%(_TokenOutputs.Identity)""
|
<Exec Command="$(PythonForBuild) Tools\build\generate_token.py %(_TokenOutputs.Format) Grammar\Tokens "%(_TokenOutputs.Identity)""
|
||||||
WorkingDirectory="$(PySourcePath)" />
|
WorkingDirectory="$(PySourcePath)" />
|
||||||
<Touch Files="@(_TokenOutputs)" />
|
<Touch Files="@(_TokenOutputs)" />
|
||||||
</Target>
|
</Target>
|
||||||
|
@ -85,7 +85,7 @@
|
||||||
<Target Name="_RegenGlobalObjects"
|
<Target Name="_RegenGlobalObjects"
|
||||||
DependsOnTargets="FindPythonForBuild">
|
DependsOnTargets="FindPythonForBuild">
|
||||||
<Message Text="Regenerate Global Objects" Importance="high" />
|
<Message Text="Regenerate Global Objects" Importance="high" />
|
||||||
<Exec Command="$(PythonForBuild) Tools\scripts\generate_global_objects.py"
|
<Exec Command="$(PythonForBuild) Tools\build\generate_global_objects.py"
|
||||||
WorkingDirectory="$(PySourcePath)" />
|
WorkingDirectory="$(PySourcePath)" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Auto-generated by Tools/scripts/generate_token.py */
|
/* Auto-generated by Tools/build/generate_token.py */
|
||||||
|
|
||||||
#include "Python.h"
|
#include "Python.h"
|
||||||
#include "pycore_token.h"
|
#include "pycore_token.h"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* Frozen modules bootstrap
|
/* Frozen modules bootstrap
|
||||||
*
|
*
|
||||||
* Limited and restricted Python interpreter to run
|
* Limited and restricted Python interpreter to run
|
||||||
* "Tools/scripts/deepfreeze.py" on systems with no or older Python
|
* "Tools/build/deepfreeze.py" on systems with no or older Python
|
||||||
* interpreter.
|
* interpreter.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
modules into frozen modules (like Lib/importlib/_bootstrap.py
|
modules into frozen modules (like Lib/importlib/_bootstrap.py
|
||||||
into Python/importlib.h).
|
into Python/importlib.h).
|
||||||
|
|
||||||
This is used directly by Tools/scripts/freeze_modules.py, and indirectly by "make regen-frozen".
|
This is used directly by Tools/build/freeze_modules.py, and indirectly by "make regen-frozen".
|
||||||
|
|
||||||
See Python/frozen.c for more info.
|
See Python/frozen.c for more info.
|
||||||
|
|
||||||
|
|
|
@ -3,4 +3,4 @@ modules. Python/frozen.c depends on these files.
|
||||||
|
|
||||||
None of these files are committed into the repo.
|
None of these files are committed into the repo.
|
||||||
|
|
||||||
See Tools/scripts/freeze_modules.py for more info.
|
See Tools/build/freeze_modules.py for more info.
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
* These files must be regenerated any time the corresponding .pyc
|
* These files must be regenerated any time the corresponding .pyc
|
||||||
* file would change (including with changes to the compiler, bytecode
|
* file would change (including with changes to the compiler, bytecode
|
||||||
* format, marshal format). This can be done with "make regen-frozen".
|
* format, marshal format). This can be done with "make regen-frozen".
|
||||||
* That make target just runs Tools/scripts/freeze_modules.py.
|
* That make target just runs Tools/build/freeze_modules.py.
|
||||||
*
|
*
|
||||||
* The freeze_modules.py script also determines which modules get
|
* The freeze_modules.py script also determines which modules get
|
||||||
* frozen. Update the list at the top of the script to add, remove,
|
* frozen. Update the list at the top of the script to add, remove,
|
||||||
|
|
|
@ -4,4 +4,4 @@ modules. Python/frozen.c depends on these files.
|
||||||
Note that, other than the required frozen modules, none of these files
|
Note that, other than the required frozen modules, none of these files
|
||||||
are committed into the repo.
|
are committed into the repo.
|
||||||
|
|
||||||
See Tools/scripts/freeze_modules.py for more info.
|
See Tools/build/freeze_modules.py for more info.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Auto-generated by Tools/scripts/generate_stdlib_module_names.py.
|
// Auto-generated by Tools/build/generate_stdlib_module_names.py.
|
||||||
// List used to create sys.stdlib_module_names.
|
// List used to create sys.stdlib_module_names.
|
||||||
|
|
||||||
static const char* _Py_stdlib_module_names[] = {
|
static const char* _Py_stdlib_module_names[] = {
|
||||||
|
|
|
@ -581,7 +581,7 @@ def regen_makefile(modules):
|
||||||
frozenfiles = []
|
frozenfiles = []
|
||||||
rules = ['']
|
rules = ['']
|
||||||
deepfreezerules = ["Python/deepfreeze/deepfreeze.c: $(DEEPFREEZE_DEPS)",
|
deepfreezerules = ["Python/deepfreeze/deepfreeze.c: $(DEEPFREEZE_DEPS)",
|
||||||
"\t$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py \\"]
|
"\t$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/build/deepfreeze.py \\"]
|
||||||
for src in _iter_sources(modules):
|
for src in _iter_sources(modules):
|
||||||
frozen_header = relpath_for_posix_display(src.frozenfile, ROOT_DIR)
|
frozen_header = relpath_for_posix_display(src.frozenfile, ROOT_DIR)
|
||||||
frozenfiles.append(f'\t\t{frozen_header} \\')
|
frozenfiles.append(f'\t\t{frozen_header} \\')
|
||||||
|
@ -646,7 +646,7 @@ def regen_pcbuild(modules):
|
||||||
projlines = []
|
projlines = []
|
||||||
filterlines = []
|
filterlines = []
|
||||||
corelines = []
|
corelines = []
|
||||||
deepfreezerules = ['\t<Exec Command=\'$(PythonForBuild) "$(PySourcePath)Tools\\scripts\\deepfreeze.py" ^']
|
deepfreezerules = ['\t<Exec Command=\'$(PythonForBuild) "$(PySourcePath)Tools\\build\\deepfreeze.py" ^']
|
||||||
for src in _iter_sources(modules):
|
for src in _iter_sources(modules):
|
||||||
pyfile = relpath_for_windows_display(src.pyfile, ROOT_DIR)
|
pyfile = relpath_for_windows_display(src.pyfile, ROOT_DIR)
|
||||||
header = relpath_for_windows_display(src.frozenfile, ROOT_DIR)
|
header = relpath_for_windows_display(src.frozenfile, ROOT_DIR)
|
|
@ -3,6 +3,7 @@ import io
|
||||||
import os.path
|
import os.path
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
SCRIPT_NAME = 'Tools/build/generate_global_objects.py'
|
||||||
__file__ = os.path.abspath(__file__)
|
__file__ = os.path.abspath(__file__)
|
||||||
ROOT = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
ROOT = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
||||||
INTERNAL = os.path.join(ROOT, 'Include', 'internal')
|
INTERNAL = os.path.join(ROOT, 'Include', 'internal')
|
||||||
|
@ -213,7 +214,7 @@ def open_for_changes(filename, orig):
|
||||||
#######################################
|
#######################################
|
||||||
# the global objects
|
# the global objects
|
||||||
|
|
||||||
START = '/* The following is auto-generated by Tools/scripts/generate_global_objects.py. */'
|
START = f'/* The following is auto-generated by {SCRIPT_NAME}. */'
|
||||||
END = '/* End auto-generated code */'
|
END = '/* End auto-generated code */'
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
import sys
|
import sys
|
||||||
import tokenize
|
import tokenize
|
||||||
|
|
||||||
SCRIPT_NAME = "Tools/scripts/generate_opcode_h.py"
|
SCRIPT_NAME = "Tools/build/generate_opcode_h.py"
|
||||||
PYTHON_OPCODE = "Lib/opcode.py"
|
PYTHON_OPCODE = "Lib/opcode.py"
|
||||||
|
|
||||||
header = f"""
|
header = f"""
|
|
@ -5,6 +5,8 @@ import collections
|
||||||
import sys
|
import sys
|
||||||
import unicodedata
|
import unicodedata
|
||||||
|
|
||||||
|
SCRIPT_NAME = 'Tools/build/generate_re_casefix.py'
|
||||||
|
|
||||||
def update_file(file, content):
|
def update_file(file, content):
|
||||||
try:
|
try:
|
||||||
with open(file, 'r', encoding='utf-8') as fobj:
|
with open(file, 'r', encoding='utf-8') as fobj:
|
||||||
|
@ -16,8 +18,8 @@ def update_file(file, content):
|
||||||
fobj.write(content)
|
fobj.write(content)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
re_casefix_template = """\
|
re_casefix_template = f"""\
|
||||||
# Auto-generated by Tools/scripts/generate_re_casefix.py.
|
# Auto-generated by {SCRIPT_NAME}.
|
||||||
|
|
||||||
# Maps the code of lowercased character to codes of different lowercased
|
# Maps the code of lowercased character to codes of different lowercased
|
||||||
# characters which have the same uppercase.
|
# characters which have the same uppercase.
|
|
@ -1,6 +1,8 @@
|
||||||
#! /usr/bin/env python3
|
#! /usr/bin/env python3
|
||||||
# This script generates Modules/_sre/sre_constants.h from Lib/re/_constants.py.
|
# This script generates Modules/_sre/sre_constants.h from Lib/re/_constants.py.
|
||||||
|
|
||||||
|
SCRIPT_NAME = 'Tools/build/generate_sre_constants.py'
|
||||||
|
|
||||||
|
|
||||||
def update_file(file, content):
|
def update_file(file, content):
|
||||||
try:
|
try:
|
||||||
|
@ -13,13 +15,13 @@ def update_file(file, content):
|
||||||
fobj.write(content)
|
fobj.write(content)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
sre_constants_header = """\
|
sre_constants_header = f"""\
|
||||||
/*
|
/*
|
||||||
* Secret Labs' Regular Expression Engine
|
* Secret Labs' Regular Expression Engine
|
||||||
*
|
*
|
||||||
* regular expression matching engine
|
* regular expression matching engine
|
||||||
*
|
*
|
||||||
* Auto-generated by Tools/scripts/generate_sre_constants.py from
|
* Auto-generated by {SCRIPT_NAME} from
|
||||||
* Lib/re/_constants.py.
|
* Lib/re/_constants.py.
|
||||||
*
|
*
|
||||||
* Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.
|
* Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.
|
|
@ -10,6 +10,8 @@ import sysconfig
|
||||||
from check_extension_modules import ModuleChecker
|
from check_extension_modules import ModuleChecker
|
||||||
|
|
||||||
|
|
||||||
|
SCRIPT_NAME = 'Tools/build/generate_stdlib_module_names.py'
|
||||||
|
|
||||||
SRC_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
SRC_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
||||||
STDLIB_PATH = os.path.join(SRC_DIR, 'Lib')
|
STDLIB_PATH = os.path.join(SRC_DIR, 'Lib')
|
||||||
|
|
||||||
|
@ -112,7 +114,7 @@ def list_modules():
|
||||||
|
|
||||||
|
|
||||||
def write_modules(fp, names):
|
def write_modules(fp, names):
|
||||||
print("// Auto-generated by Tools/scripts/generate_stdlib_module_names.py.",
|
print(f"// Auto-generated by {SCRIPT_NAME}.",
|
||||||
file=fp)
|
file=fp)
|
||||||
print("// List used to create sys.stdlib_module_names.", file=fp)
|
print("// List used to create sys.stdlib_module_names.", file=fp)
|
||||||
print(file=fp)
|
print(file=fp)
|
|
@ -7,6 +7,8 @@
|
||||||
# Lib/token.py
|
# Lib/token.py
|
||||||
|
|
||||||
|
|
||||||
|
SCRIPT_NAME = 'Tools/build/generate_token.py'
|
||||||
|
AUTO_GENERATED_BY_SCRIPT = f'Auto-generated by {SCRIPT_NAME}'
|
||||||
NT_OFFSET = 256
|
NT_OFFSET = 256
|
||||||
|
|
||||||
def load_tokens(path):
|
def load_tokens(path):
|
||||||
|
@ -47,8 +49,10 @@ def update_file(file, content):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
token_h_template = """\
|
token_h_template = f"""\
|
||||||
/* Auto-generated by Tools/scripts/generate_token.py */
|
/* {AUTO_GENERATED_BY_SCRIPT} */
|
||||||
|
"""
|
||||||
|
token_h_template += """\
|
||||||
|
|
||||||
/* Token types */
|
/* Token types */
|
||||||
#ifndef Py_INTERNAL_TOKEN_H
|
#ifndef Py_INTERNAL_TOKEN_H
|
||||||
|
@ -105,8 +109,10 @@ def make_h(infile, outfile='Include/internal/pycore_token.h'):
|
||||||
print("%s regenerated from %s" % (outfile, infile))
|
print("%s regenerated from %s" % (outfile, infile))
|
||||||
|
|
||||||
|
|
||||||
token_c_template = """\
|
token_c_template = f"""\
|
||||||
/* Auto-generated by Tools/scripts/generate_token.py */
|
/* {AUTO_GENERATED_BY_SCRIPT} */
|
||||||
|
"""
|
||||||
|
token_c_template += """\
|
||||||
|
|
||||||
#include "Python.h"
|
#include "Python.h"
|
||||||
#include "pycore_token.h"
|
#include "pycore_token.h"
|
||||||
|
@ -189,8 +195,8 @@ def make_c(infile, outfile='Parser/token.c'):
|
||||||
print("%s regenerated from %s" % (outfile, infile))
|
print("%s regenerated from %s" % (outfile, infile))
|
||||||
|
|
||||||
|
|
||||||
token_inc_template = """\
|
token_inc_template = f"""\
|
||||||
.. Auto-generated by Tools/scripts/generate_token.py
|
.. {AUTO_GENERATED_BY_SCRIPT}
|
||||||
%s
|
%s
|
||||||
.. data:: N_TOKENS
|
.. data:: N_TOKENS
|
||||||
|
|
||||||
|
@ -213,10 +219,11 @@ def make_rst(infile, outfile='Doc/library/token-list.inc'):
|
||||||
print("%s regenerated from %s" % (outfile, infile))
|
print("%s regenerated from %s" % (outfile, infile))
|
||||||
|
|
||||||
|
|
||||||
token_py_template = '''\
|
token_py_template = f'''\
|
||||||
"""Token constants."""
|
"""Token constants."""
|
||||||
# Auto-generated by Tools/scripts/generate_token.py
|
# {AUTO_GENERATED_BY_SCRIPT}
|
||||||
|
'''
|
||||||
|
token_py_template += '''
|
||||||
__all__ = ['tok_name', 'ISTERMINAL', 'ISNONTERMINAL', 'ISEOF']
|
__all__ = ['tok_name', 'ISTERMINAL', 'ISNONTERMINAL', 'ISEOF']
|
||||||
|
|
||||||
%s
|
%s
|
|
@ -18,6 +18,7 @@ import json
|
||||||
from urllib.request import urlopen
|
from urllib.request import urlopen
|
||||||
from html.entities import html5
|
from html.entities import html5
|
||||||
|
|
||||||
|
SCRIPT_NAME = 'Tools/build/parse_html5_entities.py'
|
||||||
PAGE_URL = 'https://html.spec.whatwg.org/multipage/named-characters.html'
|
PAGE_URL = 'https://html.spec.whatwg.org/multipage/named-characters.html'
|
||||||
ENTITIES_URL = 'https://html.spec.whatwg.org/entities.json'
|
ENTITIES_URL = 'https://html.spec.whatwg.org/entities.json'
|
||||||
HTML5_SECTION_START = '# HTML5 named character references'
|
HTML5_SECTION_START = '# HTML5 named character references'
|
||||||
|
@ -69,7 +70,7 @@ def write_items(entities, file=sys.stdout):
|
||||||
keys = sorted(entities.keys())
|
keys = sorted(entities.keys())
|
||||||
keys = sorted(keys, key=str.lower)
|
keys = sorted(keys, key=str.lower)
|
||||||
print(HTML5_SECTION_START, file=file)
|
print(HTML5_SECTION_START, file=file)
|
||||||
print(f'# Generated by {sys.argv[0]!r}\n'
|
print(f'# Generated by {SCRIPT_NAME}\n'
|
||||||
f'# from {ENTITIES_URL} and\n'
|
f'# from {ENTITIES_URL} and\n'
|
||||||
f'# {PAGE_URL}.\n'
|
f'# {PAGE_URL}.\n'
|
||||||
f'# Map HTML5 named character references to the '
|
f'# Map HTML5 named character references to the '
|
|
@ -24,6 +24,7 @@ import io
|
||||||
import re
|
import re
|
||||||
import csv
|
import csv
|
||||||
|
|
||||||
|
SCRIPT_NAME = 'Tools/build/stable_abi.py'
|
||||||
MISSING = object()
|
MISSING = object()
|
||||||
|
|
||||||
EXCLUDED_HEADERS = {
|
EXCLUDED_HEADERS = {
|
||||||
|
@ -182,11 +183,12 @@ def generator(var_name, default_path):
|
||||||
def gen_python3dll(manifest, args, outfile):
|
def gen_python3dll(manifest, args, outfile):
|
||||||
"""Generate/check the source for the Windows stable ABI library"""
|
"""Generate/check the source for the Windows stable ABI library"""
|
||||||
write = partial(print, file=outfile)
|
write = partial(print, file=outfile)
|
||||||
write(textwrap.dedent(r"""
|
content = f"""
|
||||||
/* Re-export stable Python ABI */
|
/* Re-export stable Python ABI */
|
||||||
|
|
||||||
/* Generated by Tools/scripts/stable_abi.py */
|
/* Generated by {SCRIPT_NAME} */
|
||||||
|
"""
|
||||||
|
content += r"""
|
||||||
#ifdef _M_IX86
|
#ifdef _M_IX86
|
||||||
#define DECORATE "_"
|
#define DECORATE "_"
|
||||||
#else
|
#else
|
||||||
|
@ -197,7 +199,8 @@ def gen_python3dll(manifest, args, outfile):
|
||||||
__pragma(comment(linker, "/EXPORT:" DECORATE #name "=" PYTHON_DLL_NAME "." #name))
|
__pragma(comment(linker, "/EXPORT:" DECORATE #name "=" PYTHON_DLL_NAME "." #name))
|
||||||
#define EXPORT_DATA(name) \
|
#define EXPORT_DATA(name) \
|
||||||
__pragma(comment(linker, "/EXPORT:" DECORATE #name "=" PYTHON_DLL_NAME "." #name ",DATA"))
|
__pragma(comment(linker, "/EXPORT:" DECORATE #name "=" PYTHON_DLL_NAME "." #name ",DATA"))
|
||||||
"""))
|
"""
|
||||||
|
write(textwrap.dedent(content))
|
||||||
|
|
||||||
def sort_key(item):
|
def sort_key(item):
|
||||||
return item.name.lower()
|
return item.name.lower()
|
Loading…
Reference in New Issue