@@ -7,7 +7,7 @@ Configure Python
77
88.. _build-requirements :
99
10- Build Requirements
10+ Build requirements
1111==================
1212
1313To 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
188190configure 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
220222List all :file: `configure ` script options using::
@@ -223,7 +225,7 @@ List all :file:`configure` script options using::
223225
224226See 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
917919A 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
12861288See :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
13411343See :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
13661368Cross 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
14161418Main 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.
15381544They 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.
15501556At the beginning of the files, C extensions are built as built-in modules.
15511557Extensions 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
15551561differently depending if the ``Py_BUILD_CORE_MODULE `` macro is defined:
15561562
0 commit comments