mirror of https://github.com/python/cpython
Document how to define extension modules in setup.cfg
This commit is contained in:
parent
a462a80722
commit
c7f9f2bfc7
|
@ -569,10 +569,10 @@ extension modules.
|
|||
.. class:: Extension
|
||||
|
||||
The Extension class describes a single C or C++ extension module. It accepts
|
||||
the following keyword arguments in its constructor
|
||||
the following keyword arguments in its constructor:
|
||||
|
||||
+------------------------+--------------------------------+---------------------------+
|
||||
| argument name | value | type |
|
||||
| argument name | value | type [#]_ |
|
||||
+========================+================================+===========================+
|
||||
| *name* | the full name of the | string |
|
||||
| | extension, including any | |
|
||||
|
@ -670,3 +670,5 @@ extension modules.
|
|||
| | from the source extensions if | |
|
||||
| | not provided. | |
|
||||
+------------------------+--------------------------------+---------------------------+
|
||||
|
||||
.. [#] For values documented as lists, the given type is the type of each element.
|
||||
|
|
|
@ -141,6 +141,9 @@ files
|
|||
Modules, scripts, data, documentation and other files to include in the
|
||||
distribution.
|
||||
|
||||
extension sections
|
||||
Options used to build extension modules.
|
||||
|
||||
command sections
|
||||
Options given for specific commands, identical to those that can be given
|
||||
on the command line.
|
||||
|
@ -736,6 +739,35 @@ We use brace expansion syntax to place all the shell and batch scripts into
|
|||
{scripts} category.
|
||||
|
||||
|
||||
Extension sections
|
||||
------------------
|
||||
|
||||
If a project includes extension modules written in C or C++, each one of them
|
||||
needs to have its options defined in a dedicated section. Here's an example::
|
||||
|
||||
[files]
|
||||
packages = coconut
|
||||
|
||||
[extension=_fastcoconut]
|
||||
name = coconut._fastcoconut
|
||||
language = cxx
|
||||
sources = cxx_src/cononut_utils.cxx
|
||||
cxx_src/python_module.cxx
|
||||
include_dirs = /usr/include/gecode
|
||||
/usr/include/blitz
|
||||
extra_compile_args =
|
||||
-fPIC -O2
|
||||
-DGECODE_VERSION=$(./gecode_version) -- sys.platform != 'win32'
|
||||
/DGECODE_VERSION='win32' -- sys.platform == 'win32'
|
||||
|
||||
The section name must start with ``extension=``; the righ-hand part is currently
|
||||
discarded. Valid fields and their values are listed in the documentation of the
|
||||
:class:`packaging.compiler.extension.Extension` class; values documented as
|
||||
Python lists translate to multi-line values in the configuration file. In
|
||||
addition, multi-line values accept environment markers on each line, after a
|
||||
``--``.
|
||||
|
||||
|
||||
Command sections
|
||||
----------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue