2019-05-17 11:55:34 +02:00
|
|
|
.. highlight:: c
|
2007-08-15 14:28:22 +00:00
|
|
|
|
|
|
|
|
.. _building:
|
|
|
|
|
|
2015-07-03 19:49:15 +10:00
|
|
|
*****************************
|
|
|
|
|
Building C and C++ Extensions
|
|
|
|
|
*****************************
|
2007-08-15 14:28:22 +00:00
|
|
|
|
2025-06-13 16:39:35 +02:00
|
|
|
A C extension for CPython is a shared library (for example, a ``.so`` file on
|
|
|
|
|
Linux, ``.pyd`` on Windows), which exports an *initialization function*.
|
2015-07-03 19:49:15 +10:00
|
|
|
|
2025-06-13 16:39:35 +02:00
|
|
|
See :ref:`extension-modules` for details.
|
2015-07-03 19:49:15 +10:00
|
|
|
|
|
|
|
|
|
2019-05-17 11:55:34 +02:00
|
|
|
.. highlight:: c
|
2015-07-03 19:49:15 +10:00
|
|
|
|
2023-08-16 22:06:56 +01:00
|
|
|
.. _install-index:
|
2022-07-25 15:50:46 +02:00
|
|
|
.. _setuptools-index:
|
2015-07-03 19:49:15 +10:00
|
|
|
|
2022-07-25 15:50:46 +02:00
|
|
|
Building C and C++ Extensions with setuptools
|
|
|
|
|
=============================================
|
2007-08-15 14:28:22 +00:00
|
|
|
|
2025-06-13 16:39:35 +02:00
|
|
|
|
|
|
|
|
Building, packaging and distributing extension modules is best done with
|
|
|
|
|
third-party tools, and is out of scope of this document.
|
|
|
|
|
One suitable tool is Setuptools, whose documentation can be found at
|
|
|
|
|
https://setuptools.pypa.io/en/latest/setuptools.html.
|
|
|
|
|
|
|
|
|
|
The :mod:`distutils` module, which was included in the standard library
|
|
|
|
|
until Python 3.12, is now maintained as part of Setuptools.
|