Merge pull request #1347 from hauntsaninja/abi3audit
Suggest running abi3audit in docs
This commit is contained in:
@@ -118,6 +118,8 @@ The CPython Limited API is a subset of the Python C Extension API that's declare
|
||||
|
||||
To create a package that builds ABI3 wheels, you'll need to configure your build backend to compile libraries correctly create wheels with the right tags. [Check this repo](https://github.com/joerick/python-abi3-package-sample) for an example of how to do this with setuptools.
|
||||
|
||||
You could also consider running [abi3audit](https://github.com/trailofbits/abi3audit) against the produced wheels in order to check for abi3 violations or inconsistencies. You can run it alongside the default in your [CIBW_REPAIR_WHEEL_COMMAND](options.md#repair-wheel-command).
|
||||
|
||||
### Packages with optional C extensions {: #optional-extensions}
|
||||
|
||||
`cibuildwheel` defines the environment variable `CIBUILDWHEEL` to the value `1` allowing projects for which the C extension is optional to make it mandatory when building wheels.
|
||||
|
||||
@@ -898,6 +898,18 @@ Platform-specific environment variables are also available:<br/>
|
||||
python scripts/check_repaired_wheel.py -w {dest_dir} {wheel}
|
||||
```
|
||||
|
||||
```yaml
|
||||
# Use abi3audit to catch issues with Limited API wheels
|
||||
CIBW_REPAIR_WHEEL_COMMAND_LINUX: >
|
||||
auditwheel repair -w {dest_dir} {wheel} &&
|
||||
pipx run abi3audit --strict --report {wheel}
|
||||
CIBW_REPAIR_WHEEL_COMMAND_MACOS: >
|
||||
delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} &&
|
||||
pipx run abi3audit --strict --report {wheel}
|
||||
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: >
|
||||
pipx run abi3audit --strict --report {wheel}
|
||||
```
|
||||
|
||||
!!! tab examples "pyproject.toml"
|
||||
|
||||
```toml
|
||||
@@ -922,6 +934,22 @@ Platform-specific environment variables are also available:<br/>
|
||||
]
|
||||
```
|
||||
|
||||
```toml
|
||||
# Use abi3audit to catch issues with Limited API wheels
|
||||
[tool.cibuildwheel.linux]
|
||||
repair-wheel-command = [
|
||||
"auditwheel repair -w {dest_dir} {wheel}",
|
||||
"pipx run abi3audit --strict --report {wheel}",
|
||||
]
|
||||
[tool.cibuildwheel.macos]
|
||||
repair-wheel-command = [
|
||||
"delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}",
|
||||
"pipx run abi3audit --strict --report {wheel}",
|
||||
]
|
||||
[tool.cibuildwheel.windows]
|
||||
repair-wheel-command = "pipx run abi3audit --strict --report {wheel}"
|
||||
```
|
||||
|
||||
In configuration mode, you can use an inline array, and the items will be joined with `&&`.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user