Skip to content

GH-92584: Remove references to Distutils in configure.rst #108043

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

Merged
merged 1 commit into from
Aug 16, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 6 additions & 11 deletions Doc/using/configure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,6 @@ Main files of the build system
* :file:`pyconfig.h` (created by :file:`configure`);
* :file:`Modules/Setup`: C extensions built by the Makefile using
:file:`Module/makesetup` shell script;
* :file:`setup.py`: C extensions built using the ``setuptools`` package.

Main build steps
----------------
Expand All @@ -695,8 +694,7 @@ Main build steps
* A static ``libpython`` library (``.a``) is created from objects files.
* ``python.o`` and the static ``libpython`` library are linked into the
final ``python`` program.
* C extensions are built by the Makefile (see :file:`Modules/Setup`)
and ``python setup.py build``.
* C extensions are built by the Makefile (see :file:`Modules/Setup`).

Main Makefile targets
---------------------
Expand Down Expand Up @@ -748,9 +746,6 @@ Example on Linux x86-64::
At the beginning of the files, C extensions are built as built-in modules.
Extensions defined after the ``*shared*`` marker are built as dynamic libraries.

The :file:`setup.py` script only builds C extensions as shared libraries using
the :mod:`distutils` module.

The :c:macro:`PyAPI_FUNC()`, :c:macro:`PyAPI_API()` and
:c:macro:`PyMODINIT_FUNC()` macros of :file:`Include/pyport.h` are defined
differently depending if the ``Py_BUILD_CORE_MODULE`` macro is defined:
Expand Down Expand Up @@ -784,7 +779,7 @@ Preprocessor flags
headers in a nonstandard directory ``<include dir>``.

Both :envvar:`CPPFLAGS` and :envvar:`LDFLAGS` need to contain the shell's
value for setup.py to be able to build extension modules using the
value to be able to build extension modules using the
directories specified in the environment variables.
Comment on lines 781 to 783
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've just removed setup.py rather than replacing with e.g. Makefile as I believe CPPFLAGS and LDFLAGS are used by the windows build, though I'm not sure.


.. envvar:: BASECPPFLAGS
Expand Down Expand Up @@ -821,8 +816,8 @@ Compiler flags
.. envvar:: CFLAGS_NODIST

:envvar:`CFLAGS_NODIST` is used for building the interpreter and stdlib C
extensions. Use it when a compiler flag should *not* be part of the
distutils :envvar:`CFLAGS` once Python is installed (:issue:`21121`).
extensions. Use it when a compiler flag should *not* be part of
:envvar:`CFLAGS` once Python is installed (:gh:`65320`).
Comment on lines +819 to +820
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if the issue link (#65320) is still relevant, but I've kept in case.


In particular, :envvar:`CFLAGS` should not contain:

Expand Down Expand Up @@ -952,7 +947,7 @@ Linker flags

:envvar:`LDFLAGS_NODIST` is used in the same manner as
:envvar:`CFLAGS_NODIST`. Use it when a linker flag should *not* be part of
the distutils :envvar:`LDFLAGS` once Python is installed (:issue:`35257`).
:envvar:`LDFLAGS` once Python is installed (:gh:`65320`).

In particular, :envvar:`LDFLAGS` should not contain:

Expand All @@ -974,7 +969,7 @@ Linker flags
directory ``<lib dir>``.

Both :envvar:`CPPFLAGS` and :envvar:`LDFLAGS` need to contain the shell's
value for setup.py to be able to build extension modules using the
value to be able to build extension modules using the
directories specified in the environment variables.

.. envvar:: LIBS
Expand Down