Compile FriBiDi for Windows ARM64 #7629
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add a build of ARM64 fribidi.dll to the wheels workflow.
This will simplify manually testing the ARM64 wheels on release day as well as allow users to download a pre-compiled DLL.
Since CMake does not support mixed host and cross compiling in the same project, the ARM64 build of fribidi.dll is now split into two steps (inspired by this StackOverflow answer):
I've also removed the "Prepare to upload FriBiDi" step as it is no longer used with
actions/upload-artifact@v4
.I've tested the changes as follows.
I first installed the built
pillow-10.2.0.dev0-cp312-cp312-win_arm64
on an ARM64 Windows VM and ran Pytest:I then added the path to the extracted
fribidi-windows-ARM64
artifact to PATH (i.e. cross compiled on GHA) and ran Pytest again:And finally, I ran
build_prepare.py
and the generatedbuild_dep_fribidi.cmd
on the ARM64 VM, replaced the directory in PATH with the new build, and ran Pytest for a third time: