-
Notifications
You must be signed in to change notification settings - Fork 172
Add Windows ARM64 support #315
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
Add Windows ARM64 support #315
Conversation
|
Can you please review this PR. Thank you. |
|
@olk Thank you. |
4aa65ee to
44967e5
Compare
|
@vask2108 I have few doubts with respect to this PR. I know that boost context library fails to compile on Windows ARM64 even we are using winfiber implementation without disabling coroutine. IIRC, they were related missing symbol errors 'fcontext' export symbols. Where you able fix that ? |
|
@Greenie0701 |
|
I think the build failures only occur when building Context as a standalone library, not when it’s built as a Boost subpackage. This seems to be a separate issue specific to Windows ARM64 and shouldn’t block this PR from being merged. |
|
@Greenie0701 |
|
Did you run the unit tests? |
|
@olk Thank you. |
Fixes issue : boostorg/boost#1070 Related to PR: boostorg/boost#1077
44967e5 to
462cb28
Compare
Currently we do not have fcontext related ASM files for Windows ARM64. So we can use winfib context-impl only for Windows ARM64. Fixes issue : boostorg/boost#1070 Related to PR: boostorg/boost#1077
462cb28 to
68ea30d
Compare
|
@olk Thank you. |
|
ty |
### Rationale for this change This PR adds a CI job to test building the C++ library on Windows ARM64 with MSVC, which will help ensuring that downstream projects like [`vcpkg`](https://github.com/microsoft/vcpkg) can build Arrow C++ on that platform. ### What changes are included in this PR? - The `windows` job from the `cpp.yml` workflow has been moved into a reusable workflow `cpp_windows.yml` - Use GitHub hosted runner `windows-11-arm` to build with MSVC ARM64 in `cpp_extra.yml` - `simd-level` is set `NONE` for now as xsimd does not yet support MSVC ARM64 - `msys2` is installed and used for the timezone data, as it is not guaranteed to exist on `windows-11-arm` images - A recent version of `cmake` is installed as support for finding Windows OpenSSL ARM64 builds was only added in 4.1.0 (see Kitware/CMake@bf52219) - The Boost context implementation is set to `winfib` when building with MSVC ARM64 as it's the only supported implementation for that platform (see boostorg/context#296 (comment) and boostorg/context#315) ### Are these changes tested? Yes, in the CI itself ### Are there any user-facing changes? No * GitHub Issue: #47196 Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
### Rationale for this change This PR adds a CI job to test building the C++ library on Windows ARM64 with MSVC, which will help ensuring that downstream projects like [`vcpkg`](https://github.com/microsoft/vcpkg) can build Arrow C++ on that platform. ### What changes are included in this PR? - The `windows` job from the `cpp.yml` workflow has been moved into a reusable workflow `cpp_windows.yml` - Use GitHub hosted runner `windows-11-arm` to build with MSVC ARM64 in `cpp_extra.yml` - `simd-level` is set `NONE` for now as xsimd does not yet support MSVC ARM64 - `msys2` is installed and used for the timezone data, as it is not guaranteed to exist on `windows-11-arm` images - A recent version of `cmake` is installed as support for finding Windows OpenSSL ARM64 builds was only added in 4.1.0 (see Kitware/CMake@bf52219) - The Boost context implementation is set to `winfib` when building with MSVC ARM64 as it's the only supported implementation for that platform (see boostorg/context#296 (comment) and boostorg/context#315) ### Are these changes tested? Yes, in the CI itself ### Are there any user-facing changes? No * GitHub Issue: apache#47196 Authored-by: Jonathan Giannuzzi <jonathan@giannuzzi.me> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Fixes issues :
boostorg/boost#1070
#296
Related to PR: boostorg/boost#1077