diff --git a/docs/configuration.md b/docs/configuration.md index 0a0ce985..ae5ffc33 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -66,7 +66,7 @@ cibuildwheel to run tests, add the following YAML to your CI config file: !!! tab "Gitlab CI" - > .gitlab-ci.yml ([docs](https://docs.gitlab.com/ee/ci/variables/README.html#create-a-custom-variable-in-gitlab-ciyml)) + > .gitlab-ci.yml ([docs](https://docs.gitlab.com/ci/yaml/#variables)) ```yaml linux: diff --git a/docs/deliver-to-pypi.md b/docs/deliver-to-pypi.md index 6453ff6f..edd59b38 100644 --- a/docs/deliver-to-pypi.md +++ b/docs/deliver-to-pypi.md @@ -79,7 +79,7 @@ for an example configuration. ## Manual method -On your development machine, install [pipx](https://pypa.github.io/pipx/) and do the following: +On your development machine, install [pipx](https://pipx.pypa.io/) and do the following: ```bash # Either download the SDist from your CI, or make it: diff --git a/docs/faq.md b/docs/faq.md index 42e38c4b..e132413b 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -163,7 +163,7 @@ setuptools.setup( Your build might need some compiler flags to be set through environment variables. Consider incorporating these into your package, for example, in `setup.py` using [`extra_compile_args` or -`extra_link_args`](https://docs.python.org/3/distutils/setupscript.html#other-options). +`extra_link_args`](https://setuptools.pypa.io/en/latest/userguide/ext_modules.html#setuptools.Extension). ## Troubleshooting @@ -313,7 +313,7 @@ This error may happen when you install a library using a package manager like Ho ### Windows: 'ImportError: DLL load failed: The specific module could not be found' -Visual Studio and MSVC link the compiled binary wheels to the Microsoft Visual C++ Runtime. Normally, the C parts of the runtime are included with Python, but the C++ components are not. When compiling modules using C++, it is possible users will run into problems on systems that do not have the full set of runtime libraries installed. The solution is to ask users to download the corresponding Visual C++ Redistributable from the [Microsoft website](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) and install it. +Visual Studio and MSVC link the compiled binary wheels to the Microsoft Visual C++ Runtime. Normally, the C parts of the runtime are included with Python, but the C++ components are not. When compiling modules using C++, it is possible users will run into problems on systems that do not have the full set of runtime libraries installed. The solution is to ask users to download the corresponding Visual C++ Redistributable from the [Microsoft website](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist) and install it. Additionally, Visual Studio 2019 started linking to an even newer DLL, `VCRUNTIME140_1.dll`, besides the `VCRUNTIME140.dll` that is included with recent Python versions (starting from Python 3.5; see [here](https://wiki.python.org/moin/WindowsCompilers) for more details on the corresponding Visual Studio & MSVC versions used to compile the different Python versions). To avoid this extra dependency on `VCRUNTIME140_1.dll`, the [`/d2FH4-` flag](https://devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64/) can be added to the MSVC invocations (check out [this issue](https://github.com/pypa/cibuildwheel/issues/423) for details and references). CPython 3.8.3 and all versions after it have this extra DLL, so it is only needed for 3.8 and earlier. diff --git a/docs/options.md b/docs/options.md index 89e782bf..1a49a03e 100644 --- a/docs/options.md +++ b/docs/options.md @@ -982,22 +982,22 @@ The available options are: | Option | Default | |--------------------------------|-----------------------------------------------------------------| -| `manylinux-x86-64-image` | [`manylinux-2-28`](https://quay.io/pypa/manylinux-2-28-x86-64) | -| `manylinux-i686-image` | [`manylinux2014`](https://quay.io/pypa/manylinux2014-i686) | -| `manylinux-pypy-x86-64-image` | [`manylinux-2-28`](https://quay.io/pypa/manylinux-2-28-x86-64) | -| `manylinux-aarch64-image` | [`manylinux-2-28`](https://quay.io/pypa/manylinux-2-28-aarch64) | -| `manylinux-ppc64le-image` | [`manylinux-2-28`](https://quay.io/pypa/manylinux-2-28-ppc64le) | -| `manylinux-s390x-image` | [`manylinux-2-28`](https://quay.io/pypa/manylinux-2-28-s390x) | -| `manylinux-armv7l-image` | [`manylinux-2-31`](https://quay.io/pypa/manylinux-2-31-armv7l) | +| `manylinux_x86_64-image` | [`manylinux_2_28`](https://quay.io/pypa/manylinux_2_28_x86_64) | +| `manylinux-i686-image` | [`manylinux2014`](https://quay.io/pypa/manylinux2014_i686) | +| `manylinux-pypy_x86_64-image` | [`manylinux_2_28`](https://quay.io/pypa/manylinux_2_28_x86_64) | +| `manylinux-aarch64-image` | [`manylinux_2_28`](https://quay.io/pypa/manylinux_2_28_aarch64) | +| `manylinux-ppc64le-image` | [`manylinux_2_28`](https://quay.io/pypa/manylinux_2_28_ppc64le) | +| `manylinux-s390x-image` | [`manylinux_2_28`](https://quay.io/pypa/manylinux_2_28_s390x) | +| `manylinux-armv7l-image` | [`manylinux_2_31`](https://quay.io/pypa/manylinux_2_31_armv7l) | | `manylinux-riscv64-image` | No default | -| `manylinux-pypy-aarch64-image` | [`manylinux-2-28`](https://quay.io/pypa/manylinux-2-28-aarch64) | -| `manylinux-pypy-i686-image` | [`manylinux2014`](https://quay.io/pypa/manylinux2014-i686) | -| `musllinux-x86-64-image` | [`musllinux-1-2`](https://quay.io/pypa/musllinux-1-2-x86-64) | -| `musllinux-i686-image` | [`musllinux-1-2`](https://quay.io/pypa/musllinux-1-2-i686) | -| `musllinux-aarch64-image` | [`musllinux-1-2`](https://quay.io/pypa/musllinux-1-2-aarch64) | -| `musllinux-ppc64le-image` | [`musllinux-1-2`](https://quay.io/pypa/musllinux-1-2-ppc64le) | -| `musllinux-s390x-image` | [`musllinux-1-2`](https://quay.io/pypa/musllinux-1-2-s390x) | -| `musllinux-armv7l-image` | [`musllinux-1-2`](https://quay.io/pypa/musllinux-1-2-armv7l) | +| `manylinux-pypy_aarch64-image` | [`manylinux_2_28`](https://quay.io/pypa/manylinux_2_28_aarch64) | +| `manylinux-pypy_i686-image` | [`manylinux2014`](https://quay.io/pypa/manylinux2014_i686) | +| `musllinux_x86_64-image` | [`musllinux_1_2`](https://quay.io/pypa/musllinux_1_2_x86_64) | +| `musllinux-i686-image` | [`musllinux_1_2`](https://quay.io/pypa/musllinux_1_2_i686) | +| `musllinux-aarch64-image` | [`musllinux_1_2`](https://quay.io/pypa/musllinux_1_2_aarch64) | +| `musllinux-ppc64le-image` | [`musllinux_1_2`](https://quay.io/pypa/musllinux_1_2_ppc64le) | +| `musllinux-s390x-image` | [`musllinux_1_2`](https://quay.io/pypa/musllinux_1_2_s390x) | +| `musllinux-armv7l-image` | [`musllinux_1_2`](https://quay.io/pypa/musllinux_1_2_armv7l) | | `musllinux-riscv64-image` | No default | Set the Docker image to be used for building [manylinux / musllinux](https://github.com/pypa/manylinux) wheels. diff --git a/docs/platforms.md b/docs/platforms.md index c4ffb9af..ca9c0f90 100644 --- a/docs/platforms.md +++ b/docs/platforms.md @@ -152,7 +152,7 @@ In order to speed-up builds, cibuildwheel will cache the tools it needs to be re `cibuildwheel` supports cross-compiling `ARM64` wheels on all Windows runners, but a native ARM64 runner is required for testing. On non-native runners, tests for ARM64 wheels will be automatically skipped with a warning. Add `"*-win_arm64"` to your `CIBW_TEST_SKIP` setting to suppress the warning. -Cross-compilation on Windows relies on a supported build backend. Supported backends use an environment variable to specify their target platform (the one they are compiling native modules for, as opposed to the one they are running on), which is set in [cibuildwheels/windows.py](https://github.com/pypa/cibuildwheel/blob/main/cibuildwheel/windows.py) before building. Currently, `setuptools>=65.4.1` and `setuptools_rust` are the only supported backends. +Cross-compilation on Windows relies on a supported build backend. Supported backends use an environment variable to specify their target platform (the one they are compiling native modules for, as opposed to the one they are running on), which is set in [cibuildwheel's windows.py](https://github.com/pypa/cibuildwheel/blob/main/cibuildwheel/platforms/windows.py) before building. Currently, `setuptools>=65.4.1` and `setuptools_rust` are the only supported backends. By default, `ARM64` is not enabled when running on non-ARM64 runners. Use [`CIBW_ARCHS`](options.md#archs) to select it.