Skip to content

Commit bf1a7e4

Browse files
committed
Shorten --config-setting=--build-option commands
1 parent 572e657 commit bf1a7e4

File tree

4 files changed

+13
-14
lines changed

4 files changed

+13
-14
lines changed

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,10 @@ jobs:
115115
run: pip install --upgrade build
116116

117117
- name: Obtain ARM64 library files
118-
run: python .github\workflows\download-arm64-libs.py .\arm64libs
118+
run: python .github\workflows\download-arm64-libs.py ./arm64libs
119119

120120
- name: Build wheels
121-
run: python -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=-L.\arm64libs --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=build --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
121+
run: python -m build --wheel --config-setting=--build-option="build_ext -L./arm64libs --plat-name=win-arm64 build --plat-name=win-arm64 bdist_wheel --plat-name=win-arm64"
122122

123123
- uses: actions/upload-artifact@v4
124124
with:

build_env.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,12 @@ configuration, please [open an issue](https://github.com/mhammond/pywin32/issues
137137
- Follow the `For Visual Studio XXXX` instructions above and pick the optional ARM64 build tools
138138

139139
- Download prebuilt Python ARM64 binaries to a temporary location on your machine. You will need this location in a later step.
140+
- This script downloads a Python ARM64 build [from NuGet](https://www.nuget.org/packages/pythonarm64/#versions-tab) that matches the version you used to run it.
140141

141142
```shell
142-
python .github\workflows\download-arm64-libraries.py "<temporary path>"
143+
python .github\workflows\download-arm64-libs.py ./arm64libs
143144
```
144145

145-
- This script downloads a Python ARM64 build [from NuGet](https://www.nuget.org/packages/pythonarm64/#versions-tab) that matches the version you used to run it.
146146
- Setup the cross-compilation environment:
147147

148148
```shell
@@ -156,13 +156,12 @@ configuration, please [open an issue](https://github.com/mhammond/pywin32/issues
156156
```
157157

158158
- Build the extensions, passing the directory from earlier. You may optionally add the `bdist_wheel` command to generate a wheel.
159+
- If you are not using an initialized build environment, you will need to specify the `build_ext`, `build` and `bdist_wheel` commands and pass `--plat-name win-arm64` to *each* of them separately. Otherwise you may get a mixed platform build and/or linker errors.
159160

160161
```shell
161-
python -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=-L.\arm64libs --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
162+
python -m build --wheel --config-setting=--build-option="build_ext -L./arm64libs --plat-name=win-arm64 bdist_wheel --plat-name=win-arm64"
162163
```
163164

164-
- If you are not using an initialized build environment, you will need to specify the `build_ext`, `build` and `bdist_wheel` commands and pass `--plat-name win-arm64` to *each* of them separately. Otherwise you may get a mixed platform build and/or linker errors.
165-
166165
- Copy the built wheel to the target machine and install directly:
167166

168167
```shell

make_all.bat

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ py -3.14-32 -m build --wheel
2929
py -3.14 -m build --wheel
3030

3131
rem Check /build_env.md#build-environment to make sure you have all the required ARM64 components installed
32-
py -3.10 -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=build --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
33-
py -3.11 -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=build --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
34-
py -3.12 -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=build --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
35-
py -3.13 -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=build --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
36-
py -3.14 -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=build --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
32+
py -3.10 -m build --wheel --config-setting=--build-option="build_ext --plat-name=win-arm64 build --plat-name=win-arm64 bdist_wheel --plat-name=win-arm64"
33+
py -3.11 -m build --wheel --config-setting=--build-option="build_ext --plat-name=win-arm64 build --plat-name=win-arm64 bdist_wheel --plat-name=win-arm64"
34+
py -3.12 -m build --wheel --config-setting=--build-option="build_ext --plat-name=win-arm64 build --plat-name=win-arm64 bdist_wheel --plat-name=win-arm64"
35+
py -3.13 -m build --wheel --config-setting=--build-option="build_ext --plat-name=win-arm64 build --plat-name=win-arm64 bdist_wheel --plat-name=win-arm64"
36+
py -3.14 -m build --wheel --config-setting=--build-option="build_ext --plat-name=win-arm64 build --plat-name=win-arm64 bdist_wheel --plat-name=win-arm64"
3737

3838
@goto xit
3939
:couldnt_rm

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
1414
For a debug (_d) version, you need a local debug build of Python, but must use
1515
the release version executable for the build. eg:
16-
pip install . -v --config-setting=--build-option=build --config-setting=--build-option=--debug
16+
pip install . -v --config-setting=--build-option="build --debug"
1717
1818
Cross-compilation from x86 to ARM is well supported (assuming installed vs tools etc) - eg:
19-
python -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=build --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
19+
python -m build --wheel --config-setting=--build-option="build_ext --plat-name=win-arm64 build --plat-name=win-arm64 bdist_wheel --plat-name=win-arm64"
2020
2121
Some modules require special SDKs or toolkits to build (eg, mapi/exchange),
2222
which often aren't available in CI. The build process treats them as optional -

0 commit comments

Comments
 (0)