-
Notifications
You must be signed in to change notification settings - Fork 0
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
PEP 756: The CPython 3.13 build system #5
Conversation
We can include an Implementation section that lays out a high-level implementation plan. |
@@ -0,0 +1,155 @@ | |||
PEP: 756 | |||
Title: The CPython 3.13 build system. |
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.
Need a more fancy title.
Meta: perhaps we should merge the two PRs into one. |
* PEP 654, 678, 680: Mark as Final * PEP 654: Add Discussions-To * PEP 654: Add Resolution * PEP 678, 680: Update Post-History * PEP 654, 678, 680: Link to canonical docs * PEP 654, 707: Update Irit's email --------- Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
A build system will be implemented with the goals of PEP 755 in mind: | ||
|
||
- a unified build system that works on all :pep:`11` supported platforms | ||
- correct and fast incremental builds | ||
- deterministic builds | ||
- it should be easy to constrain external dependencies | ||
- cross-compilation support | ||
|
||
A new build system should also have the following traits: | ||
|
||
- good quality documentation | ||
- an active community | ||
- being actively developed |
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.
Put this into Rationale?
Implementation | ||
-------------- |
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.
Perhaps move this up in the hierarchy. Also: need to expand this section.
Implementation | |
-------------- | |
Implementation | |
============== |
1. Compile and link the source files in :file:`Python/` into an object file. | ||
This implies generating :file:`pyconfig.h` for macros needed in :file:`Python/`. | ||
2. Locate dependencies for and compile the ``_sqlite3`` extension module | ||
3. Add a target that regenerates Argument Clinic code |
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.
Expand on these; add rationale for each point.
The authors suggest to hire a developer to work full-time on the final implementation, | ||
as it will be a time-consuming task. |
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'm not sure this should be in the PEP, but I think it will be crucial that someone is allowed to work full-time on this. Similar to how the BPO => GitHub Issues transition was carried through.
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: T. Wouters <thomas@python.org> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
standardize mod name The PEP says that the module name is "sentinels" (plural) but the example imports Sentinel from the "sentinel" (singular) module. Not absolutely sure which one is intended but recent standards (secrets, dataclasses) have used the plural. CLA for Python signed, in case that's needed. Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* For most cases (including all PEP metadata), replace birth name with chosen name * Birth name has been retained in parentheses when this makes other references substantially clearer (e.g. references to mailing list posts, elected members of the inaugural Steering Council)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
I'm planning to revisit this as a single PEP draft. |
This is an early draft.