Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
c7f9f2bf
Commit
c7f9f2bf
authored
Jun 09, 2011
by
Éric Araujo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Document how to define extension modules in setup.cfg
parent
a462a807
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
2 deletions
+36
-2
Doc/library/packaging.compiler.rst
Doc/library/packaging.compiler.rst
+4
-2
Doc/packaging/setupcfg.rst
Doc/packaging/setupcfg.rst
+32
-0
No files found.
Doc/library/packaging.compiler.rst
View file @
c7f9f2bf
...
...
@@ -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.
Doc/packaging/setupcfg.rst
View file @
c7f9f2bf
...
...
@@ -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
----------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment