-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
bpo-45950: Introduce Bootstrap Python again #29859
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
fe57850
to
b757d5b
Compare
b757d5b
to
fa4cd7f
Compare
Why not just always use |
When LTO is used, a link step can be quite slow. I noticed that when there was a second _bootstrap_python binary. I didn't check if _testembed has a similar issue or not. I'm mostly developing Python without |
Maybe LTO flags can be skipped on these less important binaries. |
FYI the revert #29717 fixed an issue with out of tree build. Please try to make sure that this bug is not reintroduced: https://bugs.python.org/issue45866#msg406764 |
We need some extra logic in configure.ac and Makefile anyway. The
I'll come up with a better way to test |
757a652
to
551fb30
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am in favor of this. Thanks for doing this!
551fb30
to
cfe4551
Compare
I'll try to build this as RPM in Fedora to see if there are some problems with our bootstrapped OOT build. |
I am getting a lot of undefined references to
|
cfe4551
to
02da340
Compare
Please try again. I have rebased the PR and added |
OOT build with optimizations is passing for me on F35:
|
That helped. |
02da340
to
252b53a
Compare
Rebased on top of #29902 |
252b53a
to
c630ffd
Compare
The build system now uses a `_bootstrap_python` interpreter for freezing and deepfreezing again. Cross building depends on a build Python interpreter. `_bootstrap_python` and `_freeze_module` are no longer compiled with LTO. Link time optimization is very slow.
c630ffd
to
ba35cc4
Compare
The build system now uses a :program:
_bootstrap_python
interpreter forfreezing and deepfreezing again. To speed up build process the build tools
:program:
_bootstrap_python
and :program:_freeze_module
are no longerbuild with LTO.
Cross building depends on a build Python interpreter, which must have same
version and bytecode as target host Python.
https://bugs.python.org/issue45950