-
Notifications
You must be signed in to change notification settings - Fork 103
Add Windows ARM64 support #99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…nsics (#47779) ### Rationale for this change This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency. Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix. ### What changes are included in this PR? A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged. ### Are these changes tested? Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`). ### Are there any user-facing changes? Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing? * GitHub Issue: #47784 Authored-by: Jonathan Giannuzzi <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
… intrinsics (apache#47779) ### Rationale for this change This change enables building Arrow C++ for Windows ARM64 with MSVC when setting `ARROW_SIMD_LEVEL` to `NONE`. This is useful to be able to build Arrow with `vcpkg` and use it as a dependency. Setting `ARROW_SIMD_LEVEL` to `NONE` is done to disable the use of `xsimd`, which does not yet support msvc arm64 intrinsics, and is non-trivial to fix. ### What changes are included in this PR? A patch to the vendored `pcg` library, based on imneme/pcg-cpp#99. The upstream pcg library has not been updated in the past 3 years, so this may never get merged. ### Are these changes tested? Yes, the changes have been tested in microsoft/vcpkg#47750 (the same patch for `vcpkg`, which this change would alleviate) and in https://github.com/jgiannuzzi/ParquetSharp/actions/runs/18354286294 (a full run of the ParquetSharp CI, using this patch to build Arrow with `vcpkg`). ### Are there any user-facing changes? Not really, unless you consider adding the ability to build Arrow on Windows ARM64 user-facing? * GitHub Issue: apache#47784 Authored-by: Jonathan Giannuzzi <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
|
Hello @imneme , I'm very sorry to disturb you. I sincerely hope this pull request can be merged. It has already been validated by |
|
It has passed tests on multiple platforms (including MSVC ARM64): https://github.com/Legacy-LuaSTG-Engine/pcg-cpp/actions/runs/19141647833
|
|
Hi - I would also like this to be merged, we'd like to expand our platform support in correctionlib and we heavily use pcg-cpp, it's great! |
This repository has been inactive for years, so I think the best solution is to fix the code using a patch. |
|
Merged into Total-Random/pcg-cpp |

Currently, pcg-cpp lacks Windows ARM64 support.
This modification has been tested on github actions.
See test result: https://github.com/Legacy-LuaSTG-Engine/windows-arm64-problems/actions/runs/14560185357