Skip to content

Commit 426bf03

Browse files
Additional updates, and fix titles
1 parent fc5d01f commit 426bf03

2 files changed

Lines changed: 33 additions & 26 deletions

File tree

‎Doc/using/configure.rst‎

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Configure Python
77

88
.. _build-requirements:
99

10-
Build Requirements
10+
Build requirements
1111
==================
1212

1313
To build CPython, you will need:
@@ -181,9 +181,11 @@ files. Commands to regenerate all generated files::
181181
make regen-stdlib-module-names
182182
make regen-limited-abi
183183
make regen-configure
184+
make regen-sbom
185+
make regen-unicodedata
184186

185-
The ``Makefile.pre.in`` file documents generated files, their inputs, and tools used
186-
to regenerate them. Search for ``regen-*`` make targets.
187+
The :source:`Makefile.pre.in` file documents generated files, their inputs, and
188+
tools used to regenerate them. Search for ``regen-*`` make targets.
187189

188190
configure script
189191
----------------
@@ -214,7 +216,7 @@ and `pkg-config <https://www.freedesktop.org/wiki/Software/pkg-config/>`_ 1.8.1.
214216

215217
.. _configure-options:
216218

217-
Configure Options
219+
Configure options
218220
=================
219221

220222
List all :file:`configure` script options using::
@@ -223,7 +225,7 @@ List all :file:`configure` script options using::
223225

224226
See also the :file:`Misc/SpecialBuilds.txt` in the Python source distribution.
225227

226-
General Options
228+
General options
227229
---------------
228230

229231
.. option:: --enable-loadable-sqlite-extensions
@@ -628,7 +630,7 @@ Options for third-party dependencies
628630
overriding ``pkg-config``.
629631

630632

631-
WebAssembly Options
633+
WebAssembly options
632634
-------------------
633635

634636
.. option:: --enable-wasm-dynamic-linking
@@ -647,7 +649,7 @@ WebAssembly Options
647649
.. versionadded:: 3.11
648650

649651

650-
Install Options
652+
Install options
651653
---------------
652654

653655
.. option:: --prefix=PREFIX
@@ -911,7 +913,7 @@ also be used to improve performance.
911913

912914
.. _debug-build:
913915

914-
Python Debug Build
916+
Python debug build
915917
------------------
916918

917919
A debug build is Python built with the :option:`--with-pydebug` configure
@@ -1202,7 +1204,7 @@ Libraries options
12021204
.. versionadded:: 3.10
12031205

12041206

1205-
Security Options
1207+
Security options
12061208
----------------
12071209

12081210
.. option:: --with-hash-algorithm=[fnv|siphash13|siphash24]
@@ -1280,7 +1282,7 @@ Security Options
12801282
.. versionadded:: 3.14
12811283

12821284

1283-
macOS Options
1285+
macOS options
12841286
-------------
12851287

12861288
See :source:`Mac/README.rst`.
@@ -1335,7 +1337,7 @@ See :source:`Mac/README.rst`.
13351337

13361338
.. versionadded:: 3.13
13371339

1338-
iOS Options
1340+
iOS options
13391341
-----------
13401342

13411343
See :source:`Platforms/Apple/iOS/README.md`.
@@ -1360,7 +1362,7 @@ rejects :option:`--enable-shared`. See
13601362
iOS builds may be configured without a framework.
13611363

13621364

1363-
Cross Compiling Options
1365+
Cross compiling options
13641366
-----------------------
13651367

13661368
Cross compiling, also known as cross building, can be used to build Python
@@ -1410,7 +1412,7 @@ Cross compiling example::
14101412
--with-build-python=../x86_64/python
14111413

14121414

1413-
Python Build System
1415+
Python build system
14141416
===================
14151417

14161418
Main files of the build system
@@ -1443,12 +1445,14 @@ Main Makefile targets
14431445
CPython project) this is usually the ``all`` target. The
14441446
``configure`` script expands an ``autoconf`` variable,
14451447
``@DEF_MAKE_ALL_RULE@`` to describe precisely which targets ``make
1446-
all`` will build. The three choices are:
1448+
all`` will build. The choices are:
14471449

