From 74c0ec0f11f22b54484b50993ce72b9d1ec0fe54 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Mon, 15 Jun 2026 20:49:22 -0700 Subject: [PATCH 1/4] Regenerate artifacts. --- builds/cmake/CMakeLists.txt | 72 ++- builds/cmake/install-cmake.sh | 392 +++++++----- builds/cmake/install-presets.sh | 385 +++++++----- builds/gnu/install-gnu.sh | 583 +++++++++++++----- builds/msvc/vs2022/bs/bs.vcxproj | 166 +++-- builds/msvc/vs2022/bs/bs.vcxproj.filters | 14 +- .../libbitcoin-server-test.vcxproj | 111 +--- .../libbitcoin-server-test.vcxproj.filters | 4 +- builds/msvc/vs2022/libbitcoin-server.sln | 28 +- .../libbitcoin-server.vcxproj | 89 +-- .../libbitcoin-server.vcxproj.filters | 44 +- builds/msvc/vs2026/bs/bs.vcxproj | 168 +++-- builds/msvc/vs2026/bs/bs.vcxproj.filters | 14 +- .../libbitcoin-server-test.vcxproj | 113 +--- .../libbitcoin-server-test.vcxproj.filters | 4 +- builds/msvc/vs2026/libbitcoin-server.sln | 28 +- .../libbitcoin-server.vcxproj | 91 +-- .../libbitcoin-server.vcxproj.filters | 44 +- 18 files changed, 1253 insertions(+), 1097 deletions(-) diff --git a/builds/cmake/CMakeLists.txt b/builds/cmake/CMakeLists.txt index c4e88be2..0dfad414 100644 --- a/builds/cmake/CMakeLists.txt +++ b/builds/cmake/CMakeLists.txt @@ -6,8 +6,57 @@ ############################################################################### cmake_minimum_required(VERSION 3.30 FATAL_ERROR) +find_package(Git QUIET) + +set( GIT_COMMIT_HASH "unknown" ) +set( GIT_COMMIT_HEIGHT 0 ) +set( GIT_DIRTY 0 ) +set( GIT_ORIGIN_URL "https://github.com/libbitcoin/libbitcoin-server" ) + +if ( GIT_EXECUTABLE ) + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET ) + + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-list --count HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_HEIGHT + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET ) + + if ( NOT GIT_COMMIT_HEIGHT ) + set( GIT_COMMIT_HEIGHT 0 ) + endif() + + execute_process( + COMMAND ${GIT_EXECUTABLE} remote get-url origin + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_ORIGIN_URL + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET ) + + execute_process( + COMMAND ${GIT_EXECUTABLE} status --porcelain + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_STATUS + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET ) + + if ( GIT_STATUS ) + set( GIT_DIRTY 1 ) + endif() +endif() + +set( LIBBITCOIN_VERSION_MAJOR 4 ) +set( LIBBITCOIN_VERSION_MINOR 0 ) +set( LIBBITCOIN_VERSION_PATCH ${GIT_COMMIT_HEIGHT} ) + project( libbitcoin-server - VERSION 4.0.0 + VERSION ${LIBBITCOIN_VERSION_MAJOR}.${LIBBITCOIN_VERSION_MINOR}.${LIBBITCOIN_VERSION_PATCH} DESCRIPTION "Bitcoin Full Node and Query Server" LANGUAGES C CXX ) @@ -122,6 +171,10 @@ endif() include(CheckLinkerFlag) +#------------------------------------------------------------------------------ +# Configurable file(s). +#------------------------------------------------------------------------------ + #------------------------------------------------------------------------------ # libbitcoin-server library #------------------------------------------------------------------------------ @@ -275,16 +328,33 @@ if ( with-console ) -fstack-protector-all ) + file( GLOB_RECURSE bitcoin_server_HEADERS CONFIGURE_DEPENDS + "${CMAKE_CURRENT_SOURCE_DIR}/../../console/*.h" + "${CMAKE_CURRENT_SOURCE_DIR}/../../console/*.hpp" + "${CMAKE_CURRENT_SOURCE_DIR}/../../console/*.ipp" + ) + file( GLOB_RECURSE bitcoin_server_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/../../console/*.c" "${CMAKE_CURRENT_SOURCE_DIR}/../../console/*.cpp" ) target_sources( bitcoin-server + PUBLIC + FILE_SET HEADERS + BASE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../../console" + FILES + ${bitcoin_server_HEADERS} PRIVATE ${bitcoin_server_SOURCES} ) + target_include_directories( bitcoin-server + PRIVATE + $ + $ + ) + target_link_libraries( bitcoin-server PRIVATE bitcoin::server diff --git a/builds/cmake/install-cmake.sh b/builds/cmake/install-cmake.sh index 749b0b0c..0369d397 100755 --- a/builds/cmake/install-cmake.sh +++ b/builds/cmake/install-cmake.sh @@ -16,10 +16,15 @@ # Default: OFF # -Denable-shani= Use Intel/ARM SHA Extensions. # Default: OFF +# -Dwith-ultrafast= Use shrec/UltrafastSecp256k1. +# Default: OFF +# -Dwith-secp256k1= Use bitcoin-core/secp256k1. +# Default: ON # -Dwith-ssl= Use embedded ssl library. # Default: ON # --build-boost Build Boost libraries # --build-secp256k1 Build libsecp256k1 libraries +# --build-ultrafast Build UltrafastSecp256k1 libraries # --build-src-dir= Location for sources. # Default: $(pwd) # --build-obj-dir= Location for intermediate objects. @@ -69,6 +74,13 @@ if [[ -z ${secp256k1_TAG} ]]; then secp256k1_TAG="v0.7.0" fi +if [[ -z ${UltrafastSecp256k1_OWNER} ]]; then + UltrafastSecp256k1_OWNER="pmienk" +fi +if [[ -z ${UltrafastSecp256k1_TAG} ]]; then + UltrafastSecp256k1_TAG="main" +fi + if [[ -z ${libbitcoin_system_OWNER} ]]; then libbitcoin_system_OWNER="libbitcoin" fi @@ -110,26 +122,27 @@ main() for OPTION in "$@"; do case ${OPTION} in - (--build-boost) BUILD_boost="yes";; - (--build-secp256k1) BUILD_secp256k1="yes";; - (--build-src-dir=*) BUILD_SRC_DIR="${OPTION#*=}";; - (--build-obj-dir=*) BUILD_OBJ_DIR="${OPTION#*=}";; - (--build-obj-dir-relative) BUILD_OBJ_DIR_RELATIVE="yes";; - (--build-config=*) BUILD_CONFIG="${OPTION#*=}";; - (--build-link=*) BUILD_LINK="${OPTION#*=}";; - (--build-full-repositories) BUILD_FULL_REPOSITORIES="yes";; - (--build-post-install-clean)BUILD_POST_INSTALL_CLEAN="yes";; - (--build-skip-tests) BUILD_SKIP_TESTS="yes";; - (--build-parallel=*) PARALLEL="${OPTION#*=}";; - (--build-use-local-src) BUILD_USE_LOCAL_SRC="yes";; - (--prefix=*) PREFIX="${OPTION#*=}";; - (--noninteractive) NONINTERACTIVE="yes";; - (--verbose) DISPLAY_VERBOSE="yes";; - (--help|-h) DISPLAY_HELP="yes";; - (-DCMAKE_PREFIX_PATH=*) CMAKE_PREFIX_PATH="${OPTION#*=}";; - (-DCMAKE_INSTALL_PREFIX=*) CMAKE_INSTALL_PREFIX="${OPTION#*=}";; - (-DCMAKE_INCLUDE_PATH=*) CMAKE_INCLUDE_PATH="${OPTION#*=}";; - (-DCMAKE_LIBRARY_PATH=*) CMAKE_LIBRARY_PATH="${OPTION#*=}";; + (--build-boost) BUILD_boost="yes";; + (--build-secp256k1) BUILD_secp256k1="yes";; + (--build-ultrafast) BUILD_ultrafast="yes";; + (--build-src-dir=*) BUILD_SRC_DIR="${OPTION#*=}";; + (--build-obj-dir=*) BUILD_OBJ_DIR="${OPTION#*=}";; + (--build-obj-dir-relative) BUILD_OBJ_DIR_RELATIVE="yes";; + (--build-config=*) BUILD_CONFIG="${OPTION#*=}";; + (--build-link=*) BUILD_LINK="${OPTION#*=}";; + (--build-full-repositories) BUILD_FULL_REPOSITORIES="yes";; + (--build-post-install-clean) BUILD_POST_INSTALL_CLEAN="yes";; + (--build-skip-tests) BUILD_SKIP_TESTS="yes";; + (--build-parallel=*) PARALLEL="${OPTION#*=}";; + (--build-use-local-src) BUILD_USE_LOCAL_SRC="yes";; + (--prefix=*) PREFIX="${OPTION#*=}";; + (--noninteractive) NONINTERACTIVE="yes";; + (--verbose) DISPLAY_VERBOSE="yes";; + (--help|-h) DISPLAY_HELP="yes";; + (-DCMAKE_PREFIX_PATH=*) CMAKE_PREFIX_PATH="${OPTION#*=}";; + (-DCMAKE_INSTALL_PREFIX=*) CMAKE_INSTALL_PREFIX="${OPTION#*=}";; + (-DCMAKE_INCLUDE_PATH=*) CMAKE_INCLUDE_PATH="${OPTION#*=}";; + (-DCMAKE_LIBRARY_PATH=*) CMAKE_LIBRARY_PATH="${OPTION#*=}";; esac done @@ -137,6 +150,7 @@ main() CONFIGURE_OPTIONS=("$@") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-boost/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-secp256k1/}") + CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-ultrafast/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-src-dir=*/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-obj-dir=*/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-obj-dir-relative/}") @@ -152,6 +166,7 @@ main() CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--verbose/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--help/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/-h/}") + CONFIGURE_OPTIONS_CMAKE=("${CONFIGURE_OPTIONS[@]}") msg_verbose "*** ARGUMENTS: ${CONFIGURE_OPTIONS_ORIGINAL[*]}" msg_verbose "*** SANITIZED: ${CONFIGURE_OPTIONS[*]}" @@ -231,6 +246,10 @@ main() exit 1 fi + if [[ "${BUILD_SKIP_TESTS}" == "yes" ]]; then + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-Dwith-tests=OFF" ) + fi + # --prefix if [[ -z "${PREFIX}" ]]; then # Always set a prefix (required for OSX and lib detection). @@ -255,21 +274,23 @@ main() msg_error "Both PREFIX and CMAKE_INSTALL_PREFIX have been defined differently." help exit 1 - elif [[ -n "${PREFIX}" ]]; then + fi + + if [[ -n "${PREFIX}" ]]; then CMAKE_INSTALL_PREFIX="${PREFIX}" - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/-DCMAKE_INSTALL_PREFIX=*/}" ) - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_INSTALL_PREFIX=${PREFIX}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DCMAKE_INSTALL_PREFIX=*/}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_INSTALL_PREFIX=${PREFIX}" ) fi if [[ -n "${PREFIX}" ]] && [[ -n "${CMAKE_PREFIX_PATH}" ]] && [[ "${PREFIX}" != "${CMAKE_PREFIX_PATH}" ]]; then CMAKE_PREFIX_PATH="${PREFIX}:${CMAKE_PREFIX_PATH}" - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/-DCMAKE_PREFIX_PATH=*/}" ) - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DCMAKE_PREFIX_PATH=*/}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ) elif [[ -n "${PREFIX}" ]]; then CMAKE_INSTALL_PREFIX="${PREFIX}" - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/-DCMAKE_PREFIX_PATH=*/}" ) - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_PREFIX_PATH=${PREFIX}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DCMAKE_PREFIX_PATH=*/}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_PREFIX_PATH=${PREFIX}" ) fi if [[ -n "${PREFIX}" ]]; then @@ -371,19 +392,19 @@ main() # Specify cmake build if [[ "${BUILD_CONFIG}" == "debug" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_BUILD_TYPE=Debug" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_BUILD_TYPE=Debug" ) elif [[ "${BUILD_CONFIG}" == "release" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_BUILD_TYPE=Release" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_BUILD_TYPE=Release" ) fi # translate BUILD_LINK to appropriate arguments if [[ -n "${BUILD_LINK}" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/-DBUILD_SHARED_LIBS=*}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DBUILD_SHARED_LIBS=*}" ) if [[ "${BUILD_LINK}" == "dynamic" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DBUILD_SHARED_LIBS=ON" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DBUILD_SHARED_LIBS=ON" ) else - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DBUILD_SHARED_LIBS=OFF" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DBUILD_SHARED_LIBS=OFF" ) fi fi @@ -399,13 +420,14 @@ main() with_boost="--with-boost=${PREFIX}" fi + REMAP=() - for argument in "${CONFIGURE_OPTIONS[@]}"; do + for argument in "${CONFIGURE_OPTIONS_CMAKE[@]}"; do if [[ -n "${argument}" ]]; then REMAP+=( "${argument}" ) fi done - CONFIGURE_OPTIONS=( "${REMAP[@]}" ) + CONFIGURE_OPTIONS_CMAKE=( "${REMAP[@]}" ) unset REMAP msg_heading "Configuration" @@ -444,6 +466,25 @@ main() "-DSECP256K1_ENABLE_MODULE_RECOVERY=ON" "-DSECP256K1_ENABLE_MODULE_SCHNORRSIG=ON") + UltrafastSecp256k1_FLAGS=() + + UltrafastSecp256k1_OPTIONS=( + "-DSECP256K1_BUILD_TESTS=OFF" + "-DSECP256K1_BUILD_BENCH=OFF" + "-DSECP256K1_BUILD_EXAMPLES=OFF" + "-DSECP256K1_BUILD_JAVA=OFF" + "-DUFSECP_BUILD_SHARED=OFF" + "-DSECP256K1_BUILD_CABI=ON" + "-DSECP256K1_BUILD_CPU=ON" + "-DSECP256K1_BUILD_SHIM=ON" + "-DSECP256K1_BUILD_CUDA=OFF" + "-DSECP256K1_BUILD_ROCM=OFF" + "-DSECP256K1_BUILD_OPENCL=OFF" + "-DSECP256K1_BUILD_METAL=OFF" + "-DSECP256K1_INSTALL=ON" + "-DSECP256K1_INSTALL_PKGCONFIG=ON" + "-DSECP256K1_USE_ULTRAFAST=ON") + libbitcoin_system_FLAGS=() libbitcoin_system_OPTIONS=( @@ -483,10 +524,22 @@ main() source_github "${secp256k1_OWNER}" "secp256k1" "${secp256k1_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${secp256k1_FLAGS[@]}" - build_cmake "secp256k1" "." "${PARALLEL}" "${secp256k1_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "secp256k1" + build_cmake "secp256k1" "." "${PARALLEL}" "${secp256k1_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "secp256k1" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "secp256k1" + clean_cmake "secp256k1" + fi + export CPPFLAGS="${SAVE_CPPFLAGS}" + fi + + if [[ ${BUILD_ultrafast} == "yes" ]]; then + source_github "${UltrafastSecp256k1_OWNER}" "UltrafastSecp256k1" "${UltrafastSecp256k1_TAG}" + local SAVE_CPPFLAGS="${CPPFLAGS}" + export CPPFLAGS="${CPPFLAGS} ${UltrafastSecp256k1_FLAGS[@]}" + build_cmake "UltrafastSecp256k1" "." "${PARALLEL}" "${UltrafastSecp256k1_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "UltrafastSecp256k1" + if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then + clean_cmake "UltrafastSecp256k1" fi export CPPFLAGS="${SAVE_CPPFLAGS}" fi @@ -494,53 +547,53 @@ main() source_github "${libbitcoin_system_OWNER}" "libbitcoin-system" "${libbitcoin_system_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_system_FLAGS[@]}" - build_cmake "libbitcoin-system" "builds/cmake" "${PARALLEL}" "${libbitcoin_system_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-system" + build_cmake "libbitcoin-system" "builds/cmake" "${PARALLEL}" "${libbitcoin_system_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "libbitcoin-system" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-system" + clean_cmake "libbitcoin-system" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_database_OWNER}" "libbitcoin-database" "${libbitcoin_database_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_database_FLAGS[@]}" - build_cmake "libbitcoin-database" "builds/cmake" "${PARALLEL}" "${libbitcoin_database_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-database" + build_cmake "libbitcoin-database" "builds/cmake" "${PARALLEL}" "${libbitcoin_database_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "libbitcoin-database" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-database" + clean_cmake "libbitcoin-database" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_network_OWNER}" "libbitcoin-network" "${libbitcoin_network_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_network_FLAGS[@]}" - build_cmake "libbitcoin-network" "builds/cmake" "${PARALLEL}" "${libbitcoin_network_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-network" + build_cmake "libbitcoin-network" "builds/cmake" "${PARALLEL}" "${libbitcoin_network_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "libbitcoin-network" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-network" + clean_cmake "libbitcoin-network" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_node_OWNER}" "libbitcoin-node" "${libbitcoin_node_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_node_FLAGS[@]}" - build_cmake "libbitcoin-node" "builds/cmake" "${PARALLEL}" "${libbitcoin_node_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-node" + build_cmake "libbitcoin-node" "builds/cmake" "${PARALLEL}" "${libbitcoin_node_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "libbitcoin-node" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-node" + clean_cmake "libbitcoin-node" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_server_OWNER}" "libbitcoin-server" "${libbitcoin_server_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_server_FLAGS[@]}" - build_cmake "libbitcoin-server" "builds/cmake" "${PARALLEL}" "${libbitcoin_server_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" + build_cmake "libbitcoin-server" "builds/cmake" "${PARALLEL}" "${libbitcoin_server_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" if ! [[ "${BUILD_SKIP_TESTS}" == "yes" ]]; then - test_make "libbitcoin-server" "test" "${PARALLEL}" + test_cmake "libbitcoin-server" "${PARALLEL}" fi - install_make "libbitcoin-server" + install_cmake "libbitcoin-server" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-server" + clean_cmake "libbitcoin-server" fi export CPPFLAGS="${SAVE_CPPFLAGS}" @@ -668,117 +721,6 @@ source_github() pop_directory # pop BUILD_SRC_DIR } -install_make() -{ - local PROJECT="$1" - shift - - msg "Preparing to install ${PROJECT}" - - push_directory "${BUILD_SRC_DIR}/${PROJECT}" - - if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then - push_directory "${BUILD_OBJ_DIR}" - else - push_directory "${BUILD_OBJ_DIR}/${PROJECT}" - fi - - make install - - if [[ ${OS} == Linux ]] && [[ "${PREFIX}" == "/usr/local" ]]; then - ldconfig - fi - - pop_directory # BUILD_OBJ_DIR - pop_directory # BUILD_SRC_DIR/PROJECT - - msg_success "'${PROJECT}' installation complete." -} - -test_make() -{ - local PROJECT="$1" - local TARGET="$2" - local JOBS="$3" - shift 3 - - msg "Preparing to test ${PROJECT}" - - push_directory "${BUILD_SRC_DIR}/${PROJECT}" - - if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then - push_directory "${BUILD_OBJ_DIR}" - else - push_directory "${BUILD_OBJ_DIR}/${PROJECT}" - fi - - disable_exit_on_error - - if [[ ${JOBS} -gt ${SEQUENTIAL} ]]; then - make -j${JOBS} ${TARGET} VERBOSE=1 - else - make ${TARGET} VERBOSE=1 - fi - - local RESULT=$? - - if [[ -e "Testing/Temporary/LastTest.log" ]]; then - msg_warn "begin error log: Testing/Temporary/LastTest.log" - cat "Testing/Temporary/LastTest.log" - msg_warn " end error log: Testing/Temporary/LastTest.log" - fi - - if [[ -e "test.log" ]]; then - msg_warn "begin error log: test.log" - cat "test.log" - msg_warn " end error log: test.log" - fi - - if [[ ${RESULT} -ne 0 ]]; then - msg_error "Encountered error, please see test.log contents above." - exit ${RESULT} - fi - - enable_exit_on_error - - pop_directory # BUILD_OBJ_DIR - pop_directory # BUILD_SRC_DIR/PROJECT - - msg_success "'${PROJECT}' test complete." -} - -clean_make() -{ - local PROJECT="$1" - shift 1 - - msg "Preparing to clean ${PROJECT}" - - push_directory "${BUILD_SRC_DIR}/${PROJECT}" - - if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then - push_directory "${BUILD_OBJ_DIR}" - else - push_directory "${BUILD_OBJ_DIR}/${PROJECT}" - fi - - disable_exit_on_error - - make clean - - local RESULT=$? - - if [[ ${RESULT} -ne 0 ]]; then - msg_error "Encountered error, please see test.log contents above." - exit ${RESULT} - fi - - pop_directory # BUILD_OBJ_DIR - pop_directory # BUILD_SRC_DIR/PROJECT - - msg_success "'${PROJECT}' clean complete." -} - build_boost() { local PROJECT="$1" @@ -878,7 +820,7 @@ build_cmake() if [[ "${DISPLAY_VERBOSE}" == "yes" ]]; then VERBOSITY_CMAKE="-DCMAKE_VERBOSE_MAKEFILE=ON" - VERBOSITY_MAKE="VERBOSE=1" + VERBOSITY_MAKE="--verbose" fi msg_heading "Preparing to build ${PROJECT}" @@ -906,9 +848,9 @@ build_cmake() # make if [[ ${JOBS} -gt ${SEQUENTIAL} ]]; then - make -j${JOBS} ${VERBOSITY_MAKE} + cmake --build . -j${JOBS} ${VERBOSITY_MAKE} else - make + cmake --build . ${VERBOSITY_MAKE} fi pop_directory # BUILD_OBJ_DIR @@ -916,10 +858,118 @@ build_cmake() msg_success "'${PROJECT}' built successfully." } + +clean_cmake() +{ + local PROJECT="$1" + shift 1 + + msg "Preparing to clean ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + disable_exit_on_error + + cmake --build . --target clean + + local RESULT=$? + + if [[ ${RESULT} -ne 0 ]]; then + msg_error "Encountered error, please see test.log contents above." + exit ${RESULT} + fi + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' clean complete." +} + +install_cmake() +{ + local PROJECT="$1" + shift + + msg "Preparing to install ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + cmake --install . + + if [[ ${OS} == Linux ]] && [[ "${PREFIX}" == "/usr/local" ]]; then + ldconfig + fi + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' installation complete." +} + +test_cmake() +{ + local PROJECT="$1" + local JOBS="$2" + shift 2 + + msg "Preparing to test ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + disable_exit_on_error + + ctest --test-dir . + + local RESULT=$? + + if [[ -e "Testing/Temporary/LastTest.log" ]]; then + msg_warn "begin error log: Testing/Temporary/LastTest.log" + cat "Testing/Temporary/LastTest.log" + msg_warn " end error log: Testing/Temporary/LastTest.log" + fi + + if [[ -e "test.log" ]]; then + msg_warn "begin error log: test.log" + cat "test.log" + msg_warn " end error log: test.log" + fi + + if [[ ${RESULT} -ne 0 ]]; then + msg_error "Encountered error, please see test.log contents above." + exit ${RESULT} + fi + + enable_exit_on_error + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' test complete." +} + display_build_variables() { msg "BUILD_boost : ${BUILD_boost}" msg "BUILD_secp256k1 : ${BUILD_secp256k1}" + msg "BUILD_ultrafast : ${BUILD_ultrafast}" msg "BUILD_SRC_DIR : ${BUILD_SRC_DIR}" msg "BUILD_OBJ_DIR : ${BUILD_OBJ_DIR}" msg "BUILD_OBJ_DIR_RELATIVE : ${BUILD_OBJ_DIR_RELATIVE}" @@ -964,6 +1014,9 @@ display_constants() msg "secp256k1_OWNER : ${secp256k1_OWNER}" msg "secp256k1_TAG : ${secp256k1_TAG}" + msg "UltrafastSecp256k1_OWNER : ${UltrafastSecp256k1_OWNER}" + msg "UltrafastSecp256k1_TAG : ${UltrafastSecp256k1_TAG}" + msg "libbitcoin_system_OWNER : ${libbitcoin_system_OWNER}" msg "libbitcoin_system_TAG : ${libbitcoin_system_TAG}" @@ -993,10 +1046,15 @@ help() msg " Default: OFF" msg "-Denable-shani= Use Intel/ARM SHA Extensions." msg " Default: OFF" + msg "-Dwith-ultrafast= Use shrec/UltrafastSecp256k1." + msg " Default: OFF" + msg "-Dwith-secp256k1= Use bitcoin-core/secp256k1." + msg " Default: ON" msg "-Dwith-ssl= Use embedded ssl library." msg " Default: ON" msg "--build-boost Build Boost libraries" msg "--build-secp256k1 Build libsecp256k1 libraries" + msg "--build-ultrafast Build UltrafastSecp256k1 libraries" msg "--build-src-dir= Location for sources." msg " Default: $(pwd)" msg "--build-obj-dir= Location for intermediate objects." diff --git a/builds/cmake/install-presets.sh b/builds/cmake/install-presets.sh index 8bc84dd6..1a66de83 100755 --- a/builds/cmake/install-presets.sh +++ b/builds/cmake/install-presets.sh @@ -16,10 +16,15 @@ # Default: OFF # -Denable-shani= Use Intel/ARM SHA Extensions. # Default: OFF +# -Dwith-ultrafast= Use shrec/UltrafastSecp256k1. +# Default: OFF +# -Dwith-secp256k1= Use bitcoin-core/secp256k1. +# Default: ON # -Dwith-ssl= Use embedded ssl library. # Default: ON # --build-boost Build Boost libraries # --build-secp256k1 Build libsecp256k1 libraries +# --build-ultrafast Build UltrafastSecp256k1 libraries # --build-preset= Specifies preset configuration to build. # --build-src-dir= Location for sources. # Default: $(pwd) @@ -59,6 +64,13 @@ if [[ -z ${secp256k1_TAG} ]]; then secp256k1_TAG="v0.7.0" fi +if [[ -z ${UltrafastSecp256k1_OWNER} ]]; then + UltrafastSecp256k1_OWNER="pmienk" +fi +if [[ -z ${UltrafastSecp256k1_TAG} ]]; then + UltrafastSecp256k1_TAG="main" +fi + if [[ -z ${libbitcoin_system_OWNER} ]]; then libbitcoin_system_OWNER="libbitcoin" fi @@ -100,22 +112,23 @@ main() for OPTION in "$@"; do case ${OPTION} in - (--build-boost) BUILD_boost="yes";; - (--build-secp256k1) BUILD_secp256k1="yes";; - (--build-preset=*) BUILD_PRESET="${OPTION#*=}";; - (--build-src-dir=*) BUILD_SRC_DIR="${OPTION#*=}";; - (--build-full-repositories) BUILD_FULL_REPOSITORIES="yes";; - (--build-post-install-clean)BUILD_POST_INSTALL_CLEAN="yes";; - (--build-skip-tests) BUILD_SKIP_TESTS="yes";; - (--build-parallel=*) PARALLEL="${OPTION#*=}";; - (--build-use-local-src) BUILD_USE_LOCAL_SRC="yes";; - (--noninteractive) NONINTERACTIVE="yes";; - (--verbose) DISPLAY_VERBOSE="yes";; - (--help|-h) DISPLAY_HELP="yes";; - (-DCMAKE_PREFIX_PATH=*) CMAKE_PREFIX_PATH="${OPTION#*=}";; - (-DCMAKE_INSTALL_PREFIX=*) CMAKE_INSTALL_PREFIX="${OPTION#*=}";; - (-DCMAKE_INCLUDE_PATH=*) CMAKE_INCLUDE_PATH="${OPTION#*=}";; - (-DCMAKE_LIBRARY_PATH=*) CMAKE_LIBRARY_PATH="${OPTION#*=}";; + (--build-boost) BUILD_boost="yes";; + (--build-secp256k1) BUILD_secp256k1="yes";; + (--build-ultrafast) BUILD_ultrafast="yes";; + (--build-preset=*) BUILD_PRESET="${OPTION#*=}";; + (--build-src-dir=*) BUILD_SRC_DIR="${OPTION#*=}";; + (--build-full-repositories) BUILD_FULL_REPOSITORIES="yes";; + (--build-post-install-clean) BUILD_POST_INSTALL_CLEAN="yes";; + (--build-skip-tests) BUILD_SKIP_TESTS="yes";; + (--build-parallel=*) PARALLEL="${OPTION#*=}";; + (--build-use-local-src) BUILD_USE_LOCAL_SRC="yes";; + (--noninteractive) NONINTERACTIVE="yes";; + (--verbose) DISPLAY_VERBOSE="yes";; + (--help|-h) DISPLAY_HELP="yes";; + (-DCMAKE_PREFIX_PATH=*) CMAKE_PREFIX_PATH="${OPTION#*=}";; + (-DCMAKE_INSTALL_PREFIX=*) CMAKE_INSTALL_PREFIX="${OPTION#*=}";; + (-DCMAKE_INCLUDE_PATH=*) CMAKE_INCLUDE_PATH="${OPTION#*=}";; + (-DCMAKE_LIBRARY_PATH=*) CMAKE_LIBRARY_PATH="${OPTION#*=}";; esac done @@ -123,6 +136,7 @@ main() CONFIGURE_OPTIONS=("$@") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-boost/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-secp256k1/}") + CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-ultrafast/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-preset=*/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-src-dir=*/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-full-repositories/}") @@ -134,6 +148,7 @@ main() CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--verbose/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--help/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/-h/}") + CONFIGURE_OPTIONS_CMAKE=("${CONFIGURE_OPTIONS[@]}") msg_verbose "*** ARGUMENTS: ${CONFIGURE_OPTIONS_ORIGINAL[*]}" msg_verbose "*** SANITIZED: ${CONFIGURE_OPTIONS[*]}" @@ -247,6 +262,10 @@ main() exit 1 fi + if [[ "${BUILD_SKIP_TESTS}" == "yes" ]]; then + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-Dwith-tests=OFF" ) + fi + # --prefix if [[ -z "${PREFIX}" ]]; then # Always set a prefix (required for OSX and lib detection). @@ -271,21 +290,23 @@ main() msg_error "Both PREFIX and CMAKE_INSTALL_PREFIX have been defined differently." help exit 1 - elif [[ -n "${PREFIX}" ]]; then + fi + + if [[ -n "${PREFIX}" ]]; then CMAKE_INSTALL_PREFIX="${PREFIX}" - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/-DCMAKE_INSTALL_PREFIX=*/}" ) - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_INSTALL_PREFIX=${PREFIX}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DCMAKE_INSTALL_PREFIX=*/}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_INSTALL_PREFIX=${PREFIX}" ) fi if [[ -n "${PREFIX}" ]] && [[ -n "${CMAKE_PREFIX_PATH}" ]] && [[ "${PREFIX}" != "${CMAKE_PREFIX_PATH}" ]]; then CMAKE_PREFIX_PATH="${PREFIX}:${CMAKE_PREFIX_PATH}" - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/-DCMAKE_PREFIX_PATH=*/}" ) - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DCMAKE_PREFIX_PATH=*/}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ) elif [[ -n "${PREFIX}" ]]; then CMAKE_INSTALL_PREFIX="${PREFIX}" - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/-DCMAKE_PREFIX_PATH=*/}" ) - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_PREFIX_PATH=${PREFIX}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DCMAKE_PREFIX_PATH=*/}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_PREFIX_PATH=${PREFIX}" ) fi if [[ -n "${PREFIX}" ]]; then @@ -387,19 +408,19 @@ main() # Specify cmake build if [[ "${BUILD_CONFIG}" == "debug" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_BUILD_TYPE=Debug" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_BUILD_TYPE=Debug" ) elif [[ "${BUILD_CONFIG}" == "release" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DCMAKE_BUILD_TYPE=Release" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_BUILD_TYPE=Release" ) fi # translate BUILD_LINK to appropriate arguments if [[ -n "${BUILD_LINK}" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/-DBUILD_SHARED_LIBS=*}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DBUILD_SHARED_LIBS=*}" ) if [[ "${BUILD_LINK}" == "dynamic" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DBUILD_SHARED_LIBS=ON" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DBUILD_SHARED_LIBS=ON" ) else - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "-DBUILD_SHARED_LIBS=OFF" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DBUILD_SHARED_LIBS=OFF" ) fi fi @@ -415,13 +436,14 @@ main() with_boost="--with-boost=${PREFIX}" fi + REMAP=() - for argument in "${CONFIGURE_OPTIONS[@]}"; do + for argument in "${CONFIGURE_OPTIONS_CMAKE[@]}"; do if [[ -n "${argument}" ]]; then REMAP+=( "${argument}" ) fi done - CONFIGURE_OPTIONS=( "${REMAP[@]}" ) + CONFIGURE_OPTIONS_CMAKE=( "${REMAP[@]}" ) unset REMAP msg_heading "Configuration" @@ -460,6 +482,25 @@ main() "-DSECP256K1_ENABLE_MODULE_RECOVERY=ON" "-DSECP256K1_ENABLE_MODULE_SCHNORRSIG=ON") + UltrafastSecp256k1_FLAGS=() + + UltrafastSecp256k1_OPTIONS=( + "-DSECP256K1_BUILD_TESTS=OFF" + "-DSECP256K1_BUILD_BENCH=OFF" + "-DSECP256K1_BUILD_EXAMPLES=OFF" + "-DSECP256K1_BUILD_JAVA=OFF" + "-DUFSECP_BUILD_SHARED=OFF" + "-DSECP256K1_BUILD_CABI=ON" + "-DSECP256K1_BUILD_CPU=ON" + "-DSECP256K1_BUILD_SHIM=ON" + "-DSECP256K1_BUILD_CUDA=OFF" + "-DSECP256K1_BUILD_ROCM=OFF" + "-DSECP256K1_BUILD_OPENCL=OFF" + "-DSECP256K1_BUILD_METAL=OFF" + "-DSECP256K1_INSTALL=ON" + "-DSECP256K1_INSTALL_PKGCONFIG=ON" + "-DSECP256K1_USE_ULTRAFAST=ON") + libbitcoin_system_FLAGS=() libbitcoin_system_OPTIONS=( @@ -499,10 +540,22 @@ main() source_github "${secp256k1_OWNER}" "secp256k1" "${secp256k1_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${secp256k1_FLAGS[@]}" - build_cmake "secp256k1" "." "${PARALLEL}" "${secp256k1_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "secp256k1" + build_cmake "secp256k1" "." "${PARALLEL}" "${secp256k1_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "secp256k1" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "secp256k1" + clean_cmake "secp256k1" + fi + export CPPFLAGS="${SAVE_CPPFLAGS}" + fi + + if [[ ${BUILD_ultrafast} == "yes" ]]; then + source_github "${UltrafastSecp256k1_OWNER}" "UltrafastSecp256k1" "${UltrafastSecp256k1_TAG}" + local SAVE_CPPFLAGS="${CPPFLAGS}" + export CPPFLAGS="${CPPFLAGS} ${UltrafastSecp256k1_FLAGS[@]}" + build_cmake "UltrafastSecp256k1" "." "${PARALLEL}" "${UltrafastSecp256k1_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "UltrafastSecp256k1" + if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then + clean_cmake "UltrafastSecp256k1" fi export CPPFLAGS="${SAVE_CPPFLAGS}" fi @@ -510,53 +563,53 @@ main() source_github "${libbitcoin_system_OWNER}" "libbitcoin-system" "${libbitcoin_system_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_system_FLAGS[@]}" - build_preset "libbitcoin-system" "builds/cmake" "${PARALLEL}" "${libbitcoin_system_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-system" + build_preset "libbitcoin-system" "builds/cmake" "${PARALLEL}" "${libbitcoin_system_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "libbitcoin-system" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-system" + clean_cmake "libbitcoin-system" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_database_OWNER}" "libbitcoin-database" "${libbitcoin_database_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_database_FLAGS[@]}" - build_preset "libbitcoin-database" "builds/cmake" "${PARALLEL}" "${libbitcoin_database_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-database" + build_preset "libbitcoin-database" "builds/cmake" "${PARALLEL}" "${libbitcoin_database_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "libbitcoin-database" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-database" + clean_cmake "libbitcoin-database" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_network_OWNER}" "libbitcoin-network" "${libbitcoin_network_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_network_FLAGS[@]}" - build_preset "libbitcoin-network" "builds/cmake" "${PARALLEL}" "${libbitcoin_network_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-network" + build_preset "libbitcoin-network" "builds/cmake" "${PARALLEL}" "${libbitcoin_network_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "libbitcoin-network" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-network" + clean_cmake "libbitcoin-network" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_node_OWNER}" "libbitcoin-node" "${libbitcoin_node_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_node_FLAGS[@]}" - build_preset "libbitcoin-node" "builds/cmake" "${PARALLEL}" "${libbitcoin_node_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-node" + build_preset "libbitcoin-node" "builds/cmake" "${PARALLEL}" "${libbitcoin_node_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "libbitcoin-node" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-node" + clean_cmake "libbitcoin-node" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_server_OWNER}" "libbitcoin-server" "${libbitcoin_server_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_server_FLAGS[@]}" - build_preset "libbitcoin-server" "builds/cmake" "${PARALLEL}" "${libbitcoin_server_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" + build_preset "libbitcoin-server" "builds/cmake" "${PARALLEL}" "${libbitcoin_server_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" if ! [[ "${BUILD_SKIP_TESTS}" == "yes" ]]; then - test_make "libbitcoin-server" "test" "${PARALLEL}" + test_cmake "libbitcoin-server" "test" "${PARALLEL}" fi - install_make "libbitcoin-server" + install_cmake "libbitcoin-server" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-server" + clean_cmake "libbitcoin-server" fi export CPPFLAGS="${SAVE_CPPFLAGS}" @@ -684,117 +737,6 @@ source_github() pop_directory # pop BUILD_SRC_DIR } -install_make() -{ - local PROJECT="$1" - shift - - msg "Preparing to install ${PROJECT}" - - push_directory "${BUILD_SRC_DIR}/${PROJECT}" - - if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then - push_directory "${BUILD_OBJ_DIR}" - else - push_directory "${BUILD_OBJ_DIR}/${PROJECT}" - fi - - make install - - if [[ ${OS} == Linux ]] && [[ "${PREFIX}" == "/usr/local" ]]; then - ldconfig - fi - - pop_directory # BUILD_OBJ_DIR - pop_directory # BUILD_SRC_DIR/PROJECT - - msg_success "'${PROJECT}' installation complete." -} - -test_make() -{ - local PROJECT="$1" - local TARGET="$2" - local JOBS="$3" - shift 3 - - msg "Preparing to test ${PROJECT}" - - push_directory "${BUILD_SRC_DIR}/${PROJECT}" - - if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then - push_directory "${BUILD_OBJ_DIR}" - else - push_directory "${BUILD_OBJ_DIR}/${PROJECT}" - fi - - disable_exit_on_error - - if [[ ${JOBS} -gt ${SEQUENTIAL} ]]; then - make -j${JOBS} ${TARGET} VERBOSE=1 - else - make ${TARGET} VERBOSE=1 - fi - - local RESULT=$? - - if [[ -e "Testing/Temporary/LastTest.log" ]]; then - msg_warn "begin error log: Testing/Temporary/LastTest.log" - cat "Testing/Temporary/LastTest.log" - msg_warn " end error log: Testing/Temporary/LastTest.log" - fi - - if [[ -e "test.log" ]]; then - msg_warn "begin error log: test.log" - cat "test.log" - msg_warn " end error log: test.log" - fi - - if [[ ${RESULT} -ne 0 ]]; then - msg_error "Encountered error, please see test.log contents above." - exit ${RESULT} - fi - - enable_exit_on_error - - pop_directory # BUILD_OBJ_DIR - pop_directory # BUILD_SRC_DIR/PROJECT - - msg_success "'${PROJECT}' test complete." -} - -clean_make() -{ - local PROJECT="$1" - shift 1 - - msg "Preparing to clean ${PROJECT}" - - push_directory "${BUILD_SRC_DIR}/${PROJECT}" - - if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then - push_directory "${BUILD_OBJ_DIR}" - else - push_directory "${BUILD_OBJ_DIR}/${PROJECT}" - fi - - disable_exit_on_error - - make clean - - local RESULT=$? - - if [[ ${RESULT} -ne 0 ]]; then - msg_error "Encountered error, please see test.log contents above." - exit ${RESULT} - fi - - pop_directory # BUILD_OBJ_DIR - pop_directory # BUILD_SRC_DIR/PROJECT - - msg_success "'${PROJECT}' clean complete." -} - build_boost() { local PROJECT="$1" @@ -894,7 +836,7 @@ build_cmake() if [[ "${DISPLAY_VERBOSE}" == "yes" ]]; then VERBOSITY_CMAKE="-DCMAKE_VERBOSE_MAKEFILE=ON" - VERBOSITY_MAKE="VERBOSE=1" + VERBOSITY_MAKE="--verbose" fi msg_heading "Preparing to build ${PROJECT}" @@ -922,9 +864,9 @@ build_cmake() # make if [[ ${JOBS} -gt ${SEQUENTIAL} ]]; then - make -j${JOBS} ${VERBOSITY_MAKE} + cmake --build . -j${JOBS} ${VERBOSITY_MAKE} else - make + cmake --build . ${VERBOSITY_MAKE} fi pop_directory # BUILD_OBJ_DIR @@ -932,6 +874,7 @@ build_cmake() msg_success "'${PROJECT}' built successfully." } + build_preset() { local PROJECT="$1" @@ -982,10 +925,118 @@ build_preset() msg_success "'${PROJECT}' built successfully." } + +clean_cmake() +{ + local PROJECT="$1" + shift 1 + + msg "Preparing to clean ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + disable_exit_on_error + + cmake --build . --target clean + + local RESULT=$? + + if [[ ${RESULT} -ne 0 ]]; then + msg_error "Encountered error, please see test.log contents above." + exit ${RESULT} + fi + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' clean complete." +} + +install_cmake() +{ + local PROJECT="$1" + shift + + msg "Preparing to install ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + cmake --install . + + if [[ ${OS} == Linux ]] && [[ "${PREFIX}" == "/usr/local" ]]; then + ldconfig + fi + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' installation complete." +} + +test_cmake() +{ + local PROJECT="$1" + local JOBS="$2" + shift 2 + + msg "Preparing to test ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + disable_exit_on_error + + ctest --test-dir . + + local RESULT=$? + + if [[ -e "Testing/Temporary/LastTest.log" ]]; then + msg_warn "begin error log: Testing/Temporary/LastTest.log" + cat "Testing/Temporary/LastTest.log" + msg_warn " end error log: Testing/Temporary/LastTest.log" + fi + + if [[ -e "test.log" ]]; then + msg_warn "begin error log: test.log" + cat "test.log" + msg_warn " end error log: test.log" + fi + + if [[ ${RESULT} -ne 0 ]]; then + msg_error "Encountered error, please see test.log contents above." + exit ${RESULT} + fi + + enable_exit_on_error + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' test complete." +} + display_build_variables() { msg "BUILD_boost : ${BUILD_boost}" msg "BUILD_secp256k1 : ${BUILD_secp256k1}" + msg "BUILD_ultrafast : ${BUILD_ultrafast}" msg "BUILD_PRESET : ${BUILD_PRESET}" msg "BUILD_SRC_DIR : ${BUILD_SRC_DIR}" msg "BUILD_OBJ_DIR : ${BUILD_OBJ_DIR}" @@ -1031,6 +1082,9 @@ display_constants() msg "secp256k1_OWNER : ${secp256k1_OWNER}" msg "secp256k1_TAG : ${secp256k1_TAG}" + msg "UltrafastSecp256k1_OWNER : ${UltrafastSecp256k1_OWNER}" + msg "UltrafastSecp256k1_TAG : ${UltrafastSecp256k1_TAG}" + msg "libbitcoin_system_OWNER : ${libbitcoin_system_OWNER}" msg "libbitcoin_system_TAG : ${libbitcoin_system_TAG}" @@ -1060,10 +1114,15 @@ help() msg " Default: OFF" msg "-Denable-shani= Use Intel/ARM SHA Extensions." msg " Default: OFF" + msg "-Dwith-ultrafast= Use shrec/UltrafastSecp256k1." + msg " Default: OFF" + msg "-Dwith-secp256k1= Use bitcoin-core/secp256k1." + msg " Default: ON" msg "-Dwith-ssl= Use embedded ssl library." msg " Default: ON" msg "--build-boost Build Boost libraries" msg "--build-secp256k1 Build libsecp256k1 libraries" + msg "--build-ultrafast Build UltrafastSecp256k1 libraries" msg "--build-preset= Specifies preset configuration to build." msg "--build-src-dir= Location for sources." msg " Default: $(pwd)" diff --git a/builds/gnu/install-gnu.sh b/builds/gnu/install-gnu.sh index 0bb4e5e0..8bfef67e 100755 --- a/builds/gnu/install-gnu.sh +++ b/builds/gnu/install-gnu.sh @@ -16,10 +16,15 @@ # Default: --disable-sse41 # ---shani Use Intel/ARM SHA Extensions. # Default: --disable-shani +# ---ultrafast Use shrec/UltrafastSecp256k1. +# Default: --without-ultrafast +# ---secp256k1 Use bitcoin-core/secp256k1. +# Default: --with-secp256k1 # ---ssl Use embedded ssl library. # Default: --with-ssl # --build-boost Build Boost libraries # --build-secp256k1 Build libsecp256k1 libraries +# --build-ultrafast Build UltrafastSecp256k1 libraries # --build-src-dir= Location for sources. # Default: $(pwd) # --build-obj-dir= Location for intermediate objects. @@ -69,6 +74,13 @@ if [[ -z ${secp256k1_TAG} ]]; then secp256k1_TAG="v0.7.0" fi +if [[ -z ${UltrafastSecp256k1_OWNER} ]]; then + UltrafastSecp256k1_OWNER="pmienk" +fi +if [[ -z ${UltrafastSecp256k1_TAG} ]]; then + UltrafastSecp256k1_TAG="main" +fi + if [[ -z ${libbitcoin_system_OWNER} ]]; then libbitcoin_system_OWNER="libbitcoin" fi @@ -110,22 +122,23 @@ main() for OPTION in "$@"; do case ${OPTION} in - (--build-boost) BUILD_boost="yes";; - (--build-secp256k1) BUILD_secp256k1="yes";; - (--build-src-dir=*) BUILD_SRC_DIR="${OPTION#*=}";; - (--build-obj-dir=*) BUILD_OBJ_DIR="${OPTION#*=}";; - (--build-obj-dir-relative) BUILD_OBJ_DIR_RELATIVE="yes";; - (--build-config=*) BUILD_CONFIG="${OPTION#*=}";; - (--build-link=*) BUILD_LINK="${OPTION#*=}";; - (--build-full-repositories) BUILD_FULL_REPOSITORIES="yes";; - (--build-post-install-clean)BUILD_POST_INSTALL_CLEAN="yes";; - (--build-skip-tests) BUILD_SKIP_TESTS="yes";; - (--build-parallel=*) PARALLEL="${OPTION#*=}";; - (--build-use-local-src) BUILD_USE_LOCAL_SRC="yes";; - (--prefix=*) PREFIX="${OPTION#*=}";; - (--noninteractive) NONINTERACTIVE="yes";; - (--verbose) DISPLAY_VERBOSE="yes";; - (--help|-h) DISPLAY_HELP="yes";; + (--build-boost) BUILD_boost="yes";; + (--build-secp256k1) BUILD_secp256k1="yes";; + (--build-ultrafast) BUILD_ultrafast="yes";; + (--build-src-dir=*) BUILD_SRC_DIR="${OPTION#*=}";; + (--build-obj-dir=*) BUILD_OBJ_DIR="${OPTION#*=}";; + (--build-obj-dir-relative) BUILD_OBJ_DIR_RELATIVE="yes";; + (--build-config=*) BUILD_CONFIG="${OPTION#*=}";; + (--build-link=*) BUILD_LINK="${OPTION#*=}";; + (--build-full-repositories) BUILD_FULL_REPOSITORIES="yes";; + (--build-post-install-clean) BUILD_POST_INSTALL_CLEAN="yes";; + (--build-skip-tests) BUILD_SKIP_TESTS="yes";; + (--build-parallel=*) PARALLEL="${OPTION#*=}";; + (--build-use-local-src) BUILD_USE_LOCAL_SRC="yes";; + (--prefix=*) PREFIX="${OPTION#*=}";; + (--noninteractive) NONINTERACTIVE="yes";; + (--verbose) DISPLAY_VERBOSE="yes";; + (--help|-h) DISPLAY_HELP="yes";; esac done @@ -133,6 +146,7 @@ main() CONFIGURE_OPTIONS=("$@") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-boost/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-secp256k1/}") + CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-ultrafast/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-src-dir=*/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-obj-dir=*/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--build-obj-dir-relative/}") @@ -148,6 +162,8 @@ main() CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--verbose/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--help/}") CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/-h/}") + CONFIGURE_OPTIONS_CMAKE=() + CONFIGURE_OPTIONS_GNU=("${CONFIGURE_OPTIONS[@]}") msg_verbose "*** ARGUMENTS: ${CONFIGURE_OPTIONS_ORIGINAL[*]}" msg_verbose "*** SANITIZED: ${CONFIGURE_OPTIONS[*]}" @@ -227,6 +243,11 @@ main() exit 1 fi + if [[ "${BUILD_SKIP_TESTS}" == "yes" ]]; then + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-Dwith-tests=OFF" ) + CONFIGURE_OPTIONS_GNU=( "${CONFIGURE_OPTIONS_GNU[@]}" "--without-tests" ) + fi + # --prefix if [[ -z "${PREFIX}" ]]; then # Always set a prefix (required for OSX and lib detection). @@ -247,8 +268,31 @@ main() fi fi + if [[ -n "${PREFIX}" ]] && [[ -n "${CMAKE_INSTALL_PREFIX}" ]]; then + msg_error "Both PREFIX and CMAKE_INSTALL_PREFIX have been defined differently." + help + exit 1 + fi + if [[ -n "${PREFIX}" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "--prefix=${PREFIX}" ) + CMAKE_INSTALL_PREFIX="${PREFIX}" + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DCMAKE_INSTALL_PREFIX=*/}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_INSTALL_PREFIX=${PREFIX}" ) + fi + + if [[ -n "${PREFIX}" ]] && [[ -n "${CMAKE_PREFIX_PATH}" ]] && + [[ "${PREFIX}" != "${CMAKE_PREFIX_PATH}" ]]; then + CMAKE_PREFIX_PATH="${PREFIX}:${CMAKE_PREFIX_PATH}" + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DCMAKE_PREFIX_PATH=*/}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ) + elif [[ -n "${PREFIX}" ]]; then + CMAKE_INSTALL_PREFIX="${PREFIX}" + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DCMAKE_PREFIX_PATH=*/}" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_PREFIX_PATH=${PREFIX}" ) + fi + + if [[ -n "${PREFIX}" ]]; then + CONFIGURE_OPTIONS_GNU=( "${CONFIGURE_OPTIONS_GNU[@]}" "--prefix=${PREFIX}" ) fi if [[ -n "${PREFIX}" ]]; then @@ -350,22 +394,36 @@ main() # Specify or remove --enable-ndebug for gnu toolchain on release if [[ "${BUILD_CONFIG}" == "debug" ]]; then - CONFIGURE_OPTIONS=("${CONFIGURE_OPTIONS[@]/--enable-ndebug/}") + CONFIGURE_OPTIONS_GNU=("${CONFIGURE_OPTIONS_GNU[@]/--enable-ndebug/}") + elif [[ "${BUILD_CONFIG}" == "release" ]]; then + CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS_GNU[@]}" "--enable-ndebug" ) + fi + + # Specify cmake build + if [[ "${BUILD_CONFIG}" == "debug" ]]; then + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_BUILD_TYPE=Debug" ) elif [[ "${BUILD_CONFIG}" == "release" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "--enable-ndebug" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DCMAKE_BUILD_TYPE=Release" ) fi # translate BUILD_LINK to appropriate arguments if [[ -n "${BUILD_LINK}" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/--disable-shared=*}" ) - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/--enable-shared=*}" ) - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/--disable-static=*}" ) - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]/--enable-static=*}" ) + CONFIGURE_OPTIONS_GNU=( "${CONFIGURE_OPTIONS_GNU[@]/--disable-shared=*}" ) + CONFIGURE_OPTIONS_GNU=( "${CONFIGURE_OPTIONS_GNU[@]/--enable-shared=*}" ) + CONFIGURE_OPTIONS_GNU=( "${CONFIGURE_OPTIONS_GNU[@]/--disable-static=*}" ) + CONFIGURE_OPTIONS_GNU=( "${CONFIGURE_OPTIONS_GNU[@]/--enable-static=*}" ) + + if [[ "${BUILD_LINK}" == "dynamic" ]]; then + CONFIGURE_OPTIONS_GNU=( "${CONFIGURE_OPTIONS_GNU[@]}" "--enable-shared" "--disable-static" ) + else + CONFIGURE_OPTIONS_GNU=( "${CONFIGURE_OPTIONS_GNU[@]}" "--disable-shared" "--enable-static" ) + fi + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]/-DBUILD_SHARED_LIBS=*}" ) if [[ "${BUILD_LINK}" == "dynamic" ]]; then - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "--enable-shared" "--disable-static" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DBUILD_SHARED_LIBS=ON" ) else - CONFIGURE_OPTIONS=( "${CONFIGURE_OPTIONS[@]}" "--disable-shared" "--enable-static" ) + CONFIGURE_OPTIONS_CMAKE=( "${CONFIGURE_OPTIONS_CMAKE[@]}" "-DBUILD_SHARED_LIBS=OFF" ) fi fi @@ -381,13 +439,23 @@ main() with_boost="--with-boost=${PREFIX}" fi + REMAP=() - for argument in "${CONFIGURE_OPTIONS[@]}"; do + for argument in "${CONFIGURE_OPTIONS_CMAKE[@]}"; do if [[ -n "${argument}" ]]; then REMAP+=( "${argument}" ) fi done - CONFIGURE_OPTIONS=( "${REMAP[@]}" ) + CONFIGURE_OPTIONS_CMAKE=( "${REMAP[@]}" ) + unset REMAP + + REMAP=() + for argument in "${CONFIGURE_OPTIONS_GNU[@]}"; do + if [[ -n "${argument}" ]]; then + REMAP+=( "${argument}" ) + fi + done + CONFIGURE_OPTIONS_GNU=( "${REMAP[@]}" ) unset REMAP msg_heading "Configuration" @@ -426,6 +494,25 @@ main() "--enable-module-recovery" "--enable-module-schnorrsig") + UltrafastSecp256k1_FLAGS=() + + UltrafastSecp256k1_OPTIONS=( + "-DSECP256K1_BUILD_TESTS=OFF" + "-DSECP256K1_BUILD_BENCH=OFF" + "-DSECP256K1_BUILD_EXAMPLES=OFF" + "-DSECP256K1_BUILD_JAVA=OFF" + "-DUFSECP_BUILD_SHARED=OFF" + "-DSECP256K1_BUILD_CABI=ON" + "-DSECP256K1_BUILD_CPU=ON" + "-DSECP256K1_BUILD_SHIM=ON" + "-DSECP256K1_BUILD_CUDA=OFF" + "-DSECP256K1_BUILD_ROCM=OFF" + "-DSECP256K1_BUILD_OPENCL=OFF" + "-DSECP256K1_BUILD_METAL=OFF" + "-DSECP256K1_INSTALL=ON" + "-DSECP256K1_INSTALL_PKGCONFIG=ON" + "-DSECP256K1_USE_ULTRAFAST=ON") + libbitcoin_system_FLAGS=() libbitcoin_system_OPTIONS=( @@ -474,10 +561,22 @@ main() source_github "${secp256k1_OWNER}" "secp256k1" "${secp256k1_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${secp256k1_FLAGS[@]}" - build_gnu "secp256k1" "." "${PARALLEL}" "${secp256k1_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "secp256k1" + build_gnu "secp256k1" "." "${PARALLEL}" "${secp256k1_OPTIONS[@]}" "${CONFIGURE_OPTIONS_GNU[@]}" + install_gnu "secp256k1" + if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then + clean_gnu "secp256k1" + fi + export CPPFLAGS="${SAVE_CPPFLAGS}" + fi + + if [[ ${BUILD_ultrafast} == "yes" ]]; then + source_github "${UltrafastSecp256k1_OWNER}" "UltrafastSecp256k1" "${UltrafastSecp256k1_TAG}" + local SAVE_CPPFLAGS="${CPPFLAGS}" + export CPPFLAGS="${CPPFLAGS} ${UltrafastSecp256k1_FLAGS[@]}" + build_cmake "UltrafastSecp256k1" "." "${PARALLEL}" "${UltrafastSecp256k1_OPTIONS[@]}" "${CONFIGURE_OPTIONS_CMAKE[@]}" + install_cmake "UltrafastSecp256k1" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "secp256k1" + clean_cmake "UltrafastSecp256k1" fi export CPPFLAGS="${SAVE_CPPFLAGS}" fi @@ -485,53 +584,53 @@ main() source_github "${libbitcoin_system_OWNER}" "libbitcoin-system" "${libbitcoin_system_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_system_FLAGS[@]}" - build_gnu "libbitcoin-system" "." "${PARALLEL}" "${libbitcoin_system_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-system" + build_gnu "libbitcoin-system" "." "${PARALLEL}" "${libbitcoin_system_OPTIONS[@]}" "${CONFIGURE_OPTIONS_GNU[@]}" + install_gnu "libbitcoin-system" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-system" + clean_gnu "libbitcoin-system" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_database_OWNER}" "libbitcoin-database" "${libbitcoin_database_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_database_FLAGS[@]}" - build_gnu "libbitcoin-database" "." "${PARALLEL}" "${libbitcoin_database_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-database" + build_gnu "libbitcoin-database" "." "${PARALLEL}" "${libbitcoin_database_OPTIONS[@]}" "${CONFIGURE_OPTIONS_GNU[@]}" + install_gnu "libbitcoin-database" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-database" + clean_gnu "libbitcoin-database" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_network_OWNER}" "libbitcoin-network" "${libbitcoin_network_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_network_FLAGS[@]}" - build_gnu "libbitcoin-network" "." "${PARALLEL}" "${libbitcoin_network_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-network" + build_gnu "libbitcoin-network" "." "${PARALLEL}" "${libbitcoin_network_OPTIONS[@]}" "${CONFIGURE_OPTIONS_GNU[@]}" + install_gnu "libbitcoin-network" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-network" + clean_gnu "libbitcoin-network" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_node_OWNER}" "libbitcoin-node" "${libbitcoin_node_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_node_FLAGS[@]}" - build_gnu "libbitcoin-node" "." "${PARALLEL}" "${libbitcoin_node_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" - install_make "libbitcoin-node" + build_gnu "libbitcoin-node" "." "${PARALLEL}" "${libbitcoin_node_OPTIONS[@]}" "${CONFIGURE_OPTIONS_GNU[@]}" + install_gnu "libbitcoin-node" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-node" + clean_gnu "libbitcoin-node" fi export CPPFLAGS="${SAVE_CPPFLAGS}" source_github "${libbitcoin_server_OWNER}" "libbitcoin-server" "${libbitcoin_server_TAG}" local SAVE_CPPFLAGS="${CPPFLAGS}" export CPPFLAGS="${CPPFLAGS} ${libbitcoin_server_FLAGS[@]}" - build_gnu "libbitcoin-server" "." "${PARALLEL}" "${libbitcoin_server_OPTIONS[@]}" "${CONFIGURE_OPTIONS[@]}" + build_gnu "libbitcoin-server" "." "${PARALLEL}" "${libbitcoin_server_OPTIONS[@]}" "${CONFIGURE_OPTIONS_GNU[@]}" if ! [[ "${BUILD_SKIP_TESTS}" == "yes" ]]; then - test_make "libbitcoin-server" "check" "${PARALLEL}" + test_gnu "libbitcoin-server" "${PARALLEL}" fi - install_make "libbitcoin-server" + install_gnu "libbitcoin-server" if [[ "${BUILD_POST_INSTALL_CLEAN}" == "yes" ]]; then - clean_make "libbitcoin-server" + clean_gnu "libbitcoin-server" fi export CPPFLAGS="${SAVE_CPPFLAGS}" @@ -659,117 +758,6 @@ source_github() pop_directory # pop BUILD_SRC_DIR } -install_make() -{ - local PROJECT="$1" - shift - - msg "Preparing to install ${PROJECT}" - - push_directory "${BUILD_SRC_DIR}/${PROJECT}" - - if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then - push_directory "${BUILD_OBJ_DIR}" - else - push_directory "${BUILD_OBJ_DIR}/${PROJECT}" - fi - - make install - - if [[ ${OS} == Linux ]] && [[ "${PREFIX}" == "/usr/local" ]]; then - ldconfig - fi - - pop_directory # BUILD_OBJ_DIR - pop_directory # BUILD_SRC_DIR/PROJECT - - msg_success "'${PROJECT}' installation complete." -} - -test_make() -{ - local PROJECT="$1" - local TARGET="$2" - local JOBS="$3" - shift 3 - - msg "Preparing to test ${PROJECT}" - - push_directory "${BUILD_SRC_DIR}/${PROJECT}" - - if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then - push_directory "${BUILD_OBJ_DIR}" - else - push_directory "${BUILD_OBJ_DIR}/${PROJECT}" - fi - - disable_exit_on_error - - if [[ ${JOBS} -gt ${SEQUENTIAL} ]]; then - make -j${JOBS} ${TARGET} VERBOSE=1 - else - make ${TARGET} VERBOSE=1 - fi - - local RESULT=$? - - if [[ -e "test-suite.log" ]]; then - msg_warn "begin error log: test-suite.log" - cat "test-suite.log" - msg_warn " end error log: test-suite.log" - fi - - if [[ -e "test.log" ]]; then - msg_warn "begin error log: test.log" - cat "test.log" - msg_warn " end error log: test.log" - fi - - if [[ ${RESULT} -ne 0 ]]; then - msg_error "Encountered error, please see test.log contents above." - exit ${RESULT} - fi - - enable_exit_on_error - - pop_directory # BUILD_OBJ_DIR - pop_directory # BUILD_SRC_DIR/PROJECT - - msg_success "'${PROJECT}' test complete." -} - -clean_make() -{ - local PROJECT="$1" - shift 1 - - msg "Preparing to clean ${PROJECT}" - - push_directory "${BUILD_SRC_DIR}/${PROJECT}" - - if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then - push_directory "${BUILD_OBJ_DIR}" - else - push_directory "${BUILD_OBJ_DIR}/${PROJECT}" - fi - - disable_exit_on_error - - make clean - - local RESULT=$? - - if [[ ${RESULT} -ne 0 ]]; then - msg_error "Encountered error, please see test.log contents above." - exit ${RESULT} - fi - - pop_directory # BUILD_OBJ_DIR - pop_directory # BUILD_SRC_DIR/PROJECT - - msg_success "'${PROJECT}' clean complete." -} - build_boost() { local PROJECT="$1" @@ -912,10 +900,279 @@ build_gnu() msg_success "'${PROJECT}' built successfully." } + +build_cmake() +{ + local PROJECT="$1" + local RELATIVE_PATH="$2" + local JOBS="$3" + shift 3 + + local VERBOSITY_CMAKE="" + local VERBOSITY_MAKE="" + + if [[ "${DISPLAY_VERBOSE}" == "yes" ]]; then + VERBOSITY_CMAKE="-DCMAKE_VERBOSE_MAKEFILE=ON" + VERBOSITY_MAKE="--verbose" + fi + + msg_heading "Preparing to build ${PROJECT}" + + + # directory rationalization + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + push_directory "${RELATIVE_PATH}" + local BUILD_PATH="$(pwd)" + pop_directory + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + create_directory_force "${BUILD_OBJ_DIR}" + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}" + create_directory_force "${PROJECT}" + pop_directory + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + display_configure_options "$@" + + cmake ${VERBOSITY_CMAKE} -LA "$@" "${BUILD_SRC_DIR}/${PROJECT}/${RELATIVE_PATH}" + + # make + if [[ ${JOBS} -gt ${SEQUENTIAL} ]]; then + cmake --build . -j${JOBS} ${VERBOSITY_MAKE} + else + cmake --build . ${VERBOSITY_MAKE} + fi + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + msg_success "'${PROJECT}' built successfully." +} + + +clean_cmake() +{ + local PROJECT="$1" + shift 1 + + msg "Preparing to clean ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + disable_exit_on_error + + cmake --build . --target clean + + local RESULT=$? + + if [[ ${RESULT} -ne 0 ]]; then + msg_error "Encountered error, please see test.log contents above." + exit ${RESULT} + fi + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' clean complete." +} + +install_cmake() +{ + local PROJECT="$1" + shift + + msg "Preparing to install ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + cmake --install . + + if [[ ${OS} == Linux ]] && [[ "${PREFIX}" == "/usr/local" ]]; then + ldconfig + fi + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' installation complete." +} + +test_cmake() +{ + local PROJECT="$1" + local JOBS="$2" + shift 2 + + msg "Preparing to test ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + disable_exit_on_error + + ctest --test-dir . + + local RESULT=$? + + if [[ -e "test-suite.log" ]]; then + msg_warn "begin error log: test-suite.log" + cat "test-suite.log" + msg_warn " end error log: test-suite.log" + fi + + if [[ -e "test.log" ]]; then + msg_warn "begin error log: test.log" + cat "test.log" + msg_warn " end error log: test.log" + fi + + if [[ ${RESULT} -ne 0 ]]; then + msg_error "Encountered error, please see test.log contents above." + exit ${RESULT} + fi + + enable_exit_on_error + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' test complete." +} + +clean_gnu() +{ + local PROJECT="$1" + shift 1 + + msg "Preparing to clean ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + disable_exit_on_error + + make clean + + local RESULT=$? + + if [[ ${RESULT} -ne 0 ]]; then + msg_error "Encountered error, please see test.log contents above." + exit ${RESULT} + fi + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' clean complete." +} + +install_gnu() +{ + local PROJECT="$1" + shift + + msg "Preparing to install ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + make install + + if [[ ${OS} == Linux ]] && [[ "${PREFIX}" == "/usr/local" ]]; then + ldconfig + fi + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' installation complete." +} + +test_gnu() +{ + local PROJECT="$1" + local JOBS="$2" + shift 2 + + msg "Preparing to test ${PROJECT}" + + push_directory "${BUILD_SRC_DIR}/${PROJECT}" + + if [[ "${BUILD_OBJ_DIR_RELATIVE}" == "yes" ]]; then + push_directory "${BUILD_OBJ_DIR}" + else + push_directory "${BUILD_OBJ_DIR}/${PROJECT}" + fi + + disable_exit_on_error + + if [[ ${JOBS} -gt ${SEQUENTIAL} ]]; then + make -j${JOBS} check VERBOSE=1 + else + make check VERBOSE=1 + fi + + local RESULT=$? + + if [[ -e "test-suite.log" ]]; then + msg_warn "begin error log: test-suite.log" + cat "test-suite.log" + msg_warn " end error log: test-suite.log" + fi + + if [[ -e "test.log" ]]; then + msg_warn "begin error log: test.log" + cat "test.log" + msg_warn " end error log: test.log" + fi + + if [[ ${RESULT} -ne 0 ]]; then + msg_error "Encountered error, please see test.log contents above." + exit ${RESULT} + fi + + enable_exit_on_error + + pop_directory # BUILD_OBJ_DIR + pop_directory # BUILD_SRC_DIR/PROJECT + + msg_success "'${PROJECT}' test complete." +} + display_build_variables() { msg "BUILD_boost : ${BUILD_boost}" msg "BUILD_secp256k1 : ${BUILD_secp256k1}" + msg "BUILD_ultrafast : ${BUILD_ultrafast}" msg "BUILD_SRC_DIR : ${BUILD_SRC_DIR}" msg "BUILD_OBJ_DIR : ${BUILD_OBJ_DIR}" msg "BUILD_OBJ_DIR_RELATIVE : ${BUILD_OBJ_DIR_RELATIVE}" @@ -946,6 +1203,10 @@ display_toolchain_variables() msg "PKG_CONFIG_PATH : ${PKG_CONFIG_PATH}" msg "LDLIBS : ${LDLIBS}" msg "BOOST_ROOT : ${BOOST_ROOT}" + msg "CMAKE_PREFIX_PATH : ${CMAKE_PREFIX_PATH}" + msg "CMAKE_INSTALL_PREFIX : ${CMAKE_INSTALL_PREFIX}" + msg "CMAKE_INCLUDE_PATH : ${CMAKE_INCLUDE_PATH}" + msg "CMAKE_LIBRARY_PATH : ${CMAKE_LIBRARY_PATH}" } display_constants() @@ -956,6 +1217,9 @@ display_constants() msg "secp256k1_OWNER : ${secp256k1_OWNER}" msg "secp256k1_TAG : ${secp256k1_TAG}" + msg "UltrafastSecp256k1_OWNER : ${UltrafastSecp256k1_OWNER}" + msg "UltrafastSecp256k1_TAG : ${UltrafastSecp256k1_TAG}" + msg "libbitcoin_system_OWNER : ${libbitcoin_system_OWNER}" msg "libbitcoin_system_TAG : ${libbitcoin_system_TAG}" @@ -985,10 +1249,15 @@ help() msg " Default: --disable-sse41" msg "---shani Use Intel/ARM SHA Extensions." msg " Default: --disable-shani" + msg "---ultrafast Use shrec/UltrafastSecp256k1." + msg " Default: --without-ultrafast" + msg "---secp256k1 Use bitcoin-core/secp256k1." + msg " Default: --with-secp256k1" msg "---ssl Use embedded ssl library." msg " Default: --with-ssl" msg "--build-boost Build Boost libraries" msg "--build-secp256k1 Build libsecp256k1 libraries" + msg "--build-ultrafast Build UltrafastSecp256k1 libraries" msg "--build-src-dir= Location for sources." msg " Default: $(pwd)" msg "--build-obj-dir= Location for intermediate objects." diff --git a/builds/msvc/vs2022/bs/bs.vcxproj b/builds/msvc/vs2022/bs/bs.vcxproj index 7b375d25..85b4db69 100644 --- a/builds/msvc/vs2022/bs/bs.vcxproj +++ b/builds/msvc/vs2022/bs/bs.vcxproj @@ -13,98 +13,34 @@ bs - - DebugDEXE - Win32 - - - ReleaseDEXE - Win32 - - - DebugDEXE - x64 - - - ReleaseDEXE - x64 - - - DebugLEXE - Win32 - - - ReleaseLEXE + + DebugSEXE Win32 - - DebugLEXE + + DebugSEXE x64 - - ReleaseLEXE - x64 + + DebugSEXE + ARM - + DebugSEXE - Win32 + ARM64 ReleaseSEXE Win32 - - DebugSEXE - x64 - ReleaseSEXE x64 - - DebugDEXE - ARM - - - ReleaseDEXE - ARM - - - DebugDEXE - ARM64 - - - ReleaseDEXE - ARM64 - - - DebugLEXE - ARM - - - ReleaseLEXE - ARM - - - DebugLEXE - ARM64 - - - ReleaseLEXE - ARM64 - - - DebugSEXE - ARM - ReleaseSEXE ARM - - DebugSEXE - ARM64 - ReleaseSEXE ARM64 @@ -117,20 +53,69 @@ + - - - - - - - - - - - - $(IntDir)console_executor.obj + + $(IntDir)console_embedded_admin_css.obj + + + $(IntDir)console_embedded_admin_css.obj + + + $(IntDir)console_embedded_admin_font.obj + + + $(IntDir)console_embedded_admin_font.obj + + + $(IntDir)console_embedded_admin_html.obj + + $(IntDir)console_embedded_admin_html.obj + + + $(IntDir)console_embedded_admin_icon.obj + + + $(IntDir)console_embedded_admin_icon.obj + + + $(IntDir)console_embedded_amin_ecma.obj + + + $(IntDir)console_embedded_amin_ecma.obj + + + $(IntDir)console_embedded_native_css.obj + + + $(IntDir)console_embedded_native_css.obj + + + $(IntDir)console_embedded_native_ecma.obj + + + $(IntDir)console_embedded_native_ecma.obj + + + $(IntDir)console_embedded_native_font.obj + + + $(IntDir)console_embedded_native_font.obj + + + $(IntDir)console_embedded_native_html.obj + + + $(IntDir)console_embedded_native_html.obj + + + $(IntDir)console_embedded_native_icon.obj + + + $(IntDir)console_embedded_native_icon.obj + + @@ -146,22 +131,21 @@ - - $(IntDir)console_stack_trace.obj - + + + - - + @@ -179,7 +163,7 @@ - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The Missing file is {0}. diff --git a/builds/msvc/vs2022/bs/bs.vcxproj.filters b/builds/msvc/vs2022/bs/bs.vcxproj.filters index 8699124f..ad98248c 100644 --- a/builds/msvc/vs2022/bs/bs.vcxproj.filters +++ b/builds/msvc/vs2022/bs/bs.vcxproj.filters @@ -8,13 +8,13 @@ - {F45B7D90-90BC-41EF-0000-000000000002} + {F45B7D90-90BC-41EF-0000-000000000004} - {F45B7D90-90BC-41EF-0000-000000000000} + {F45B7D90-90BC-41EF-0000-000000000001} - {F45B7D90-90BC-41EF-0000-000000000001} + {F45B7D90-90BC-41EF-0000-000000000002} @@ -101,6 +101,9 @@ + + resource + src\embedded @@ -113,9 +116,6 @@ src - - resource - @@ -124,7 +124,7 @@ - + resource diff --git a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj index 8399ca33..bf95bffc 100644 --- a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj +++ b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj @@ -13,98 +13,34 @@ libbitcoin-server-test - - DebugDEXE - Win32 - - - ReleaseDEXE - Win32 - - - DebugDEXE - x64 - - - ReleaseDEXE - x64 - - - DebugLEXE - Win32 - - - ReleaseLEXE + + DebugSEXE Win32 - - DebugLEXE + + DebugSEXE x64 - - ReleaseLEXE - x64 + + DebugSEXE + ARM - + DebugSEXE - Win32 + ARM64 ReleaseSEXE Win32 - - DebugSEXE - x64 - ReleaseSEXE x64 - - DebugDEXE - ARM - - - ReleaseDEXE - ARM - - - DebugDEXE - ARM64 - - - ReleaseDEXE - ARM64 - - - DebugLEXE - ARM - - - ReleaseLEXE - ARM - - - DebugLEXE - ARM64 - - - ReleaseLEXE - ARM64 - - - DebugSEXE - ARM - ReleaseSEXE ARM - - DebugSEXE - ARM64 - ReleaseSEXE ARM64 @@ -117,13 +53,12 @@ + - - $(IntDir)test_mocks_blocks.obj - + @@ -133,9 +68,7 @@ - - $(IntDir)test_protocols_bitcoind_bitcoind_setup_fixture.obj - + @@ -145,9 +78,7 @@ - - $(IntDir)test_protocols_electrum_electrum_setup_fixture.obj - + @@ -158,14 +89,10 @@ - - $(IntDir)test_protocols_native_native_setup_fixture.obj - + - - $(IntDir)test_test.obj - + @@ -177,6 +104,8 @@ + + @@ -187,14 +116,14 @@ + - - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The Missing file is {0}. @@ -203,10 +132,10 @@ + - diff --git a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters index 47a68fa3..b793c69d 100644 --- a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters +++ b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters @@ -8,10 +8,10 @@ - {66A0E586-2E3A-448F-0000-000000000000} + {66A0E586-2E3A-448F-0000-000000000001} - {66A0E586-2E3A-448F-0000-000000000001} + {66A0E586-2E3A-448F-0000-000000000007} {66A0E586-2E3A-448F-0000-000000000002} diff --git a/builds/msvc/vs2022/libbitcoin-server.sln b/builds/msvc/vs2022/libbitcoin-server.sln index a4cb6791..decada22 100644 --- a/builds/msvc/vs2022/libbitcoin-server.sln +++ b/builds/msvc/vs2022/libbitcoin-server.sln @@ -13,10 +13,10 @@ Global GlobalSection(SolutionConfigurationPlatforms) = preSolution StaticDebug|Win32 = StaticDebug|Win32 StaticDebug|x64 = StaticDebug|x64 - StaticRelease|Win32 = StaticRelease|Win32 - StaticRelease|x64 = StaticRelease|x64 StaticDebug|ARM = StaticDebug|ARM StaticDebug|ARM64 = StaticDebug|ARM64 + StaticRelease|Win32 = StaticRelease|Win32 + StaticRelease|x64 = StaticRelease|x64 StaticRelease|ARM = StaticRelease|ARM StaticRelease|ARM64 = StaticRelease|ARM64 EndGlobalSection @@ -25,14 +25,14 @@ Global {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.Build.0 = DebugLIB|x64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM.ActiveCfg = DebugLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM.Build.0 = DebugLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM64.ActiveCfg = DebugLIB|ARM64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM64.Build.0 = DebugLIB|ARM64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.ActiveCfg = ReleaseLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.Build.0 = ReleaseLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.ActiveCfg = ReleaseLIB|ARM64 @@ -41,14 +41,14 @@ Global {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.Build.0 = DebugSEXE|x64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM.ActiveCfg = DebugSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM.Build.0 = DebugSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM64.ActiveCfg = DebugSEXE|ARM64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM64.Build.0 = DebugSEXE|ARM64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 @@ -57,14 +57,14 @@ Global {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.Build.0 = DebugSEXE|x64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM.ActiveCfg = DebugSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM.Build.0 = DebugSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM64.ActiveCfg = DebugSEXE|ARM64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM64.Build.0 = DebugSEXE|ARM64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 diff --git a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj index f3ecd18e..7544bb92 100644 --- a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj +++ b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj @@ -12,98 +12,34 @@ libbitcoin-server - - DebugDLL - Win32 - - - ReleaseDLL - Win32 - - - DebugDLL - x64 - - - ReleaseDLL - x64 - - - DebugLTCG - Win32 - - - ReleaseLTCG + + DebugLIB Win32 - - DebugLTCG + + DebugLIB x64 - - ReleaseLTCG - x64 + + DebugLIB + ARM - + DebugLIB - Win32 + ARM64 ReleaseLIB Win32 - - DebugLIB - x64 - ReleaseLIB x64 - - DebugDLL - ARM - - - ReleaseDLL - ARM - - - DebugDLL - ARM64 - - - ReleaseDLL - ARM64 - - - DebugLTCG - ARM - - - ReleaseLTCG - ARM - - - DebugLTCG - ARM64 - - - ReleaseLTCG - ARM64 - - - DebugLIB - ARM - ReleaseLIB ARM - - DebugLIB - ARM64 - ReleaseLIB ARM64 @@ -120,6 +56,7 @@ + @@ -157,6 +94,7 @@ + @@ -203,14 +141,13 @@ - - + @@ -228,7 +165,7 @@ - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The Missing file is {0}. diff --git a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters index 203758f9..b58b40da 100644 --- a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters +++ b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters @@ -8,58 +8,58 @@ - {73CE0AC2-ECB2-4E8D-0000-000000000007} + {73CE0AC2-ECB2-4E8D-0000-000000000001} - {73CE0AC2-ECB2-4E8D-0000-000000000008} + {73CE0AC2-ECB2-4E8D-0000-000000000002} - {73CE0AC2-ECB2-4E8D-0000-000000000009} + {73CE0AC2-ECB2-4E8D-0000-000000000003} - {73CE0AC2-ECB2-4E8D-0000-00000000000A} + {73CE0AC2-ECB2-4E8D-0000-000000000004} - {73CE0AC2-ECB2-4E8D-0000-00000000000B} + {73CE0AC2-ECB2-4E8D-0000-000000000005} - {73CE0AC2-ECB2-4E8D-0000-000000000001} + {73CE0AC2-ECB2-4E8D-0000-000000000006} - {73CE0AC2-ECB2-4E8D-0000-00000000000C} + {73CE0AC2-ECB2-4E8D-0000-000000000007} - {73CE0AC2-ECB2-4E8D-0000-00000000000D} + {73CE0AC2-ECB2-4E8D-0000-000000000008} - {73CE0AC2-ECB2-4E8D-0000-00000000000E} + {73CE0AC2-ECB2-4E8D-0000-000000000009} - {73CE0AC2-ECB2-4E8D-0000-00000000000F} + {73CE0AC2-ECB2-4E8D-0000-00000000000A} - {73CE0AC2-ECB2-4E8D-0000-000000000002} + {73CE0AC2-ECB2-4E8D-0000-000000000003} - {73CE0AC2-ECB2-4E8D-0000-000000000000} + {73CE0AC2-ECB2-4E8D-0000-00000000000B} - {73CE0AC2-ECB2-4E8D-0000-000000000001} + {73CE0AC2-ECB2-4E8D-0000-00000000000C} - {73CE0AC2-ECB2-4E8D-0000-000000000002} + {73CE0AC2-ECB2-4E8D-0000-00000000000D} - {73CE0AC2-ECB2-4E8D-0000-000000000003} + {73CE0AC2-ECB2-4E8D-0000-00000000000E} - {73CE0AC2-ECB2-4E8D-0000-000000000004} + {73CE0AC2-ECB2-4E8D-0000-00000000000F} - {73CE0AC2-ECB2-4E8D-0000-000000000005} + {73CE0AC2-ECB2-4E8D-0000-000000000001} - {73CE0AC2-ECB2-4E8D-0000-000000000006} + {73CE0AC2-ECB2-4E8D-0000-000000000002} @@ -167,6 +167,9 @@ + + resource + include\bitcoin @@ -305,9 +308,6 @@ include\bitcoin\server - - resource - @@ -319,7 +319,7 @@ - + resource diff --git a/builds/msvc/vs2026/bs/bs.vcxproj b/builds/msvc/vs2026/bs/bs.vcxproj index 78d5cd46..b1e8b843 100644 --- a/builds/msvc/vs2026/bs/bs.vcxproj +++ b/builds/msvc/vs2026/bs/bs.vcxproj @@ -13,98 +13,34 @@ bs - - DebugDEXE - Win32 - - - ReleaseDEXE - Win32 - - - DebugDEXE - x64 - - - ReleaseDEXE - x64 - - - DebugLEXE - Win32 - - - ReleaseLEXE + + DebugSEXE Win32 - - DebugLEXE + + DebugSEXE x64 - - ReleaseLEXE - x64 + + DebugSEXE + ARM - + DebugSEXE - Win32 + ARM64 ReleaseSEXE Win32 - - DebugSEXE - x64 - ReleaseSEXE x64 - - DebugDEXE - ARM - - - ReleaseDEXE - ARM - - - DebugDEXE - ARM64 - - - ReleaseDEXE - ARM64 - - - DebugLEXE - ARM - - - ReleaseLEXE - ARM - - - DebugLEXE - ARM64 - - - ReleaseLEXE - ARM64 - - - DebugSEXE - ARM - ReleaseSEXE ARM - - DebugSEXE - ARM64 - ReleaseSEXE ARM64 @@ -117,20 +53,69 @@ + - - - - - - - - - - - - $(IntDir)console_executor.obj + + $(IntDir)console_embedded_admin_css.obj + + + $(IntDir)console_embedded_admin_css.obj + + + $(IntDir)console_embedded_admin_font.obj + + + $(IntDir)console_embedded_admin_font.obj + + + $(IntDir)console_embedded_admin_html.obj + + $(IntDir)console_embedded_admin_html.obj + + + $(IntDir)console_embedded_admin_icon.obj + + + $(IntDir)console_embedded_admin_icon.obj + + + $(IntDir)console_embedded_amin_ecma.obj + + + $(IntDir)console_embedded_amin_ecma.obj + + + $(IntDir)console_embedded_native_css.obj + + + $(IntDir)console_embedded_native_css.obj + + + $(IntDir)console_embedded_native_ecma.obj + + + $(IntDir)console_embedded_native_ecma.obj + + + $(IntDir)console_embedded_native_font.obj + + + $(IntDir)console_embedded_native_font.obj + + + $(IntDir)console_embedded_native_html.obj + + + $(IntDir)console_embedded_native_html.obj + + + $(IntDir)console_embedded_native_icon.obj + + + $(IntDir)console_embedded_native_icon.obj + + @@ -146,22 +131,21 @@ - - $(IntDir)console_stack_trace.obj - + + + - - + @@ -179,7 +163,7 @@ - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The Missing file is {0}. @@ -200,4 +184,4 @@ - \ No newline at end of file + diff --git a/builds/msvc/vs2026/bs/bs.vcxproj.filters b/builds/msvc/vs2026/bs/bs.vcxproj.filters index 8699124f..ad98248c 100644 --- a/builds/msvc/vs2026/bs/bs.vcxproj.filters +++ b/builds/msvc/vs2026/bs/bs.vcxproj.filters @@ -8,13 +8,13 @@ - {F45B7D90-90BC-41EF-0000-000000000002} + {F45B7D90-90BC-41EF-0000-000000000004} - {F45B7D90-90BC-41EF-0000-000000000000} + {F45B7D90-90BC-41EF-0000-000000000001} - {F45B7D90-90BC-41EF-0000-000000000001} + {F45B7D90-90BC-41EF-0000-000000000002} @@ -101,6 +101,9 @@ + + resource + src\embedded @@ -113,9 +116,6 @@ src - - resource - @@ -124,7 +124,7 @@ - + resource diff --git a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj index 25b10147..e1adac27 100644 --- a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj +++ b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj @@ -13,98 +13,34 @@ libbitcoin-server-test - - DebugDEXE - Win32 - - - ReleaseDEXE - Win32 - - - DebugDEXE - x64 - - - ReleaseDEXE - x64 - - - DebugLEXE - Win32 - - - ReleaseLEXE + + DebugSEXE Win32 - - DebugLEXE + + DebugSEXE x64 - - ReleaseLEXE - x64 + + DebugSEXE + ARM - + DebugSEXE - Win32 + ARM64 ReleaseSEXE Win32 - - DebugSEXE - x64 - ReleaseSEXE x64 - - DebugDEXE - ARM - - - ReleaseDEXE - ARM - - - DebugDEXE - ARM64 - - - ReleaseDEXE - ARM64 - - - DebugLEXE - ARM - - - ReleaseLEXE - ARM - - - DebugLEXE - ARM64 - - - ReleaseLEXE - ARM64 - - - DebugSEXE - ARM - ReleaseSEXE ARM - - DebugSEXE - ARM64 - ReleaseSEXE ARM64 @@ -117,13 +53,12 @@ + - - $(IntDir)test_mocks_blocks.obj - + @@ -133,9 +68,7 @@ - - $(IntDir)test_protocols_bitcoind_bitcoind_setup_fixture.obj - + @@ -145,9 +78,7 @@ - - $(IntDir)test_protocols_electrum_electrum_setup_fixture.obj - + @@ -158,14 +89,10 @@ - - $(IntDir)test_protocols_native_native_setup_fixture.obj - + - - $(IntDir)test_test.obj - + @@ -177,6 +104,8 @@ + + @@ -187,14 +116,14 @@ + - - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The Missing file is {0}. @@ -203,10 +132,10 @@ + - @@ -216,4 +145,4 @@ - \ No newline at end of file + diff --git a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters index 47a68fa3..b793c69d 100644 --- a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters +++ b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters @@ -8,10 +8,10 @@ - {66A0E586-2E3A-448F-0000-000000000000} + {66A0E586-2E3A-448F-0000-000000000001} - {66A0E586-2E3A-448F-0000-000000000001} + {66A0E586-2E3A-448F-0000-000000000007} {66A0E586-2E3A-448F-0000-000000000002} diff --git a/builds/msvc/vs2026/libbitcoin-server.sln b/builds/msvc/vs2026/libbitcoin-server.sln index a4cb6791..decada22 100644 --- a/builds/msvc/vs2026/libbitcoin-server.sln +++ b/builds/msvc/vs2026/libbitcoin-server.sln @@ -13,10 +13,10 @@ Global GlobalSection(SolutionConfigurationPlatforms) = preSolution StaticDebug|Win32 = StaticDebug|Win32 StaticDebug|x64 = StaticDebug|x64 - StaticRelease|Win32 = StaticRelease|Win32 - StaticRelease|x64 = StaticRelease|x64 StaticDebug|ARM = StaticDebug|ARM StaticDebug|ARM64 = StaticDebug|ARM64 + StaticRelease|Win32 = StaticRelease|Win32 + StaticRelease|x64 = StaticRelease|x64 StaticRelease|ARM = StaticRelease|ARM StaticRelease|ARM64 = StaticRelease|ARM64 EndGlobalSection @@ -25,14 +25,14 @@ Global {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.Build.0 = DebugLIB|x64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM.ActiveCfg = DebugLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM.Build.0 = DebugLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM64.ActiveCfg = DebugLIB|ARM64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM64.Build.0 = DebugLIB|ARM64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.ActiveCfg = ReleaseLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.Build.0 = ReleaseLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.ActiveCfg = ReleaseLIB|ARM64 @@ -41,14 +41,14 @@ Global {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.Build.0 = DebugSEXE|x64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM.ActiveCfg = DebugSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM.Build.0 = DebugSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM64.ActiveCfg = DebugSEXE|ARM64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM64.Build.0 = DebugSEXE|ARM64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 @@ -57,14 +57,14 @@ Global {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.Build.0 = DebugSEXE|x64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM.ActiveCfg = DebugSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM.Build.0 = DebugSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM64.ActiveCfg = DebugSEXE|ARM64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM64.Build.0 = DebugSEXE|ARM64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 diff --git a/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj b/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj index 3c98568c..39416f3c 100644 --- a/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj +++ b/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj @@ -12,98 +12,34 @@ libbitcoin-server - - DebugDLL - Win32 - - - ReleaseDLL - Win32 - - - DebugDLL - x64 - - - ReleaseDLL - x64 - - - DebugLTCG - Win32 - - - ReleaseLTCG + + DebugLIB Win32 - - DebugLTCG + + DebugLIB x64 - - ReleaseLTCG - x64 + + DebugLIB + ARM - + DebugLIB - Win32 + ARM64 ReleaseLIB Win32 - - DebugLIB - x64 - ReleaseLIB x64 - - DebugDLL - ARM - - - ReleaseDLL - ARM - - - DebugDLL - ARM64 - - - ReleaseDLL - ARM64 - - - DebugLTCG - ARM - - - ReleaseLTCG - ARM - - - DebugLTCG - ARM64 - - - ReleaseLTCG - ARM64 - - - DebugLIB - ARM - ReleaseLIB ARM - - DebugLIB - ARM64 - ReleaseLIB ARM64 @@ -120,6 +56,7 @@ + @@ -157,6 +94,7 @@ + @@ -203,14 +141,13 @@ - - + @@ -228,7 +165,7 @@ - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The Missing file is {0}. @@ -244,4 +181,4 @@ - \ No newline at end of file + diff --git a/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj.filters b/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj.filters index 203758f9..b58b40da 100644 --- a/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj.filters +++ b/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj.filters @@ -8,58 +8,58 @@ - {73CE0AC2-ECB2-4E8D-0000-000000000007} + {73CE0AC2-ECB2-4E8D-0000-000000000001} - {73CE0AC2-ECB2-4E8D-0000-000000000008} + {73CE0AC2-ECB2-4E8D-0000-000000000002} - {73CE0AC2-ECB2-4E8D-0000-000000000009} + {73CE0AC2-ECB2-4E8D-0000-000000000003} - {73CE0AC2-ECB2-4E8D-0000-00000000000A} + {73CE0AC2-ECB2-4E8D-0000-000000000004} - {73CE0AC2-ECB2-4E8D-0000-00000000000B} + {73CE0AC2-ECB2-4E8D-0000-000000000005} - {73CE0AC2-ECB2-4E8D-0000-000000000001} + {73CE0AC2-ECB2-4E8D-0000-000000000006} - {73CE0AC2-ECB2-4E8D-0000-00000000000C} + {73CE0AC2-ECB2-4E8D-0000-000000000007} - {73CE0AC2-ECB2-4E8D-0000-00000000000D} + {73CE0AC2-ECB2-4E8D-0000-000000000008} - {73CE0AC2-ECB2-4E8D-0000-00000000000E} + {73CE0AC2-ECB2-4E8D-0000-000000000009} - {73CE0AC2-ECB2-4E8D-0000-00000000000F} + {73CE0AC2-ECB2-4E8D-0000-00000000000A} - {73CE0AC2-ECB2-4E8D-0000-000000000002} + {73CE0AC2-ECB2-4E8D-0000-000000000003} - {73CE0AC2-ECB2-4E8D-0000-000000000000} + {73CE0AC2-ECB2-4E8D-0000-00000000000B} - {73CE0AC2-ECB2-4E8D-0000-000000000001} + {73CE0AC2-ECB2-4E8D-0000-00000000000C} - {73CE0AC2-ECB2-4E8D-0000-000000000002} + {73CE0AC2-ECB2-4E8D-0000-00000000000D} - {73CE0AC2-ECB2-4E8D-0000-000000000003} + {73CE0AC2-ECB2-4E8D-0000-00000000000E} - {73CE0AC2-ECB2-4E8D-0000-000000000004} + {73CE0AC2-ECB2-4E8D-0000-00000000000F} - {73CE0AC2-ECB2-4E8D-0000-000000000005} + {73CE0AC2-ECB2-4E8D-0000-000000000001} - {73CE0AC2-ECB2-4E8D-0000-000000000006} + {73CE0AC2-ECB2-4E8D-0000-000000000002} @@ -167,6 +167,9 @@ + + resource + include\bitcoin @@ -305,9 +308,6 @@ include\bitcoin\server - - resource - @@ -319,7 +319,7 @@ - + resource From 7be7e0146182833c15837fe1953db2f882bb746b Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Mon, 15 Jun 2026 22:33:25 -0700 Subject: [PATCH 2/4] Ordering of configuration/platform matrix, expansion for vcxproj. --- builds/msvc/vs2022/bs/bs.vcxproj | 90 ++++++++++++++++--- .../libbitcoin-server-test.vcxproj | 90 ++++++++++++++++--- builds/msvc/vs2022/libbitcoin-server.sln | 56 ++++++------ .../libbitcoin-server.vcxproj | 90 ++++++++++++++++--- builds/msvc/vs2026/bs/bs.vcxproj | 90 ++++++++++++++++--- .../libbitcoin-server-test.vcxproj | 90 ++++++++++++++++--- builds/msvc/vs2026/libbitcoin-server.sln | 56 ++++++------ .../libbitcoin-server.vcxproj | 90 ++++++++++++++++--- 8 files changed, 518 insertions(+), 134 deletions(-) diff --git a/builds/msvc/vs2022/bs/bs.vcxproj b/builds/msvc/vs2022/bs/bs.vcxproj index 85b4db69..11b9d2d6 100644 --- a/builds/msvc/vs2022/bs/bs.vcxproj +++ b/builds/msvc/vs2022/bs/bs.vcxproj @@ -13,37 +13,101 @@ bs - - DebugSEXE - Win32 + + DebugDEXE + ARM - - DebugSEXE - x64 + + ReleaseDEXE + ARM + + + DebugLEXE + ARM + + + ReleaseLEXE + ARM DebugSEXE ARM + + ReleaseSEXE + ARM + + + DebugDEXE + ARM64 + + + ReleaseDEXE + ARM64 + + + DebugLEXE + ARM64 + + + ReleaseLEXE + ARM64 + DebugSEXE ARM64 - + ReleaseSEXE + ARM64 + + + DebugDEXE Win32 - + + ReleaseDEXE + Win32 + + + DebugLEXE + Win32 + + + ReleaseLEXE + Win32 + + + DebugSEXE + Win32 + + ReleaseSEXE + Win32 + + + DebugDEXE x64 - - ReleaseSEXE - ARM + + ReleaseDEXE + x64 - + + DebugLEXE + x64 + + + ReleaseLEXE + x64 + + + DebugSEXE + x64 + + ReleaseSEXE - ARM64 + x64 diff --git a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj index bf95bffc..4dc0ae2b 100644 --- a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj +++ b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj @@ -13,37 +13,101 @@ libbitcoin-server-test - - DebugSEXE - Win32 + + DebugDEXE + ARM - - DebugSEXE - x64 + + ReleaseDEXE + ARM + + + DebugLEXE + ARM + + + ReleaseLEXE + ARM DebugSEXE ARM + + ReleaseSEXE + ARM + + + DebugDEXE + ARM64 + + + ReleaseDEXE + ARM64 + + + DebugLEXE + ARM64 + + + ReleaseLEXE + ARM64 + DebugSEXE ARM64 - + ReleaseSEXE + ARM64 + + + DebugDEXE Win32 - + + ReleaseDEXE + Win32 + + + DebugLEXE + Win32 + + + ReleaseLEXE + Win32 + + + DebugSEXE + Win32 + + ReleaseSEXE + Win32 + + + DebugDEXE x64 - - ReleaseSEXE - ARM + + ReleaseDEXE + x64 - + + DebugLEXE + x64 + + + ReleaseLEXE + x64 + + + DebugSEXE + x64 + + ReleaseSEXE - ARM64 + x64 diff --git a/builds/msvc/vs2022/libbitcoin-server.sln b/builds/msvc/vs2022/libbitcoin-server.sln index decada22..5b63a8dd 100644 --- a/builds/msvc/vs2022/libbitcoin-server.sln +++ b/builds/msvc/vs2022/libbitcoin-server.sln @@ -11,64 +11,64 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bs", "bs\bs.vcxproj", "{F45 EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - StaticDebug|Win32 = StaticDebug|Win32 - StaticDebug|x64 = StaticDebug|x64 StaticDebug|ARM = StaticDebug|ARM + StaticRelease|ARM = StaticRelease|ARM StaticDebug|ARM64 = StaticDebug|ARM64 + StaticRelease|ARM64 = StaticRelease|ARM64 + StaticDebug|Win32 = StaticDebug|Win32 StaticRelease|Win32 = StaticRelease|Win32 + StaticDebug|x64 = StaticDebug|x64 StaticRelease|x64 = StaticRelease|x64 - StaticRelease|ARM = StaticRelease|ARM - StaticRelease|ARM64 = StaticRelease|ARM64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.Build.0 = DebugLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM.ActiveCfg = DebugLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM.Build.0 = DebugLIB|ARM + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.ActiveCfg = ReleaseLIB|ARM + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.Build.0 = ReleaseLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM64.ActiveCfg = DebugLIB|ARM64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM64.Build.0 = DebugLIB|ARM64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.ActiveCfg = ReleaseLIB|ARM64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.Build.0 = ReleaseLIB|ARM64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.Build.0 = DebugLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.ActiveCfg = ReleaseLIB|ARM - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.Build.0 = ReleaseLIB|ARM - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.ActiveCfg = ReleaseLIB|ARM64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.Build.0 = ReleaseLIB|ARM64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.Build.0 = DebugSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM.ActiveCfg = DebugSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM.Build.0 = DebugSEXE|ARM + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM64.ActiveCfg = DebugSEXE|ARM64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM64.Build.0 = DebugSEXE|ARM64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.Build.0 = ReleaseSEXE|ARM64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.Build.0 = DebugSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.Build.0 = ReleaseSEXE|ARM64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.Build.0 = DebugSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM.ActiveCfg = DebugSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM.Build.0 = DebugSEXE|ARM + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM64.ActiveCfg = DebugSEXE|ARM64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM64.Build.0 = DebugSEXE|ARM64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.Build.0 = ReleaseSEXE|ARM64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.Build.0 = DebugSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.Build.0 = ReleaseSEXE|ARM64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj index 7544bb92..5626afec 100644 --- a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj +++ b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj @@ -12,37 +12,101 @@ libbitcoin-server - - DebugLIB - Win32 + + DebugDLL + ARM - - DebugLIB - x64 + + ReleaseDLL + ARM + + + DebugLTCG + ARM + + + ReleaseLTCG + ARM DebugLIB ARM + + ReleaseLIB + ARM + + + DebugDLL + ARM64 + + + ReleaseDLL + ARM64 + + + DebugLTCG + ARM64 + + + ReleaseLTCG + ARM64 + DebugLIB ARM64 - + ReleaseLIB + ARM64 + + + DebugDLL Win32 - + + ReleaseDLL + Win32 + + + DebugLTCG + Win32 + + + ReleaseLTCG + Win32 + + + DebugLIB + Win32 + + ReleaseLIB + Win32 + + + DebugDLL x64 - - ReleaseLIB - ARM + + ReleaseDLL + x64 - + + DebugLTCG + x64 + + + ReleaseLTCG + x64 + + + DebugLIB + x64 + + ReleaseLIB - ARM64 + x64 diff --git a/builds/msvc/vs2026/bs/bs.vcxproj b/builds/msvc/vs2026/bs/bs.vcxproj index b1e8b843..10c9211a 100644 --- a/builds/msvc/vs2026/bs/bs.vcxproj +++ b/builds/msvc/vs2026/bs/bs.vcxproj @@ -13,37 +13,101 @@ bs - - DebugSEXE - Win32 + + DebugDEXE + ARM - - DebugSEXE - x64 + + ReleaseDEXE + ARM + + + DebugLEXE + ARM + + + ReleaseLEXE + ARM DebugSEXE ARM + + ReleaseSEXE + ARM + + + DebugDEXE + ARM64 + + + ReleaseDEXE + ARM64 + + + DebugLEXE + ARM64 + + + ReleaseLEXE + ARM64 + DebugSEXE ARM64 - + ReleaseSEXE + ARM64 + + + DebugDEXE Win32 - + + ReleaseDEXE + Win32 + + + DebugLEXE + Win32 + + + ReleaseLEXE + Win32 + + + DebugSEXE + Win32 + + ReleaseSEXE + Win32 + + + DebugDEXE x64 - - ReleaseSEXE - ARM + + ReleaseDEXE + x64 - + + DebugLEXE + x64 + + + ReleaseLEXE + x64 + + + DebugSEXE + x64 + + ReleaseSEXE - ARM64 + x64 diff --git a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj index e1adac27..fb6fe3b4 100644 --- a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj +++ b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj @@ -13,37 +13,101 @@ libbitcoin-server-test - - DebugSEXE - Win32 + + DebugDEXE + ARM - - DebugSEXE - x64 + + ReleaseDEXE + ARM + + + DebugLEXE + ARM + + + ReleaseLEXE + ARM DebugSEXE ARM + + ReleaseSEXE + ARM + + + DebugDEXE + ARM64 + + + ReleaseDEXE + ARM64 + + + DebugLEXE + ARM64 + + + ReleaseLEXE + ARM64 + DebugSEXE ARM64 - + ReleaseSEXE + ARM64 + + + DebugDEXE Win32 - + + ReleaseDEXE + Win32 + + + DebugLEXE + Win32 + + + ReleaseLEXE + Win32 + + + DebugSEXE + Win32 + + ReleaseSEXE + Win32 + + + DebugDEXE x64 - - ReleaseSEXE - ARM + + ReleaseDEXE + x64 - + + DebugLEXE + x64 + + + ReleaseLEXE + x64 + + + DebugSEXE + x64 + + ReleaseSEXE - ARM64 + x64 diff --git a/builds/msvc/vs2026/libbitcoin-server.sln b/builds/msvc/vs2026/libbitcoin-server.sln index decada22..5b63a8dd 100644 --- a/builds/msvc/vs2026/libbitcoin-server.sln +++ b/builds/msvc/vs2026/libbitcoin-server.sln @@ -11,64 +11,64 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bs", "bs\bs.vcxproj", "{F45 EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - StaticDebug|Win32 = StaticDebug|Win32 - StaticDebug|x64 = StaticDebug|x64 StaticDebug|ARM = StaticDebug|ARM + StaticRelease|ARM = StaticRelease|ARM StaticDebug|ARM64 = StaticDebug|ARM64 + StaticRelease|ARM64 = StaticRelease|ARM64 + StaticDebug|Win32 = StaticDebug|Win32 StaticRelease|Win32 = StaticRelease|Win32 + StaticDebug|x64 = StaticDebug|x64 StaticRelease|x64 = StaticRelease|x64 - StaticRelease|ARM = StaticRelease|ARM - StaticRelease|ARM64 = StaticRelease|ARM64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.Build.0 = DebugLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM.ActiveCfg = DebugLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM.Build.0 = DebugLIB|ARM + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.ActiveCfg = ReleaseLIB|ARM + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.Build.0 = ReleaseLIB|ARM {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM64.ActiveCfg = DebugLIB|ARM64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|ARM64.Build.0 = DebugLIB|ARM64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.ActiveCfg = ReleaseLIB|ARM64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.Build.0 = ReleaseLIB|ARM64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 + {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticDebug|x64.Build.0 = DebugLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.ActiveCfg = ReleaseLIB|ARM - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM.Build.0 = ReleaseLIB|ARM - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.ActiveCfg = ReleaseLIB|ARM64 - {73CE0AC2-ECB2-4E8D-A136-17840C0371A0}.StaticRelease|ARM64.Build.0 = ReleaseLIB|ARM64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.Build.0 = DebugSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM.ActiveCfg = DebugSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM.Build.0 = DebugSEXE|ARM + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM64.ActiveCfg = DebugSEXE|ARM64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|ARM64.Build.0 = DebugSEXE|ARM64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.Build.0 = ReleaseSEXE|ARM64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 + {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticDebug|x64.Build.0 = DebugSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 - {66A0E586-2E3A-448F-BCD0-348AFEB0D5EA}.StaticRelease|ARM64.Build.0 = ReleaseSEXE|ARM64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.Build.0 = DebugSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM.ActiveCfg = DebugSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM.Build.0 = DebugSEXE|ARM + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM64.ActiveCfg = DebugSEXE|ARM64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|ARM64.Build.0 = DebugSEXE|ARM64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.Build.0 = ReleaseSEXE|ARM64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.ActiveCfg = DebugSEXE|Win32 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|Win32.Build.0 = DebugSEXE|Win32 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.ActiveCfg = ReleaseSEXE|Win32 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|Win32.Build.0 = ReleaseSEXE|Win32 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.ActiveCfg = DebugSEXE|x64 + {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticDebug|x64.Build.0 = DebugSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.ActiveCfg = ReleaseSEXE|x64 {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|x64.Build.0 = ReleaseSEXE|x64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64 - {F45B7D90-90BC-41EF-9AD1-9B29256A09FE}.StaticRelease|ARM64.Build.0 = ReleaseSEXE|ARM64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj b/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj index 39416f3c..9fb95bdc 100644 --- a/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj +++ b/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj @@ -12,37 +12,101 @@ libbitcoin-server - - DebugLIB - Win32 + + DebugDLL + ARM - - DebugLIB - x64 + + ReleaseDLL + ARM + + + DebugLTCG + ARM + + + ReleaseLTCG + ARM DebugLIB ARM + + ReleaseLIB + ARM + + + DebugDLL + ARM64 + + + ReleaseDLL + ARM64 + + + DebugLTCG + ARM64 + + + ReleaseLTCG + ARM64 + DebugLIB ARM64 - + ReleaseLIB + ARM64 + + + DebugDLL Win32 - + + ReleaseDLL + Win32 + + + DebugLTCG + Win32 + + + ReleaseLTCG + Win32 + + + DebugLIB + Win32 + + ReleaseLIB + Win32 + + + DebugDLL x64 - - ReleaseLIB - ARM + + ReleaseDLL + x64 - + + DebugLTCG + x64 + + + ReleaseLTCG + x64 + + + DebugLIB + x64 + + ReleaseLIB - ARM64 + x64 From d1615570e604f69b309df88afc23b788fdae0cac Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Mon, 15 Jun 2026 22:58:39 -0700 Subject: [PATCH 3/4] Alter uuid assignment in filters. --- builds/msvc/vs2022/bs/bs.vcxproj.filters | 2 +- .../libbitcoin-server-test.vcxproj.filters | 4 ++-- .../libbitcoin-server.vcxproj.filters | 22 +++++++++---------- builds/msvc/vs2026/bs/bs.vcxproj.filters | 2 +- .../libbitcoin-server-test.vcxproj.filters | 4 ++-- .../libbitcoin-server.vcxproj.filters | 22 +++++++++---------- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/builds/msvc/vs2022/bs/bs.vcxproj.filters b/builds/msvc/vs2022/bs/bs.vcxproj.filters index ad98248c..38b71cd0 100644 --- a/builds/msvc/vs2022/bs/bs.vcxproj.filters +++ b/builds/msvc/vs2022/bs/bs.vcxproj.filters @@ -8,7 +8,7 @@ - {F45B7D90-90BC-41EF-0000-000000000004} + {F45B7D90-90BC-41EF-0000-000000000000} {F45B7D90-90BC-41EF-0000-000000000001} diff --git a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters index b793c69d..47a68fa3 100644 --- a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters +++ b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters @@ -8,10 +8,10 @@ - {66A0E586-2E3A-448F-0000-000000000001} + {66A0E586-2E3A-448F-0000-000000000000} - {66A0E586-2E3A-448F-0000-000000000007} + {66A0E586-2E3A-448F-0000-000000000001} {66A0E586-2E3A-448F-0000-000000000002} diff --git a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters index b58b40da..8f5f1f3a 100644 --- a/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters +++ b/builds/msvc/vs2022/libbitcoin-server/libbitcoin-server.vcxproj.filters @@ -8,37 +8,37 @@ - {73CE0AC2-ECB2-4E8D-0000-000000000001} + {73CE0AC2-ECB2-4E8D-0000-000000000000} - {73CE0AC2-ECB2-4E8D-0000-000000000002} + {73CE0AC2-ECB2-4E8D-0000-000000000001} - {73CE0AC2-ECB2-4E8D-0000-000000000003} + {73CE0AC2-ECB2-4E8D-0000-000000000002} - {73CE0AC2-ECB2-4E8D-0000-000000000004} + {73CE0AC2-ECB2-4E8D-0000-000000000003} - {73CE0AC2-ECB2-4E8D-0000-000000000005} + {73CE0AC2-ECB2-4E8D-0000-000000000004} - {73CE0AC2-ECB2-4E8D-0000-000000000006} + {73CE0AC2-ECB2-4E8D-0000-000000000005} - {73CE0AC2-ECB2-4E8D-0000-000000000007} + {73CE0AC2-ECB2-4E8D-0000-000000000006} - {73CE0AC2-ECB2-4E8D-0000-000000000008} + {73CE0AC2-ECB2-4E8D-0000-000000000007} - {73CE0AC2-ECB2-4E8D-0000-000000000009} + {73CE0AC2-ECB2-4E8D-0000-000000000008} - {73CE0AC2-ECB2-4E8D-0000-00000000000A} + {73CE0AC2-ECB2-4E8D-0000-000000000009} - {73CE0AC2-ECB2-4E8D-0000-000000000003} + {73CE0AC2-ECB2-4E8D-0000-00000000000A} {73CE0AC2-ECB2-4E8D-0000-00000000000B} diff --git a/builds/msvc/vs2026/bs/bs.vcxproj.filters b/builds/msvc/vs2026/bs/bs.vcxproj.filters index ad98248c..38b71cd0 100644 --- a/builds/msvc/vs2026/bs/bs.vcxproj.filters +++ b/builds/msvc/vs2026/bs/bs.vcxproj.filters @@ -8,7 +8,7 @@ - {F45B7D90-90BC-41EF-0000-000000000004} + {F45B7D90-90BC-41EF-0000-000000000000} {F45B7D90-90BC-41EF-0000-000000000001} diff --git a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters index b793c69d..47a68fa3 100644 --- a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters +++ b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters @@ -8,10 +8,10 @@ - {66A0E586-2E3A-448F-0000-000000000001} + {66A0E586-2E3A-448F-0000-000000000000} - {66A0E586-2E3A-448F-0000-000000000007} + {66A0E586-2E3A-448F-0000-000000000001} {66A0E586-2E3A-448F-0000-000000000002} diff --git a/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj.filters b/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj.filters index b58b40da..8f5f1f3a 100644 --- a/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj.filters +++ b/builds/msvc/vs2026/libbitcoin-server/libbitcoin-server.vcxproj.filters @@ -8,37 +8,37 @@ - {73CE0AC2-ECB2-4E8D-0000-000000000001} + {73CE0AC2-ECB2-4E8D-0000-000000000000} - {73CE0AC2-ECB2-4E8D-0000-000000000002} + {73CE0AC2-ECB2-4E8D-0000-000000000001} - {73CE0AC2-ECB2-4E8D-0000-000000000003} + {73CE0AC2-ECB2-4E8D-0000-000000000002} - {73CE0AC2-ECB2-4E8D-0000-000000000004} + {73CE0AC2-ECB2-4E8D-0000-000000000003} - {73CE0AC2-ECB2-4E8D-0000-000000000005} + {73CE0AC2-ECB2-4E8D-0000-000000000004} - {73CE0AC2-ECB2-4E8D-0000-000000000006} + {73CE0AC2-ECB2-4E8D-0000-000000000005} - {73CE0AC2-ECB2-4E8D-0000-000000000007} + {73CE0AC2-ECB2-4E8D-0000-000000000006} - {73CE0AC2-ECB2-4E8D-0000-000000000008} + {73CE0AC2-ECB2-4E8D-0000-000000000007} - {73CE0AC2-ECB2-4E8D-0000-000000000009} + {73CE0AC2-ECB2-4E8D-0000-000000000008} - {73CE0AC2-ECB2-4E8D-0000-00000000000A} + {73CE0AC2-ECB2-4E8D-0000-000000000009} - {73CE0AC2-ECB2-4E8D-0000-000000000003} + {73CE0AC2-ECB2-4E8D-0000-00000000000A} {73CE0AC2-ECB2-4E8D-0000-00000000000B} From 69fef0c92eb48f3a26d4ac2b59b0dbebb2b8abb3 Mon Sep 17 00:00:00 2001 From: Phillip Mienk Date: Tue, 16 Jun 2026 11:32:03 -0700 Subject: [PATCH 4/4] Regenerate with reduced redundant discovery. --- builds/msvc/vs2022/bs/bs.vcxproj | 71 +++++--------------------------- builds/msvc/vs2026/bs/bs.vcxproj | 71 +++++--------------------------- 2 files changed, 20 insertions(+), 122 deletions(-) diff --git a/builds/msvc/vs2022/bs/bs.vcxproj b/builds/msvc/vs2022/bs/bs.vcxproj index 11b9d2d6..4c3f812b 100644 --- a/builds/msvc/vs2022/bs/bs.vcxproj +++ b/builds/msvc/vs2022/bs/bs.vcxproj @@ -119,66 +119,16 @@ - - $(IntDir)console_embedded_admin_css.obj - - - $(IntDir)console_embedded_admin_css.obj - - - $(IntDir)console_embedded_admin_font.obj - - - $(IntDir)console_embedded_admin_font.obj - - - $(IntDir)console_embedded_admin_html.obj - - - $(IntDir)console_embedded_admin_html.obj - - - $(IntDir)console_embedded_admin_icon.obj - - - $(IntDir)console_embedded_admin_icon.obj - - - $(IntDir)console_embedded_amin_ecma.obj - - - $(IntDir)console_embedded_amin_ecma.obj - - - $(IntDir)console_embedded_native_css.obj - - - $(IntDir)console_embedded_native_css.obj - - - $(IntDir)console_embedded_native_ecma.obj - - - $(IntDir)console_embedded_native_ecma.obj - - - $(IntDir)console_embedded_native_font.obj - - - $(IntDir)console_embedded_native_font.obj - - - $(IntDir)console_embedded_native_html.obj - - - $(IntDir)console_embedded_native_html.obj - - - $(IntDir)console_embedded_native_icon.obj - - - $(IntDir)console_embedded_native_icon.obj - + + + + + + + + + + @@ -200,7 +150,6 @@ - diff --git a/builds/msvc/vs2026/bs/bs.vcxproj b/builds/msvc/vs2026/bs/bs.vcxproj index 10c9211a..fa326231 100644 --- a/builds/msvc/vs2026/bs/bs.vcxproj +++ b/builds/msvc/vs2026/bs/bs.vcxproj @@ -119,66 +119,16 @@ - - $(IntDir)console_embedded_admin_css.obj - - - $(IntDir)console_embedded_admin_css.obj - - - $(IntDir)console_embedded_admin_font.obj - - - $(IntDir)console_embedded_admin_font.obj - - - $(IntDir)console_embedded_admin_html.obj - - - $(IntDir)console_embedded_admin_html.obj - - - $(IntDir)console_embedded_admin_icon.obj - - - $(IntDir)console_embedded_admin_icon.obj - - - $(IntDir)console_embedded_amin_ecma.obj - - - $(IntDir)console_embedded_amin_ecma.obj - - - $(IntDir)console_embedded_native_css.obj - - - $(IntDir)console_embedded_native_css.obj - - - $(IntDir)console_embedded_native_ecma.obj - - - $(IntDir)console_embedded_native_ecma.obj - - - $(IntDir)console_embedded_native_font.obj - - - $(IntDir)console_embedded_native_font.obj - - - $(IntDir)console_embedded_native_html.obj - - - $(IntDir)console_embedded_native_html.obj - - - $(IntDir)console_embedded_native_icon.obj - - - $(IntDir)console_embedded_native_icon.obj - + + + + + + + + + + @@ -200,7 +150,6 @@ -