From 26863badba8e6b6db8fd413119869d57cab78f1d Mon Sep 17 00:00:00 2001 From: Eric Voskuil Date: Thu, 24 Sep 2026 15:41:11 -0400 Subject: [PATCH 1/2] Bump ultrafast to NuGet 4.6. --- .../vs2026/libbitcoin-node-test/libbitcoin-node-test.vcxproj | 4 ++-- builds/msvc/vs2026/libbitcoin-node-test/packages.config | 2 +- builds/msvc/vs2026/libbitcoin-node/libbitcoin-node.vcxproj | 4 ++-- builds/msvc/vs2026/libbitcoin-node/packages.config | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/builds/msvc/vs2026/libbitcoin-node-test/libbitcoin-node-test.vcxproj b/builds/msvc/vs2026/libbitcoin-node-test/libbitcoin-node-test.vcxproj index b7cc80e3..b4bbe735 100644 --- a/builds/msvc/vs2026/libbitcoin-node-test/libbitcoin-node-test.vcxproj +++ b/builds/msvc/vs2026/libbitcoin-node-test/libbitcoin-node-test.vcxproj @@ -163,7 +163,7 @@ - + @@ -179,7 +179,7 @@ - + diff --git a/builds/msvc/vs2026/libbitcoin-node-test/packages.config b/builds/msvc/vs2026/libbitcoin-node-test/packages.config index 10118317..22839933 100644 --- a/builds/msvc/vs2026/libbitcoin-node-test/packages.config +++ b/builds/msvc/vs2026/libbitcoin-node-test/packages.config @@ -6,7 +6,7 @@ | --> - + diff --git a/builds/msvc/vs2026/libbitcoin-node/libbitcoin-node.vcxproj b/builds/msvc/vs2026/libbitcoin-node/libbitcoin-node.vcxproj index dcd4e43b..e1463564 100644 --- a/builds/msvc/vs2026/libbitcoin-node/libbitcoin-node.vcxproj +++ b/builds/msvc/vs2026/libbitcoin-node/libbitcoin-node.vcxproj @@ -248,7 +248,7 @@ - + @@ -263,7 +263,7 @@ - + diff --git a/builds/msvc/vs2026/libbitcoin-node/packages.config b/builds/msvc/vs2026/libbitcoin-node/packages.config index 329b7821..2cb1e811 100644 --- a/builds/msvc/vs2026/libbitcoin-node/packages.config +++ b/builds/msvc/vs2026/libbitcoin-node/packages.config @@ -6,7 +6,7 @@ | --> - + From e0d8082965a1c1390866708666937cbccbe0be45 Mon Sep 17 00:00:00 2001 From: Eric Voskuil Date: Thu, 24 Sep 2026 21:24:09 -0400 Subject: [PATCH 2/2] Regenerate artifacts. --- builds/cmake/install-cmake.sh | 4 ++++ builds/cmake/install-presets.sh | 4 ++++ builds/gnu/install-gnu.sh | 4 ++++ builds/msvc/build-msvc.cmd | 32 ++++++++++++++++++++++++++++ builds/msvc/properties/Release.props | 2 +- 5 files changed, 45 insertions(+), 1 deletion(-) diff --git a/builds/cmake/install-cmake.sh b/builds/cmake/install-cmake.sh index 87d713ac..6f8eff21 100755 --- a/builds/cmake/install-cmake.sh +++ b/builds/cmake/install-cmake.sh @@ -16,6 +16,8 @@ # Default: OFF # -Denable-shani= Use Intel/ARM SHA Extensions. # Default: OFF +# -Denable-crypto= Use ARM Crypto Extensions. +# Default: OFF # -Dwith-ultrafast= Use shrec/UltrafastSecp256k1 library. # Default: OFF # -Dwith-secp256k1= Use bitcoin-core/secp256k1 library. @@ -1058,6 +1060,8 @@ help() msg " Default: OFF" msg "-Denable-shani= Use Intel/ARM SHA Extensions." msg " Default: OFF" + msg "-Denable-crypto= Use ARM Crypto Extensions." + msg " Default: OFF" msg "-Dwith-ultrafast= Use shrec/UltrafastSecp256k1 library." msg " Default: OFF" msg "-Dwith-secp256k1= Use bitcoin-core/secp256k1 library." diff --git a/builds/cmake/install-presets.sh b/builds/cmake/install-presets.sh index 48ffe539..39a732d6 100755 --- a/builds/cmake/install-presets.sh +++ b/builds/cmake/install-presets.sh @@ -16,6 +16,8 @@ # Default: OFF # -Denable-shani= Use Intel/ARM SHA Extensions. # Default: OFF +# -Denable-crypto= Use ARM Crypto Extensions. +# Default: OFF # -Dwith-ultrafast= Use shrec/UltrafastSecp256k1 library. # Default: OFF # -Dwith-secp256k1= Use bitcoin-core/secp256k1 library. @@ -1136,6 +1138,8 @@ help() msg " Default: OFF" msg "-Denable-shani= Use Intel/ARM SHA Extensions." msg " Default: OFF" + msg "-Denable-crypto= Use ARM Crypto Extensions." + msg " Default: OFF" msg "-Dwith-ultrafast= Use shrec/UltrafastSecp256k1 library." msg " Default: OFF" msg "-Dwith-secp256k1= Use bitcoin-core/secp256k1 library." diff --git a/builds/gnu/install-gnu.sh b/builds/gnu/install-gnu.sh index b6fc72c1..88acc5f5 100755 --- a/builds/gnu/install-gnu.sh +++ b/builds/gnu/install-gnu.sh @@ -16,6 +16,8 @@ # Default: --disable-sse41 # ---shani Use Intel/ARM SHA Extensions. # Default: --disable-shani +# ---crypto Use ARM Crypto Extensions. +# Default: --disable-crypto # ---ultrafast Use shrec/UltrafastSecp256k1 library. # Default: --without-ultrafast # ---secp256k1 Use bitcoin-core/secp256k1 library. @@ -1293,6 +1295,8 @@ help() msg " Default: --disable-sse41" msg "---shani Use Intel/ARM SHA Extensions." msg " Default: --disable-shani" + msg "---crypto Use ARM Crypto Extensions." + msg " Default: --disable-crypto" msg "---ultrafast Use shrec/UltrafastSecp256k1 library." msg " Default: --without-ultrafast" msg "---secp256k1 Use bitcoin-core/secp256k1 library." diff --git a/builds/msvc/build-msvc.cmd b/builds/msvc/build-msvc.cmd index 7a68481e..bd8b8b43 100644 --- a/builds/msvc/build-msvc.cmd +++ b/builds/msvc/build-msvc.cmd @@ -11,7 +11,11 @@ REM ########################################################################### REM Script managing the build of libbitcoin-node. REM REM Script options: +REM --enable-avx2 Use Intel AVX2 intrinsics. +REM --enable-avx512 Use Intel AVX512 intrinsics. +REM --enable-sse41 Use SSE4.1 hardware instructions. REM --enable-shani Use Intel/ARM SHA Extensions. +REM --enable-crypto Use ARM Crypto Extensions. REM --build-config config Build configuration. REM --build-platform platform Build platform. REM --build-version version Build MSVC version. @@ -233,12 +237,36 @@ if "!libbitcoin_node_TAG!" == "" ( :parse_input if "%~1" == "" ( goto :end_parse_input + ) else if "%~1" == "--enable-avx2" ( + if "!libbitcoin-system_PARAMS!" == "" ( + set "libbitcoin-system_PARAMS=/p:Option-arch=AdvancedVectorExtensions2" + ) else ( + set "libbitcoin-system_PARAMS=!libbitcoin-system_PARAMS! /p:Option-arch=AdvancedVectorExtensions2" + ) + ) else if "%~1" == "--enable-avx512" ( + if "!libbitcoin-system_PARAMS!" == "" ( + set "libbitcoin-system_PARAMS=/p:Option-arch=AdvancedVectorExtensions512" + ) else ( + set "libbitcoin-system_PARAMS=!libbitcoin-system_PARAMS! /p:Option-arch=AdvancedVectorExtensions512" + ) + ) else if "%~1" == "--enable-sse41" ( + if "!libbitcoin-system_PARAMS!" == "" ( + set "libbitcoin-system_PARAMS=/p:Option-arch=AdvancedVectorExtensions" + ) else ( + set "libbitcoin-system_PARAMS=!libbitcoin-system_PARAMS! /p:Option-arch=AdvancedVectorExtensions" + ) ) else if "%~1" == "--enable-shani" ( if "!libbitcoin-system_PARAMS!" == "" ( set "libbitcoin-system_PARAMS=/p:Option-sha=true" ) else ( set "libbitcoin-system_PARAMS=!libbitcoin-system_PARAMS! /p:Option-sha=true" ) + ) else if "%~1" == "--enable-crypto" ( + if "!libbitcoin-system_PARAMS!" == "" ( + set "libbitcoin-system_PARAMS=/p:Option-sha=true" + ) else ( + set "libbitcoin-system_PARAMS=!libbitcoin-system_PARAMS! /p:Option-sha=true" + ) ) else if "%~1" == "--build-config" ( set "BUILD_CONFIG=%~2" shift @@ -482,7 +510,11 @@ if "!libbitcoin_node_TAG!" == "" ( call :msg "Script managing the build of libbitcoin-node." call :msg "" call :msg "Script options:" + call :msg "--enable-avx2 Use Intel AVX2 intrinsics." + call :msg "--enable-avx512 Use Intel AVX512 intrinsics." + call :msg "--enable-sse41 Use SSE4.1 hardware instructions." call :msg "--enable-shani Use Intel/ARM SHA Extensions." + call :msg "--enable-crypto Use ARM Crypto Extensions." call :msg "--build-config config Build configuration." call :msg "--build-platform platform Build platform." call :msg "--build-version version Build MSVC version." diff --git a/builds/msvc/properties/Release.props b/builds/msvc/properties/Release.props index fcfac109..9fc03897 100644 --- a/builds/msvc/properties/Release.props +++ b/builds/msvc/properties/Release.props @@ -13,7 +13,7 @@ - AdvancedVectorExtensions2 + AdvancedVectorExtensions2