[
https://issues.apache.org/jira/browse/ARROW-9688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17427264#comment-17427264
]
Niyas commented on ARROW-9688:
------------------------------
I've created a [PR|https://github.com/apache/arrow/pull/11383] to enable
building with clang-cl
> Supporting Windows ARM64 builds
> -------------------------------
>
> Key: ARROW-9688
> URL: https://issues.apache.org/jira/browse/ARROW-9688
> Project: Apache Arrow
> Issue Type: Bug
> Components: C++
> Affects Versions: 1.0.0
> Environment: Windows
> Reporter: Mukul Sabharwal
> Priority: Minor
> Labels: pull-request-available
> Original Estimate: 336h
> Time Spent: 20m
> Remaining Estimate: 335h 40m
>
> I was trying to build the Arrow library so I could use it to generate parquet
> files on Windows ARM64, but it currently fails to compile for a few reasons.
> I thought I'd enumerate them here, so someone more familiar with the project
> could spearhead it.
> In SetupCxxFlags.cmake
> * the MSVC branch for ARROW_CPU_FLAG STREQUAL "x86" is taken even though I'm
> building ARM64, this may be a more fundamental error somewhere else that
> needs correction and maybe things would work better, but an inspection of
> other branches seemed to indicate that ARM64 is assumed to be missing from
> MSVC and the keywrod "aarch64" (not a term used in the Windows ecosystem) is
> prevalent in the cmake files. So the first thing I did was I stubbed it out
> and set SSE42, AVX and AVX512 to be not present
> * In bit_util.h I provided implementations for popcount32, popcount64 that
> were not neon accelerated, although neon_cnt is provided by msvc (for n64)
> * Removed nmintrin.h since that is x64/x64 specific. Note, _BitScanReverse
> and _BitScanForward are Microsoft specific and support on ARM64.
> * cpu_info.cc needed tweaks for cpuid stuff, I just returned false and
> didn't really care too much about any upstream effects. flag_mappings and
> num_flags ought be defined in the not WIN32 ifdef, since they're not actually
> used.
> After these changes I was able to remove the vcpkg restriction that
> artificially failed the library from compiling on arm64 and I was able to
> successfully compile for both arm64-windows-static and arm64-windows.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)