]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-46712: Do not Regen Deep-Frozen Modules before Generating Global Objects (gh...
authorEric Snow <ericsnowcurrently@gmail.com>
Wed, 23 Mar 2022 15:55:52 +0000 (09:55 -0600)
committerGitHub <noreply@github.com>
Wed, 23 Mar 2022 15:55:52 +0000 (09:55 -0600)
commitfebf54bcf3fdc45ad84b4073e24bbaaee0ac8b2a
treeabc92afd100f6a13f17314c1d2d72fd74303b78f
parent21412d037b07c08266e96dfd0c0e44a1b7693bc1
bpo-46712: Do not Regen Deep-Frozen Modules before Generating Global Objects (gh-32061)

We have to run "make regen-deepfreeze" before running Tools/scripts/generate-global-objects.py; otherwise we will miss any changes to global objects in deep-frozen modules (which aren't committed in the repo).  However, building $(PYTHON_FOR_FREEZE) fails if one of its source files had a global object (e.g. via _Py_ID(...)) added or removed, without generate-global-objects.py running first.  So "make regen-global-objects" would sometimes fail.

We solve this by running generate-global-objects.py before *and* after "make regen-deepfreeze". To speed things up and cut down on noise, we also avoid updating the global objects files if there are no changes to them.

https://bugs.python.org/issue46712
Makefile.pre.in
Tools/scripts/generate_global_objects.py