bitcoin-dev
Combined summary - Bitcoin Core on ARM (Windows)
Compiling Windows for the ARM instruction set architecture involves configuring your compiler, such as gcc or clang, to build your kernel code specifically for ARM hardware platforms.
This process does not require a unique ARM toolchain since modern compilers are capable of cross-platform compilation, including building on x86-64 and targeting ARM. The task also involves some linker configurations to manage the assembly functions properly. In the context of the Bitcoin core codebase, there are mentions of x86-specific assembly functions within the secp256k1 library, which are mainly about scalar optimizations. Such details might be particularly interesting, as highlighted in a discussion on the Bitcoin Development Mailing List (Bitcoindev). The focus is not necessarily on compiling the entirety of the Bitcoin core but rather on fine-tuning the libbitcoinkernel engine. The inclusion of RISC-V support for the consensus engine's compilation could mark a significant advancement.
On another note, there's an observation that ARM binaries are available for all major operating systems except Windows, despite Apple Silicon being essentially ARM-based. This raises questions about the feasibility of creating ARM binaries for Windows and whether existing methods support Arm64. The Windows build guide suggests Visual Studio as a potential tool that might facilitate ARM support, but the presence of x86-specific assembly functions in the codebase could pose challenges for the build process.