14481450
* ``profile-opt`` (configured with ``--enable-optimizations``)
1449-
* ``build_wasm`` (chosen if the host platform matches ``wasm32-wasi*`` or
1451+
* ``bolt-opt`` (configured with ``--enable-bolt``)
1452+
* ``build_emscripten`` (chosen if the host platform matches
14501453
``wasm32-emscripten``)
1451-
* ``build_all`` (configured without explicitly using either of the others)
1454+
* ``build_wasm`` (chosen if the host platform matches ``wasm32-wasi*``)
1455+
* ``build_all`` (configured without explicitly using any of the others)
14521456

14531457
Depending on the most recent source file changes, Make will rebuild
14541458
any targets (object files and executables) deemed out-of-date,
@@ -1466,7 +1470,7 @@ Main Makefile targets
14661470
Build the ``python`` program, but don't build the standard library
14671471
extension modules. This generates a file named ``platform`` which
14681472
contains a single line describing the details of the build platform,
1469-
e.g., ``macosx-14.3-arm64-3.12`` or ``linux-x86_64-3.13``.
1473+
for example, ``macosx-14.3-arm64-3.12`` or ``linux-x86_64-3.13``.
14701474

14711475
.. make-target:: make profile-opt
14721476

@@ -1513,7 +1517,9 @@ Main Makefile targets
15131517

15141518
Regenerate (almost) all generated files. These include (but are not
15151519
limited to) bytecode cases, and parser generator file.
1516-
``make regen-stdlib-module-names`` and ``autoconf`` must be run
1520+
``make regen-stdlib-module-names``, ``make regen-limited-abi``,
1521+
``make regen-configure``, ``make regen-sbom`` and
1522+
``make regen-unicodedata`` must be run
15171523
separately for the remaining `generated files <#generated-files>`_.
15181524

15191525

@@ -1534,23 +1540,23 @@ Built-in modules have no ``__file__`` attribute:
15341540
File "<stdin>", line 1, in <module>
15351541
AttributeError: module 'sys' has no attribute '__file__'
15361542
1537-
Other C extensions are built as dynamic libraries, like the ``_asyncio`` module.
1543+
Other C extensions are built as dynamic libraries, like the ``_zoneinfo`` module.
15381544
They are built with the ``Py_BUILD_CORE_MODULE`` macro defined.
1539-
Example on Linux x86-64:
1545+
For example on Linux x86-64:
15401546

15411547
.. code-block:: pycon
15421548
1543-
>>> import _asyncio
1544-
>>> _asyncio
1545-
<module '_asyncio' from '/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'>
1546-
>>> _asyncio.__file__
1547-
'/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'
1549+
>>> import _zoneinfo
1550+
>>> _zoneinfo
1551+
<module '_zoneinfo' from '/.../lib.linux-x86_64-3.16/_zoneinfo.cpython-316d-x86_64-linux-gnu.so'>
1552+
>>> _zoneinfo.__file__
1553+
'/.../lib.linux-x86_64-3.16/_zoneinfo.cpython-316d-x86_64-linux-gnu.so'
15481554
15491555
:file:`Modules/Setup` is used to generate Makefile targets to build C extensions.
15501556
At the beginning of the files, C extensions are built as built-in modules.
15511557
Extensions defined after the ``*shared*`` marker are built as dynamic libraries.
15521558

1553-
The :c:macro:`!PyAPI_FUNC()`, :c:macro:`!PyAPI_DATA()` and
1559+
The :c:macro:`PyAPI_FUNC()`, :c:macro:`PyAPI_DATA()` and
15541560
:c:macro:`PyMODINIT_FUNC` macros of :file:`Include/exports.h` are defined
15551561
differently depending if the ``Py_BUILD_CORE_MODULE`` macro is defined:
15561562

‎Makefile.pre.in‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1855,6 +1855,7 @@ regen-unicodedata:
18551855
# Regenerate all generated files
18561856

18571857
# "clinic" is regenerated implicitly via "regen-global-objects".
1858+
# Keep the list of targets to run manually in sync with Doc/using/configure.rst.
18581859
.PHONY: regen-all
18591860
regen-all: regen-cases regen-slots \
18601861
regen-token regen-ast regen-keyword regen-sre regen-frozen \

0 commit comments

Comments
 (0)