bpo-45873: Get rid of bootstrap_python#29717
Conversation
Instead we use $(PYTHON_FOR_REGEN) .../deepfreeze.py with the frozen .h file as input, as we did for Windows in bpo-45850. We also get rid of the code that generates the .h files when make regen-frozen is run (i.e., .../make_frozen.py).
44915f8 to
0821457
Compare
Instead we use $(PYTHON_FOR_REGEN) .../deepfreeze.py with the frozen .h file as input, as we did for Windows in bpo-45850. We also get rid of the code that generates the .h files when make regen-frozen is run (i.e., .../make_frozen.py).
|
(Sorry for the confusing push history. I had my branches mixed up. Should be ready for review now.) |
zware
left a comment
There was a problem hiding this comment.
One minor suggestion, otherwise LGTM
|
|
||
| @rem If py.exe finds a recent enough version, use that one | ||
| @for %%p in (3.10) do @py -%%p -EV >nul 2>&1 && (set PYTHON=py -%%p) && (set _Py_Python_Source=found %%p with py.exe) && goto :found | ||
| @for %%p in (3.10 3.9 3.8) do @py -%%p -EV >nul 2>&1 && (set PYTHON=py -%%p) && (set _Py_Python_Source=found %%p with py.exe) && goto :found |
There was a problem hiding this comment.
Considering how at least one (my :( ) buildbot happily used 3.1 for py -3.10, we might want to put 3.10 at the end of the list here.
There was a problem hiding this comment.
|
About the failing test. This is (again :-( ) about an out-of-tree build. Here's the thing. For each module foo.py that's to be frozen there's a rule that creates a frozen foo.h from it, and then a rule that creates a deep-frozen foo.c from that. So far so good. Here's the weirdness. The freezing rule that creates foo.h writes to This seems inconsistent since I could go on forever randomly adding or removing Note that there's one more mention of |
|
The rule of thumb for for The idea behind out-of-tree (OOT) builds is a separation of source files and target files. Source files are any files we ship to users, either in a git checkout or in a source tarball. OOT building treat the source directory is an immutable, read-only source and places any generated file in a separate directory structure. The feature is also known as out of source build or autoconf with VPATH. Example for separate debug and release builds |
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
|
@gvanrossum: Please replace |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Instead we use $(PYTHON_FOR_REGEN) .../deepfreeze.py with the frozen .h file as input, as we did for Windows in bpo-45850. We also get rid of the code that generates the .h files when make regen-frozen is run (i.e., .../make_frozen.py), and the MANIFEST file. Restore Python 3.8 and 3.9 as Windows host Python again Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Instead we use
$(PYTHON_FOR_REGEN) .../deepfreeze.pywith thefrozen .h file as input, as we did for Windows in bpo-45850.
We also get rid of the code that generates the .h files
when make regen-frozen is run (i.e., .../make_frozen.py),
as well as the generated MANIFEST file
(the latter depended on those .h files existing).
https://bugs.python.org/issue45873