├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .travis.yml ├── AUTHORS ├── COPYING ├── MAINTAINED.md ├── README.md ├── cmake ├── FindBash-Completion.cmake ├── FindBitcoin-Blockchain.cmake ├── FindBitcoin-Client.cmake ├── FindBitcoin-Consensus.cmake ├── FindBitcoin-Database.cmake ├── FindBitcoin-Network.cmake ├── FindBitcoin-Node.cmake ├── FindBitcoin-Protocol.cmake ├── FindBitcoin-System.cmake ├── FindBitcoin.cmake ├── FindDl.cmake ├── FindIcu-I18N.cmake ├── FindMbedtls.cmake ├── FindPng.cmake ├── FindQrencode.cmake ├── FindRt.cmake ├── FindSecp256K1.cmake └── FindZmq.cmake ├── docker ├── README.md ├── bs-linux-startup.sh ├── bs-linux.Dockerfile ├── bs-linux.env.in ├── bs-linux.sh ├── bs-linux.yml ├── bx-linux.Dockerfile └── bx-linux.sh ├── examples ├── ctp_nov2013.ps1 └── test_runner.ps1 ├── generate3.cmd ├── generate3.sh ├── generate3.xml ├── generate4.cmd ├── generate4.sh ├── generate4.xml ├── gsl.copy_modules.cmd ├── gsl.copy_modules.sh ├── gsl.copy_properties.cmd ├── gsl.copy_properties.sh ├── gsl.generate_artifacts.cmd ├── gsl.generate_artifacts.sh ├── img ├── client-stack.png ├── dependencies.png └── server-stack.png ├── info └── nuget-packages.xlsx ├── library ├── collections.gsl ├── collections_test.gsl ├── math.gsl ├── math_test.gsl ├── string.gsl ├── string_test.gsl ├── test.bat └── test.gsl ├── m4 ├── ax_boost_base.m4 ├── ax_boost_chrono.m4 ├── ax_boost_date_time.m4 ├── ax_boost_filesystem.m4 ├── ax_boost_iostreams.m4 ├── ax_boost_json.m4 ├── ax_boost_locale.m4 ├── ax_boost_program_options.m4 ├── ax_boost_regex.m4 ├── ax_boost_system.m4 ├── ax_boost_thread.m4 ├── ax_boost_unit_test_framework.m4 ├── ax_check_compile_flag.m4 ├── ax_check_link_flag.m4 ├── ax_check_preproc_flag.m4 ├── ax_cxx_compile_stdcxx.m4 ├── ax_cxx_compile_stdcxx_11.m4 ├── ax_pthread.m4 ├── lib-ld.m4 ├── lib-link.m4 └── lib-prefix.m4 ├── maintenance ├── update-copyright-generators.sh └── update-copyright.sh ├── props ├── README.md ├── version3 │ ├── base │ │ ├── Common.props │ │ ├── Debug.props │ │ ├── Link.props │ │ ├── Messages.props │ │ ├── Output.props │ │ ├── Release.props │ │ ├── Win32.props │ │ └── x64.props │ ├── build │ │ ├── build_base.bat │ │ ├── buildbase_all.bat │ │ ├── buildbase_static.bat │ │ ├── buildbase_static_all.bat │ │ ├── buildbase_static_ltcg.bat │ │ └── buildbase_static_x64.bat │ ├── console │ │ ├── DebugDEXE.props │ │ ├── DebugLEXE.props │ │ ├── DebugSEXE.props │ │ ├── EXE.props │ │ ├── ReleaseDEXE.props │ │ ├── ReleaseLEXE.props │ │ └── ReleaseSEXE.props │ ├── import │ │ ├── libbitcoin-blockchain.import.props │ │ ├── libbitcoin-blockchain.import.xml │ │ ├── libbitcoin-client.import.props │ │ ├── libbitcoin-client.import.xml │ │ ├── libbitcoin-consensus.import.props │ │ ├── libbitcoin-consensus.import.xml │ │ ├── libbitcoin-database.import.props │ │ ├── libbitcoin-database.import.xml │ │ ├── libbitcoin-explorer.import.props │ │ ├── libbitcoin-explorer.import.xml │ │ ├── libbitcoin-network.import.props │ │ ├── libbitcoin-network.import.xml │ │ ├── libbitcoin-node.import.props │ │ ├── libbitcoin-node.import.xml │ │ ├── libbitcoin-protocol.import.props │ │ ├── libbitcoin-protocol.import.xml │ │ ├── libbitcoin-server.import.props │ │ ├── libbitcoin-server.import.xml │ │ ├── libbitcoin-system.import.props │ │ └── libbitcoin-system.import.xml │ ├── library │ │ ├── DLL.props │ │ ├── DebugDLL.props │ │ ├── DebugLIB.props │ │ ├── DebugLTCG.props │ │ ├── LIB.props │ │ ├── LTCG.props │ │ ├── ReleaseDLL.props │ │ ├── ReleaseLIB.props │ │ └── ReleaseLTCG.props │ ├── nuget.config │ └── project │ │ ├── libbitcoin-blockchain │ │ ├── libbitcoin-blockchain-test │ │ │ └── libbitcoin-blockchain-test.props │ │ ├── libbitcoin-blockchain-tools │ │ │ └── libbitcoin-blockchain-tools.props │ │ └── libbitcoin-blockchain │ │ │ └── libbitcoin-blockchain.props │ │ ├── libbitcoin-client │ │ ├── libbitcoin-client-examples │ │ │ └── libbitcoin-client-examples.props │ │ ├── libbitcoin-client-test │ │ │ └── libbitcoin-client-test.props │ │ └── libbitcoin-client │ │ │ └── libbitcoin-client.props │ │ ├── libbitcoin-consensus │ │ ├── libbitcoin-consensus-test │ │ │ └── libbitcoin-consensus-test.props │ │ └── libbitcoin-consensus │ │ │ └── libbitcoin-consensus.props │ │ ├── libbitcoin-database │ │ ├── libbitcoin-database-test │ │ │ └── libbitcoin-database-test.props │ │ ├── libbitcoin-database-tools │ │ │ └── libbitcoin-database-tools.props │ │ └── libbitcoin-database │ │ │ └── libbitcoin-database.props │ │ ├── libbitcoin-explorer │ │ ├── bx │ │ │ └── bx.props │ │ ├── libbitcoin-explorer-test │ │ │ └── libbitcoin-explorer-test.props │ │ └── libbitcoin-explorer │ │ │ └── libbitcoin-explorer.props │ │ ├── libbitcoin-network │ │ ├── libbitcoin-network-test │ │ │ └── libbitcoin-network-test.props │ │ └── libbitcoin-network │ │ │ └── libbitcoin-network.props │ │ ├── libbitcoin-node │ │ ├── bn │ │ │ └── bn.props │ │ ├── libbitcoin-node-test │ │ │ └── libbitcoin-node-test.props │ │ └── libbitcoin-node │ │ │ └── libbitcoin-node.props │ │ ├── libbitcoin-protocol │ │ ├── libbitcoin-protocol-test │ │ │ └── libbitcoin-protocol-test.props │ │ └── libbitcoin-protocol │ │ │ └── libbitcoin-protocol.props │ │ ├── libbitcoin-server │ │ ├── bs │ │ │ └── bs.props │ │ ├── libbitcoin-server-test │ │ │ └── libbitcoin-server-test.props │ │ └── libbitcoin-server │ │ │ └── libbitcoin-server.props │ │ └── libbitcoin-system │ │ ├── libbitcoin-system-examples │ │ └── libbitcoin-system-examples.props │ │ ├── libbitcoin-system-test │ │ ├── libbitcoin-system-test.props │ │ └── libbitcoin-system-test.xml │ │ └── libbitcoin-system │ │ ├── libbitcoin-system.props │ │ └── libbitcoin-system.xml └── version4 │ ├── base │ ├── Arm.props │ ├── Arm64.props │ ├── Common.props │ ├── Debug.props │ ├── Link.props │ ├── Messages.props │ ├── Output.props │ ├── Release.props │ ├── Win32.props │ └── x64.props │ ├── build │ ├── build_base.bat │ ├── buildbase_all.bat │ ├── buildbase_static.bat │ ├── buildbase_static_all.bat │ ├── buildbase_static_ltcg.bat │ └── buildbase_static_x64.bat │ ├── console │ ├── DebugDEXE.props │ ├── DebugLEXE.props │ ├── DebugSEXE.props │ ├── EXE.props │ ├── ReleaseDEXE.props │ ├── ReleaseLEXE.props │ └── ReleaseSEXE.props │ ├── import │ ├── libbitcoin-blockchain.import.props │ ├── libbitcoin-blockchain.import.xml │ ├── libbitcoin-client.import.props │ ├── libbitcoin-client.import.xml │ ├── libbitcoin-consensus.import.props │ ├── libbitcoin-consensus.import.xml │ ├── libbitcoin-database.import.props │ ├── libbitcoin-database.import.xml │ ├── libbitcoin-explorer.import.props │ ├── libbitcoin-explorer.import.xml │ ├── libbitcoin-network.import.props │ ├── libbitcoin-network.import.xml │ ├── libbitcoin-node.import.props │ ├── libbitcoin-node.import.xml │ ├── libbitcoin-protocol.import.props │ ├── libbitcoin-protocol.import.xml │ ├── libbitcoin-server.import.props │ ├── libbitcoin-server.import.xml │ ├── libbitcoin-system.import.props │ └── libbitcoin-system.import.xml │ ├── library │ ├── DLL.props │ ├── DebugDLL.props │ ├── DebugLIB.props │ ├── DebugLTCG.props │ ├── LIB.props │ ├── LTCG.props │ ├── ReleaseDLL.props │ ├── ReleaseLIB.props │ └── ReleaseLTCG.props │ ├── nuget.config │ └── project │ ├── libbitcoin-blockchain │ ├── libbitcoin-blockchain-test │ │ └── libbitcoin-blockchain-test.props │ ├── libbitcoin-blockchain-tools │ │ └── libbitcoin-blockchain-tools.props │ └── libbitcoin-blockchain │ │ └── libbitcoin-blockchain.props │ ├── libbitcoin-client │ ├── libbitcoin-client-examples │ │ └── libbitcoin-client-examples.props │ ├── libbitcoin-client-test │ │ └── libbitcoin-client-test.props │ └── libbitcoin-client │ │ └── libbitcoin-client.props │ ├── libbitcoin-consensus │ ├── libbitcoin-consensus-test │ │ └── libbitcoin-consensus-test.props │ └── libbitcoin-consensus │ │ └── libbitcoin-consensus.props │ ├── libbitcoin-database │ ├── libbitcoin-database-test │ │ └── libbitcoin-database-test.props │ ├── libbitcoin-database-tools │ │ └── libbitcoin-database-tools.props │ └── libbitcoin-database │ │ └── libbitcoin-database.props │ ├── libbitcoin-explorer │ ├── bx │ │ └── bx.props │ ├── libbitcoin-explorer-test │ │ └── libbitcoin-explorer-test.props │ └── libbitcoin-explorer │ │ └── libbitcoin-explorer.props │ ├── libbitcoin-network │ ├── libbitcoin-network-test │ │ └── libbitcoin-network-test.props │ └── libbitcoin-network │ │ └── libbitcoin-network.props │ ├── libbitcoin-node │ ├── bn │ │ └── bn.props │ ├── libbitcoin-node-test │ │ └── libbitcoin-node-test.props │ └── libbitcoin-node │ │ └── libbitcoin-node.props │ ├── libbitcoin-protocol │ ├── libbitcoin-protocol-test │ │ └── libbitcoin-protocol-test.props │ └── libbitcoin-protocol │ │ └── libbitcoin-protocol.props │ ├── libbitcoin-server │ ├── bs │ │ └── bs.props │ ├── libbitcoin-server-test │ │ └── libbitcoin-server-test.props │ └── libbitcoin-server │ │ └── libbitcoin-server.props │ └── libbitcoin-system │ ├── libbitcoin-system-examples │ └── libbitcoin-system-examples.props │ ├── libbitcoin-system-test │ ├── libbitcoin-system-test.props │ └── libbitcoin-system-test.xml │ └── libbitcoin-system │ ├── libbitcoin-system.props │ └── libbitcoin-system.xml ├── sandbox ├── sandbox.bat ├── sandbox.gsl └── sandbox.xml ├── templates ├── gsl.CMakeLists.txt ├── gsl.CMakePresets.json ├── gsl.Find.cmake ├── gsl.Makefile.am ├── gsl.appveyor.yml ├── gsl.autogen.sh ├── gsl.bindings.bat ├── gsl.bindings.sh ├── gsl.build.cmd ├── gsl.build.ps1 ├── gsl.ci.yml ├── gsl.code-workspace ├── gsl.configure.ac ├── gsl.debug.natvis ├── gsl.developer_setup.sh ├── gsl.include.hpp ├── gsl.install-cmake.sh ├── gsl.install-cmakepresets.sh ├── gsl.install.sh ├── gsl.interface.swg ├── gsl.package.pc.in ├── gsl.packages.config ├── gsl.runner.sh ├── gsl.sln ├── gsl.travis.yml ├── gsl.vcxproj ├── gsl.vcxproj.filters ├── gsl.version.hpp ├── gsl.vscode.settings.json └── shared │ ├── common_install_shell_artifacts.gsl │ └── common_msvc_artifacts.gsl └── utilities.gsl /.gitignore: -------------------------------------------------------------------------------- 1 | # Eclipse project artifacts 2 | /.cproject 3 | /.project 4 | 5 | # Generated output 6 | /output/ 7 | /generate_artifacts.* 8 | /copy_modules.* 9 | /copy_properties.* 10 | *.sh~ 11 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 3 | # 4 | # Generate build artifacts for libbitcoin repositories using XML + GSL. 5 | ############################################################################### 6 | 7 | language: 8 | - cpp 9 | 10 | compiler: 11 | - gcc 12 | 13 | before_install: 14 | 15 | # Set package repository. 16 | - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test 17 | 18 | # Update the system. 19 | - sudo apt-get -qq update 20 | 21 | # Install pcre3-dev. 22 | - sudo apt-get -qq install libpcre3-dev 23 | 24 | # Install the iMatix GSL code generator. 25 | - git clone --branch master --single-branch git://github.com/imatix/gsl 26 | - cd gsl/src 27 | - make --silent 28 | - sudo make install 29 | - cd ../.. 30 | 31 | # Clone all repositories managed by libbitcoin-build to sibling directories. 32 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin ../libbitcoin 33 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin-blockchain ../libbitcoin-blockchain 34 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin-client ../libbitcoin-client 35 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin-consensus ../libbitcoin-consensus 36 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin-database ../libbitcoin-database 37 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin-explorer ../libbitcoin-explorer 38 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin-network ../libbitcoin-network 39 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin-node ../libbitcoin-node 40 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin-protocol ../libbitcoin-protocol 41 | - git clone --branch master --single-branch https://github.com/libbitcoin/libbitcoin-server ../libbitcoin-server 42 | 43 | script: 44 | 45 | # Generate build environment using GSL. 46 | # - ./generate3.sh 47 | - ./generate4.sh 48 | 49 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | commits libbitcoin developers 2 | -------------------------------------------- 3 | 394 Eric Voskuil (evoskiul) 4 | 54 Phillip Mienk (pmienk) 5 | 9 Neill Miller (thecodefactory) 6 | 1 Noel Maersk (veox) 7 | 1 William Swanson (swansontec) 8 | -------------------------------------------------------------------------------- /cmake/FindBitcoin-Node.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin-server developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | # FindBitcoin-Node 8 | # 9 | # Use this module by invoking find_package with the form:: 10 | # 11 | # find_package( Bitcoin-Node 12 | # [version] # Minimum version 13 | # [REQUIRED] # Fail with error if bitcoin-node is not found 14 | # ) 15 | # 16 | # Defines the following for use: 17 | # 18 | # bitcoin_node_FOUND - true if headers and requested libraries were found 19 | # bitcoin_node_INCLUDE_DIRS - include directories for bitcoin-node libraries 20 | # bitcoin_node_LIBRARY_DIRS - link directories for bitcoin-node libraries 21 | # bitcoin_node_LIBRARIES - bitcoin-node libraries to be linked 22 | # bitcoin_node_PKG - bitcoin-node pkg-config package specification. 23 | # 24 | 25 | if (MSVC) 26 | if ( Bitcoin-Node_FIND_REQUIRED ) 27 | set( _bitcoin_node_MSG_STATUS "SEND_ERROR" ) 28 | else () 29 | set( _bitcoin_node_MSG_STATUS "STATUS" ) 30 | endif() 31 | 32 | set( bitcoin_node_FOUND false ) 33 | message( ${_bitcoin_node_MSG_STATUS} "MSVC environment detection for 'bitcoin-node' not currently supported." ) 34 | else () 35 | # required 36 | if ( Bitcoin-Node_FIND_REQUIRED ) 37 | set( _bitcoin_node_REQUIRED "REQUIRED" ) 38 | endif() 39 | 40 | # quiet 41 | if ( Bitcoin-Node_FIND_QUIETLY ) 42 | set( _bitcoin_node_QUIET "QUIET" ) 43 | endif() 44 | 45 | # modulespec 46 | if ( Bitcoin-Node_FIND_VERSION_COUNT EQUAL 0 ) 47 | set( _bitcoin_node_MODULE_SPEC "libbitcoin-node" ) 48 | else () 49 | if ( Bitcoin-Node_FIND_VERSION_EXACT ) 50 | set( _bitcoin_node_MODULE_SPEC_OP "=" ) 51 | else () 52 | set( _bitcoin_node_MODULE_SPEC_OP ">=" ) 53 | endif() 54 | 55 | set( _bitcoin_node_MODULE_SPEC "libbitcoin-node ${_bitcoin_node_MODULE_SPEC_OP} ${Bitcoin-Node_FIND_VERSION}" ) 56 | endif() 57 | 58 | pkg_check_modules( bitcoin_node ${_bitcoin_node_REQUIRED} ${_bitcoin_node_QUIET} "${_bitcoin_node_MODULE_SPEC}" ) 59 | set( bitcoin_node_PKG "${_bitcoin_node_MODULE_SPEC}" ) 60 | endif() 61 | -------------------------------------------------------------------------------- /cmake/FindBitcoin.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin-protocol developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | # FindBitcoin 8 | # 9 | # Use this module by invoking find_package with the form:: 10 | # 11 | # find_package( Bitcoin 12 | # [version] # Minimum version 13 | # [REQUIRED] # Fail with error if bitcoin is not found 14 | # ) 15 | # 16 | # Defines the following for use: 17 | # 18 | # bitcoin_FOUND - true if headers and requested libraries were found 19 | # bitcoin_INCLUDE_DIRS - include directories for bitcoin libraries 20 | # bitcoin_LIBRARY_DIRS - link directories for bitcoin libraries 21 | # bitcoin_LIBRARIES - bitcoin libraries to be linked 22 | # bitcoin_PKG - bitcoin pkg-config package specification. 23 | # 24 | 25 | if (MSVC) 26 | if ( Bitcoin_FIND_REQUIRED ) 27 | set( _bitcoin_MSG_STATUS "SEND_ERROR" ) 28 | else () 29 | set( _bitcoin_MSG_STATUS "STATUS" ) 30 | endif() 31 | 32 | set( bitcoin_FOUND false ) 33 | message( ${_bitcoin_MSG_STATUS} "MSVC environment detection for 'bitcoin' not currently supported." ) 34 | else () 35 | # required 36 | if ( Bitcoin_FIND_REQUIRED ) 37 | set( _bitcoin_REQUIRED "REQUIRED" ) 38 | endif() 39 | 40 | # quiet 41 | if ( Bitcoin_FIND_QUIETLY ) 42 | set( _bitcoin_QUIET "QUIET" ) 43 | endif() 44 | 45 | # modulespec 46 | if ( Bitcoin_FIND_VERSION_COUNT EQUAL 0 ) 47 | set( _bitcoin_MODULE_SPEC "libbitcoin" ) 48 | else () 49 | if ( Bitcoin_FIND_VERSION_EXACT ) 50 | set( _bitcoin_MODULE_SPEC_OP "=" ) 51 | else () 52 | set( _bitcoin_MODULE_SPEC_OP ">=" ) 53 | endif() 54 | 55 | set( _bitcoin_MODULE_SPEC "libbitcoin ${_bitcoin_MODULE_SPEC_OP} ${Bitcoin_FIND_VERSION}" ) 56 | endif() 57 | 58 | pkg_check_modules( bitcoin ${_bitcoin_REQUIRED} ${_bitcoin_QUIET} "${_bitcoin_MODULE_SPEC}" ) 59 | set( bitcoin_PKG "${_bitcoin_MODULE_SPEC}" ) 60 | endif() 61 | -------------------------------------------------------------------------------- /cmake/FindDl.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 3 | # 4 | ############################################################################### 5 | # Finddl 6 | # 7 | # Use this module by invoking find_package with the form:: 8 | # 9 | # find_package( dl 10 | # [REQUIRED] # Fail with error if dl is not found 11 | # ) 12 | # 13 | # Defines the following for use: 14 | # 15 | # dl_FOUND - True if headers and requested libraries were found 16 | # dl_LIBRARIES - dl libraries to be linked 17 | # dl_LIBS - dl libraries to be linked 18 | # 19 | 20 | if (DEFINED dl_FIND_VERSION) 21 | message( SEND_ERROR "Library 'dl' unable to process specified version: ${dl_FIND_VERSION}" ) 22 | endif() 23 | 24 | if (MSVC) 25 | message( STATUS "MSVC environment detection for 'dl' not currently supported." ) 26 | set( dl_FOUND false ) 27 | else () 28 | # required 29 | if ( dl_FIND_REQUIRED ) 30 | set( _dl_REQUIRED "REQUIRED" ) 31 | endif() 32 | 33 | find_library(dl_LIBRARIES dl) 34 | 35 | if (dl_LIBRARIES-NOTFOUND) 36 | set( dl_FOUND false ) 37 | else () 38 | set( dl_FOUND true ) 39 | set( dl_LIBS "-ldl" ) 40 | endif() 41 | endif() 42 | 43 | if ( dl_FIND_REQUIRED AND ( NOT dl_FOUND ) ) 44 | message( SEND_ERROR "Library 'dl' not found." ) 45 | endif() 46 | -------------------------------------------------------------------------------- /cmake/FindIcu-I18N.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | # FindIcu-I18N 8 | # 9 | # Use this module by invoking find_package with the form:: 10 | # 11 | # find_package( Icu-I18N 12 | # [version] # Minimum version 13 | # [REQUIRED] # Fail with error if icu-i18n is not found 14 | # ) 15 | # 16 | # Defines the following for use: 17 | # 18 | # icu_i18n_FOUND - true if headers and requested libraries were found 19 | # icu_i18n_INCLUDE_DIRS - include directories for icu-i18n libraries 20 | # icu_i18n_LIBRARY_DIRS - link directories for icu-i18n libraries 21 | # icu_i18n_LIBRARIES - icu-i18n libraries to be linked 22 | # icu_i18n_PKG - icu-i18n pkg-config package specification. 23 | # 24 | 25 | if (MSVC) 26 | if ( Icu-I18N_FIND_REQUIRED ) 27 | set( _icu_i18n_MSG_STATUS "SEND_ERROR" ) 28 | else () 29 | set( _icu_i18n_MSG_STATUS "STATUS" ) 30 | endif() 31 | 32 | set( icu_i18n_FOUND false ) 33 | message( ${_icu_i18n_MSG_STATUS} "MSVC environment detection for 'icu-i18n' not currently supported." ) 34 | else () 35 | # required 36 | if ( Icu-I18N_FIND_REQUIRED ) 37 | set( _icu_i18n_REQUIRED "REQUIRED" ) 38 | endif() 39 | 40 | # quiet 41 | if ( Icu-I18N_FIND_QUIETLY ) 42 | set( _icu_i18n_QUIET "QUIET" ) 43 | endif() 44 | 45 | # modulespec 46 | if ( Icu-I18N_FIND_VERSION_COUNT EQUAL 0 ) 47 | set( _icu_i18n_MODULE_SPEC "icu-i18n" ) 48 | else () 49 | if ( Icu-I18N_FIND_VERSION_EXACT ) 50 | set( _icu_i18n_MODULE_SPEC_OP "=" ) 51 | else () 52 | set( _icu_i18n_MODULE_SPEC_OP ">=" ) 53 | endif() 54 | 55 | set( _icu_i18n_MODULE_SPEC "icu-i18n ${_icu_i18n_MODULE_SPEC_OP} ${Icu-I18N_FIND_VERSION}" ) 56 | endif() 57 | 58 | pkg_check_modules( icu_i18n ${_icu_i18n_REQUIRED} ${_icu_i18n_QUIET} "${_icu_i18n_MODULE_SPEC}" ) 59 | set( icu_i18n_PKG "${_icu_i18n_MODULE_SPEC}" ) 60 | endif() 61 | -------------------------------------------------------------------------------- /cmake/FindPng.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | # FindPng 8 | # 9 | # Use this module by invoking find_package with the form:: 10 | # 11 | # find_package( Png 12 | # [version] # Minimum version 13 | # [REQUIRED] # Fail with error if png is not found 14 | # ) 15 | # 16 | # Defines the following for use: 17 | # 18 | # png_FOUND - true if headers and requested libraries were found 19 | # png_INCLUDE_DIRS - include directories for png libraries 20 | # png_LIBRARY_DIRS - link directories for png libraries 21 | # png_LIBRARIES - png libraries to be linked 22 | # png_PKG - png pkg-config package specification. 23 | # 24 | 25 | if (MSVC) 26 | if ( Png_FIND_REQUIRED ) 27 | set( _png_MSG_STATUS "SEND_ERROR" ) 28 | else () 29 | set( _png_MSG_STATUS "STATUS" ) 30 | endif() 31 | 32 | set( png_FOUND false ) 33 | message( ${_png_MSG_STATUS} "MSVC environment detection for 'png' not currently supported." ) 34 | else () 35 | # required 36 | if ( Png_FIND_REQUIRED ) 37 | set( _png_REQUIRED "REQUIRED" ) 38 | endif() 39 | 40 | # quiet 41 | if ( Png_FIND_QUIETLY ) 42 | set( _png_QUIET "QUIET" ) 43 | endif() 44 | 45 | # modulespec 46 | if ( Png_FIND_VERSION_COUNT EQUAL 0 ) 47 | set( _png_MODULE_SPEC "libpng" ) 48 | else () 49 | if ( Png_FIND_VERSION_EXACT ) 50 | set( _png_MODULE_SPEC_OP "=" ) 51 | else () 52 | set( _png_MODULE_SPEC_OP ">=" ) 53 | endif() 54 | 55 | set( _png_MODULE_SPEC "libpng ${_png_MODULE_SPEC_OP} ${Png_FIND_VERSION}" ) 56 | endif() 57 | 58 | pkg_check_modules( png ${_png_REQUIRED} ${_png_QUIET} "${_png_MODULE_SPEC}" ) 59 | set( png_PKG "${_png_MODULE_SPEC}" ) 60 | endif() 61 | -------------------------------------------------------------------------------- /cmake/FindQrencode.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | # FindQrencode 8 | # 9 | # Use this module by invoking find_package with the form:: 10 | # 11 | # find_package( Qrencode 12 | # [version] # Minimum version 13 | # [REQUIRED] # Fail with error if qrencode is not found 14 | # ) 15 | # 16 | # Defines the following for use: 17 | # 18 | # qrencode_FOUND - true if headers and requested libraries were found 19 | # qrencode_INCLUDE_DIRS - include directories for qrencode libraries 20 | # qrencode_LIBRARY_DIRS - link directories for qrencode libraries 21 | # qrencode_LIBRARIES - qrencode libraries to be linked 22 | # qrencode_PKG - qrencode pkg-config package specification. 23 | # 24 | 25 | if (MSVC) 26 | if ( Qrencode_FIND_REQUIRED ) 27 | set( _qrencode_MSG_STATUS "SEND_ERROR" ) 28 | else () 29 | set( _qrencode_MSG_STATUS "STATUS" ) 30 | endif() 31 | 32 | set( qrencode_FOUND false ) 33 | message( ${_qrencode_MSG_STATUS} "MSVC environment detection for 'qrencode' not currently supported." ) 34 | else () 35 | # required 36 | if ( Qrencode_FIND_REQUIRED ) 37 | set( _qrencode_REQUIRED "REQUIRED" ) 38 | endif() 39 | 40 | # quiet 41 | if ( Qrencode_FIND_QUIETLY ) 42 | set( _qrencode_QUIET "QUIET" ) 43 | endif() 44 | 45 | # modulespec 46 | if ( Qrencode_FIND_VERSION_COUNT EQUAL 0 ) 47 | set( _qrencode_MODULE_SPEC "libqrencode" ) 48 | else () 49 | if ( Qrencode_FIND_VERSION_EXACT ) 50 | set( _qrencode_MODULE_SPEC_OP "=" ) 51 | else () 52 | set( _qrencode_MODULE_SPEC_OP ">=" ) 53 | endif() 54 | 55 | set( _qrencode_MODULE_SPEC "libqrencode ${_qrencode_MODULE_SPEC_OP} ${Qrencode_FIND_VERSION}" ) 56 | endif() 57 | 58 | pkg_check_modules( qrencode ${_qrencode_REQUIRED} ${_qrencode_QUIET} "${_qrencode_MODULE_SPEC}" ) 59 | set( qrencode_PKG "${_qrencode_MODULE_SPEC}" ) 60 | endif() 61 | -------------------------------------------------------------------------------- /cmake/FindRt.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 3 | # 4 | ############################################################################### 5 | # Findrt 6 | # 7 | # Use this module by invoking find_package with the form:: 8 | # 9 | # find_package( rt 10 | # [REQUIRED] # Fail with error if rt is not found 11 | # ) 12 | # 13 | # Defines the following for use: 14 | # 15 | # rt_FOUND - True if headers and requested libraries were found 16 | # rt_LIBRARIES - rt libraries to be linked 17 | # rt_LIBS - rt libraries to be linked 18 | # 19 | 20 | if (DEFINED rt_FIND_VERSION) 21 | message( SEND_ERROR 22 | "Library 'rt' unable to process version: ${rt_FIND_VERSION}" ) 23 | endif() 24 | 25 | if (MSVC) 26 | message( STATUS 27 | "MSVC environment detection for rt not currently supported." ) 28 | 29 | set( rt_FOUND false ) 30 | elseif (ANDROID) 31 | message( STATUS 32 | "ANDROID enviornment detection for rt skipped, provided by libc." ) 33 | 34 | set( rt_FOUND true ) 35 | else () 36 | # required 37 | if ( rt_FIND_REQUIRED ) 38 | set( _rt_REQUIRED "REQUIRED" ) 39 | endif() 40 | 41 | find_library(rt_LIBRARIES rt) 42 | 43 | if (rt_LIBRARIES-NOTFOUND) 44 | set( rt_FOUND false ) 45 | else () 46 | set( rt_FOUND true ) 47 | set( rt_LIBS "-lrt" ) 48 | endif() 49 | endif() 50 | 51 | if ( rt_FIND_REQUIRED AND ( NOT rt_FOUND ) ) 52 | message( SEND_ERROR "Library 'rt' not found." ) 53 | endif() 54 | -------------------------------------------------------------------------------- /cmake/FindSecp256K1.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin-consensus developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | # FindSecp256K1 8 | # 9 | # Use this module by invoking find_package with the form:: 10 | # 11 | # find_package( Secp256K1 12 | # [version] # Minimum version 13 | # [REQUIRED] # Fail with error if secp256k1 is not found 14 | # ) 15 | # 16 | # Defines the following for use: 17 | # 18 | # secp256k1_FOUND - true if headers and requested libraries were found 19 | # secp256k1_INCLUDE_DIRS - include directories for secp256k1 libraries 20 | # secp256k1_LIBRARY_DIRS - link directories for secp256k1 libraries 21 | # secp256k1_LIBRARIES - secp256k1 libraries to be linked 22 | # secp256k1_PKG - secp256k1 pkg-config package specification. 23 | # 24 | 25 | if (MSVC) 26 | if ( Secp256K1_FIND_REQUIRED ) 27 | set( _secp256k1_MSG_STATUS "SEND_ERROR" ) 28 | else () 29 | set( _secp256k1_MSG_STATUS "STATUS" ) 30 | endif() 31 | 32 | set( secp256k1_FOUND false ) 33 | message( ${_secp256k1_MSG_STATUS} "MSVC environment detection for 'secp256k1' not currently supported." ) 34 | else () 35 | # required 36 | if ( Secp256K1_FIND_REQUIRED ) 37 | set( _secp256k1_REQUIRED "REQUIRED" ) 38 | endif() 39 | 40 | # quiet 41 | if ( Secp256K1_FIND_QUIETLY ) 42 | set( _secp256k1_QUIET "QUIET" ) 43 | endif() 44 | 45 | # modulespec 46 | if ( Secp256K1_FIND_VERSION_COUNT EQUAL 0 ) 47 | set( _secp256k1_MODULE_SPEC "libsecp256k1" ) 48 | else () 49 | if ( Secp256K1_FIND_VERSION_EXACT ) 50 | set( _secp256k1_MODULE_SPEC_OP "=" ) 51 | else () 52 | set( _secp256k1_MODULE_SPEC_OP ">=" ) 53 | endif() 54 | 55 | set( _secp256k1_MODULE_SPEC "libsecp256k1 ${_secp256k1_MODULE_SPEC_OP} ${Secp256K1_FIND_VERSION}" ) 56 | endif() 57 | 58 | pkg_check_modules( secp256k1 ${_secp256k1_REQUIRED} ${_secp256k1_QUIET} "${_secp256k1_MODULE_SPEC}" ) 59 | set( secp256k1_PKG "${_secp256k1_MODULE_SPEC}" ) 60 | endif() 61 | -------------------------------------------------------------------------------- /cmake/FindZmq.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Copyright (c) 2014-2025 libbitcoin-protocol developers (see COPYING). 3 | # 4 | # GENERATED SOURCE CODE, DO NOT EDIT EXCEPT EXPERIMENTALLY 5 | # 6 | ############################################################################### 7 | # FindZmq 8 | # 9 | # Use this module by invoking find_package with the form:: 10 | # 11 | # find_package( Zmq 12 | # [version] # Minimum version 13 | # [REQUIRED] # Fail with error if zmq is not found 14 | # ) 15 | # 16 | # Defines the following for use: 17 | # 18 | # zmq_FOUND - true if headers and requested libraries were found 19 | # zmq_INCLUDE_DIRS - include directories for zmq libraries 20 | # zmq_LIBRARY_DIRS - link directories for zmq libraries 21 | # zmq_LIBRARIES - zmq libraries to be linked 22 | # zmq_PKG - zmq pkg-config package specification. 23 | # 24 | 25 | if (MSVC) 26 | if ( Zmq_FIND_REQUIRED ) 27 | set( _zmq_MSG_STATUS "SEND_ERROR" ) 28 | else () 29 | set( _zmq_MSG_STATUS "STATUS" ) 30 | endif() 31 | 32 | set( zmq_FOUND false ) 33 | message( ${_zmq_MSG_STATUS} "MSVC environment detection for 'zmq' not currently supported." ) 34 | else () 35 | # required 36 | if ( Zmq_FIND_REQUIRED ) 37 | set( _zmq_REQUIRED "REQUIRED" ) 38 | endif() 39 | 40 | # quiet 41 | if ( Zmq_FIND_QUIETLY ) 42 | set( _zmq_QUIET "QUIET" ) 43 | endif() 44 | 45 | # modulespec 46 | if ( Zmq_FIND_VERSION_COUNT EQUAL 0 ) 47 | set( _zmq_MODULE_SPEC "libzmq" ) 48 | else () 49 | if ( Zmq_FIND_VERSION_EXACT ) 50 | set( _zmq_MODULE_SPEC_OP "=" ) 51 | else () 52 | set( _zmq_MODULE_SPEC_OP ">=" ) 53 | endif() 54 | 55 | set( _zmq_MODULE_SPEC "libzmq ${_zmq_MODULE_SPEC_OP} ${Zmq_FIND_VERSION}" ) 56 | endif() 57 | 58 | pkg_check_modules( zmq ${_zmq_REQUIRED} ${_zmq_QUIET} "${_zmq_MODULE_SPEC}" ) 59 | set( zmq_PKG "${_zmq_MODULE_SPEC}" ) 60 | endif() 61 | -------------------------------------------------------------------------------- /docker/bs-linux-startup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ex 4 | 5 | SCRIPT_IDENTITY=$(basename "$0") 6 | 7 | display_message() 8 | { 9 | printf "%s\n" "$@" 10 | } 11 | 12 | display_error() 13 | { 14 | >&2 printf "%s\n" "$@" 15 | } 16 | 17 | display_help() 18 | { 19 | display_message "Usage: ./${SCRIPT_IDENTITY} [OPTION]..." 20 | display_message "Docker instance startup script." 21 | display_message "Script options:" 22 | display_message " --unconditional-init Force database reset." 23 | display_message "" 24 | } 25 | 26 | fatal_error() 27 | { 28 | display_error "$@" 29 | display_error "" 30 | display_help 31 | exit 1 32 | } 33 | 34 | dispatch_help() 35 | { 36 | if [[ ${DISPLAY_HELP} ]]; then 37 | display_help 38 | exit 0 39 | fi 40 | } 41 | 42 | parse_command_line_options() 43 | { 44 | for OPTION in "$@"; do 45 | case ${OPTION} in 46 | # Specific 47 | (--unconditional-init) INIT_UNCONDITIONAL="yes";; 48 | 49 | # Standard 50 | (--help) DISPLAY_HELP="yes";; 51 | esac 52 | done 53 | } 54 | 55 | initialize() 56 | { 57 | if [[ -z "$( ls -A blockchain )" ]]; then 58 | ./bs -c conf/bs.cfg --initchain 59 | elif [[ $INIT_UNCONDITIONAL ]]; then 60 | ./bs -c conf/bs.cfg --initchain 61 | fi 62 | } 63 | 64 | execute_service() 65 | { 66 | ./bs -c conf/bs.cfg 67 | } 68 | 69 | parse_command_line_options "$@" 70 | dispatch_help 71 | initialize 72 | execute_service 73 | -------------------------------------------------------------------------------- /docker/bs-linux.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:latest AS build 2 | 3 | ENV OPTIMIZATION="-O3" 4 | ENV BUILD_DEPS="build-base linux-headers g++ make autoconf automake libtool pkgconf git wget bash" 5 | 6 | ENV CFLAGS="${OPTIMIZATION}" 7 | ENV CXXFLAGS="${OPTIMIZATION}" 8 | 9 | RUN apk update && \ 10 | apk add --update ${BUILD_DEPS} 11 | 12 | RUN mkdir -p /build/src /build/obj /build/prefix 13 | 14 | COPY developer_setup.sh /build 15 | COPY src/ /build/src 16 | 17 | WORKDIR /build 18 | 19 | RUN ./developer_setup.sh \ 20 | --build-target=dependencies \ 21 | --build-src-dir=/build/src \ 22 | --build-obj-dir=/build/obj \ 23 | --prefix=/build/prefix \ 24 | --build-mode=configure \ 25 | --disable-shared \ 26 | --enable-static \ 27 | --with-icu \ 28 | --build-icu \ 29 | --build-boost \ 30 | --build-zmq 31 | 32 | ENV BOOST_ROOT="/build/prefix" 33 | 34 | RUN ./developer_setup.sh \ 35 | --build-target=libbitcoin \ 36 | --build-src-dir=/build/src \ 37 | --build-obj-dir=/build/obj \ 38 | --prefix=/build/prefix \ 39 | --build-mode=configure \ 40 | --disable-shared \ 41 | --enable-static \ 42 | --enable-isystem \ 43 | --without-consensus \ 44 | --with-icu \ 45 | --with-boost=/build/prefix 46 | 47 | RUN ./developer_setup.sh \ 48 | --build-target=project \ 49 | --build-src-dir=/build/src \ 50 | --build-obj-dir=/build/obj \ 51 | --prefix=/build/prefix \ 52 | --build-mode=configure \ 53 | --disable-shared \ 54 | --enable-static \ 55 | --enable-isystem \ 56 | --without-consensus \ 57 | --with-icu \ 58 | --with-boost=/build/prefix 59 | 60 | RUN rm -rf /build/src /build/obj 61 | 62 | 63 | 64 | FROM alpine:latest AS runtime 65 | 66 | ENV RUNTIME_DEPS="bash libstdc++" 67 | 68 | RUN apk update && \ 69 | apk add --update ${RUNTIME_DEPS} 70 | 71 | COPY --from=build /build/prefix/bin/bs /bitcoin/bs 72 | COPY bs-linux-startup.sh /bitcoin/startup.sh 73 | 74 | # Bitcoin P2P 75 | EXPOSE 8333/tcp 76 | EXPOSE 8333/udp 77 | 78 | # Query Service (Secure/Public) 79 | EXPOSE 9081/tcp 80 | EXPOSE 9091/tcp 81 | 82 | # Heartbeat Service (Secure/Public) 83 | EXPOSE 9082/tcp 84 | EXPOSE 9092/tcp 85 | 86 | # Block Service (Secure/Public) 87 | EXPOSE 9083/tcp 88 | EXPOSE 9093/tcp 89 | 90 | # Transaction Service (Secure/Public) 91 | EXPOSE 9084/tcp 92 | EXPOSE 9094/tcp 93 | 94 | WORKDIR /bitcoin 95 | VOLUME ["/bitcoin/blockchain", "/bitcoin/conf"] 96 | CMD [ "/bitcoin/startup.sh" ] 97 | -------------------------------------------------------------------------------- /docker/bs-linux.env.in: -------------------------------------------------------------------------------- 1 | COMPOSE_PROJECT_NAME=bitcoin 2 | VERSION_BITCOIN_SERVER=%version% 3 | STORAGE_BITCOIN_CONF=%SET_ME% 4 | STORAGE_BITCOIN_DATA=%SET_ME% 5 | -------------------------------------------------------------------------------- /docker/bs-linux.yml: -------------------------------------------------------------------------------- 1 | volumes: 2 | blockchain: 3 | name: "bitcoin-blockchain" 4 | 5 | networks: 6 | net: 7 | 8 | services: 9 | bitcoin-server: 10 | container_name: bitcoin-server 11 | hostname: bitcoin-server 12 | image: libbitcoin/bitcoin-server:${VERSION_BITCOIN_SERVER} 13 | # restart: unless-stopped 14 | ports: 15 | - 8333:8333/tcp 16 | - 8333:8333/udp 17 | - 9081:9081/tcp 18 | - 9082:9082/tcp 19 | - 9083:9083/tcp 20 | - 9084:9084/tcp 21 | - 9091:9091/tcp 22 | - 9092:9092/tcp 23 | - 9093:9093/tcp 24 | - 9094:9094/tcp 25 | volumes: 26 | - blockchain:/bitcoin/blockchain 27 | - ${STORAGE_BITCOIN_CONF}:/bitcoin/conf 28 | networks: 29 | - net 30 | -------------------------------------------------------------------------------- /docker/bx-linux.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:latest AS build 2 | 3 | ENV OPTIMIZATION="-O3" 4 | ENV BUILD_DEPS="build-base linux-headers g++ make autoconf automake libtool pkgconf git wget bash" 5 | 6 | ENV CFLAGS="${OPTIMIZATION}" 7 | ENV CXXFLAGS="${OPTIMIZATION}" 8 | 9 | RUN apk update && \ 10 | apk add --update ${BUILD_DEPS} 11 | 12 | RUN mkdir -p /build/src /build/obj /build/prefix 13 | 14 | COPY developer_setup.sh /build 15 | COPY src/ /build/src 16 | 17 | WORKDIR /build 18 | 19 | RUN ./developer_setup.sh \ 20 | --build-target=dependencies \ 21 | --build-src-dir=/build/src \ 22 | --build-obj-dir=/build/obj \ 23 | --prefix=/build/prefix \ 24 | --build-mode=configure \ 25 | --disable-shared \ 26 | --enable-static \ 27 | --with-icu \ 28 | --build-icu \ 29 | --build-boost \ 30 | --build-zmq 31 | 32 | ENV BOOST_ROOT="/build/prefix" 33 | 34 | RUN ./developer_setup.sh \ 35 | --build-target=libbitcoin \ 36 | --build-src-dir=/build/src \ 37 | --build-obj-dir=/build/obj \ 38 | --prefix=/build/prefix \ 39 | --build-mode=configure \ 40 | --disable-shared \ 41 | --enable-static \ 42 | --enable-isystem \ 43 | --with-icu \ 44 | --with-boost=/build/prefix 45 | 46 | RUN ./developer_setup.sh \ 47 | --build-target=project \ 48 | --build-src-dir=/build/src \ 49 | --build-obj-dir=/build/obj \ 50 | --prefix=/build/prefix \ 51 | --build-mode=configure \ 52 | --disable-shared \ 53 | --enable-static \ 54 | --enable-isystem \ 55 | --with-icu \ 56 | --with-boost=/build/prefix \ 57 | --without-tests 58 | 59 | RUN rm -rf /build/src /build/obj 60 | 61 | 62 | 63 | FROM alpine:latest AS runtime 64 | 65 | ENV RUNTIME_DEPS="libstdc++" 66 | 67 | RUN apk update && \ 68 | apk add --update ${RUNTIME_DEPS} 69 | 70 | COPY --from=build /build/prefix/bin/bx /bitcoin/bx 71 | 72 | ENTRYPOINT [ "/bitcoin/bx" ] 73 | -------------------------------------------------------------------------------- /examples/ctp_nov2013.ps1: -------------------------------------------------------------------------------- 1 | function GetUninstallString($productName) 2 | { 3 | $x64items = @(Get-ChildItem "HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") 4 | ($x64items + @(Get-ChildItem "HKLM:SOFTWARE\wow6432node\Microsoft\Windows\CurrentVersion\Uninstall") ` 5 | | ForEach-object { Get-ItemProperty Microsoft.PowerShell.Core\Registry::$_ } ` 6 | | Where-Object { $_.DisplayName -and $_.DisplayName.Contains($productName) } ` 7 | | Select UninstallString).UninstallString 8 | } 9 | 10 | Write-Host "Uninstalling Microsoft Visual C++ 2013 Redistributable (x64)..." 11 | "$(GetUninstallString "Microsoft Visual C++ 2013 Redistributable (x64)") /quiet" | out-file "$env:temp\uninstall.cmd" -Encoding ASCII 12 | & $env:temp\uninstall.cmd 13 | 14 | Write-Host "Uninstalling Microsoft Visual C++ 2013 Redistributable (x86)..." 15 | "$(GetUninstallString "Microsoft Visual C++ 2013 Redistributable (x86)") /quiet" | out-file "$env:temp\uninstall.cmd" -Encoding ASCII 16 | & $env:temp\uninstall.cmd 17 | 18 | Write-Host "Downloading Visual C++ Compiler November 2013 CTP..." -ForegroundColor Cyan 19 | $exePath = "$($env:TEMP)\vc_CompilerCTP.Nov2013.exe" 20 | (New-Object Net.WebClient).DownloadFile('https://download.microsoft.com/download/3/C/2/3C271B79-6354-4B66-9014-C6CEBC14C5C4/vc_CompilerCTP.Nov2013.exe', $exePath) 21 | 22 | Write-Host "Installing..." 23 | cmd /c start /wait $exePath /install /quiet /norestart /log c:\users\appveyor\install-log.txt 24 | Write-Host "Installed" -ForegroundColor green -------------------------------------------------------------------------------- /examples/test_runner.ps1: -------------------------------------------------------------------------------- 1 | $BIN_PATH = "c:\git\libbitcoin\bin" 2 | $TEST_EXE_NAME = "libbitcoin-test.exe" 3 | $TEST_ARGS = "--run_test=* --show_progress=no --detect_memory_leak=0 --report_level=no --build_info=yes" 4 | 5 | Write-Host "Locating test executables..." -ForegroundColor Cyan 6 | 7 | $DISCOVERED_EXES = @(Get-ChildItem -Path $BIN_PATH -recurse | Where-Object { $_.Name -eq $TEST_EXE_NAME }) 8 | 9 | If ($DISCOVERED_EXES.Count -ne 1) { 10 | Write-Host "Failure, invalid count of test elements" -ForegroundColor Red 11 | exit 1 12 | } 13 | 14 | Write-Host "Found single instance: " $DISCOVERED_EXES.Name -ForegroundColor Cyan 15 | 16 | $DISCOVERED_EXES.FullName | ForEach-Object { 17 | Write-Host "Executing $_ $TEST_ARGS" -ForegroundColor Cyan 18 | try { 19 | Invoke-Expression "$_ $TEST_ARGS" 20 | } 21 | catch { 22 | $error = $_ 23 | Write-Host "Failure executing tests: " $error -ForegroundColor Red 24 | exit $error 25 | } 26 | } 27 | 28 | Write-Host "Complete." -ForegroundColor Green 29 | 30 | -------------------------------------------------------------------------------- /generate3.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM ########################################################################### 3 | REM Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | REM 5 | REM Generate libbitcoin-build artifacts from XML + GSL. 6 | REM 7 | REM This executes the iMatix GSL code generator. 8 | REM See https://github.com/imatix/gsl for details. 9 | REM 10 | REM Direct GSL download https://www.nuget.org/api/v2/package/gsl/4.1.0.1 11 | REM Extract gsl.exe from package using NuGet's File > Export 12 | REM ########################################################################### 13 | 14 | REM Do everything relative to this file location. 15 | pushd %~dp0 16 | 17 | REM Clean directories for generated build artifacts. 18 | rmdir /s /q "output" 2>NUL 19 | 20 | REM Generate property copiers and artifact generators. 21 | gsl -q -script:gsl.copy_modules.cmd generate3.xml 22 | gsl -q -script:gsl.copy_properties.cmd generate3.xml 23 | gsl -q -script:gsl.generate_artifacts.cmd generate3.xml 24 | 25 | REM Generate bindings from generated binding generators. 26 | REM The path to swig.exe must be in our path. 27 | REM for generate.repository by name as _repo 28 | REM call ..\\$(_repo.name)\\bindings.bat 29 | REM endfor 30 | 31 | REM Execute property copiers and artifact generators. 32 | call copy_modules.cmd 33 | call copy_properties.cmd 34 | call generate_artifacts.cmd 35 | 36 | REM Copy outputs to all repositories. 37 | xcopy /s /y output\* ..\ 38 | 39 | REM Restore directory. 40 | popd 41 | 42 | REM Delay for manual confirmation. 43 | call pause 44 | -------------------------------------------------------------------------------- /generate3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # Generate libbitcoin build artifacts from XML + GSL. 6 | # 7 | # This executes the iMatix GSL code generator. 8 | # See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | 11 | # Exit this script on the first build error. 12 | set -e 13 | 14 | # Do everything relative to this file location. 15 | cd `dirname "$0"` 16 | 17 | # Clean directories for generated build artifacts. 18 | eval rm -rf "output" 19 | 20 | # Generate property copiers and artifact generators. 21 | eval gsl -q -script:gsl.copy_modules.sh generate3.xml 22 | eval gsl -q -script:gsl.copy_properties.sh generate3.xml 23 | eval gsl -q -script:gsl.generate_artifacts.sh generate3.xml 24 | 25 | # Generate bindings from generated binding generators. 26 | # The path to swig must be in our path. 27 | # for generate.repository by name as _repo 28 | # eval ../$(_repo.name)/bindings.sh 29 | # endfor 30 | 31 | # Make property copiers and artifact generators executable. 32 | eval chmod +x copy_modules.sh 33 | eval chmod +x copy_properties.sh 34 | eval chmod +x generate_artifacts.sh 35 | 36 | # Execute property copiers and artifact generators. 37 | eval ./copy_modules.sh 38 | eval ./copy_properties.sh 39 | eval ./generate_artifacts.sh 40 | 41 | # Copy outputs to all repositories. 42 | eval cp -rf "output/." "../" 43 | -------------------------------------------------------------------------------- /generate4.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM ########################################################################### 3 | REM Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | REM 5 | REM Generate libbitcoin-build artifacts from XML + GSL. 6 | REM 7 | REM This executes the iMatix GSL code generator. 8 | REM See https://github.com/imatix/gsl for details. 9 | REM 10 | REM Direct GSL download https://www.nuget.org/api/v2/package/gsl/4.1.0.1 11 | REM Extract gsl.exe from package using NuGet's File > Export 12 | REM ########################################################################### 13 | 14 | REM Do everything relative to this file location. 15 | pushd %~dp0 16 | 17 | REM Clean directories for generated build artifacts. 18 | rmdir /s /q "output" 2>NUL 19 | 20 | REM Generate property copiers and artifact generators. 21 | gsl -q -script:gsl.copy_modules.cmd generate4.xml 22 | gsl -q -script:gsl.copy_properties.cmd generate4.xml 23 | gsl -q -script:gsl.generate_artifacts.cmd generate4.xml 24 | 25 | REM Generate bindings from generated binding generators. 26 | REM The path to swig.exe must be in our path. 27 | REM for generate.repository by name as _repo 28 | REM call ..\\$(_repo.name)\\bindings.bat 29 | REM endfor 30 | 31 | REM Execute property copiers and artifact generators. 32 | call copy_modules.cmd 33 | call copy_properties.cmd 34 | call generate_artifacts.cmd 35 | 36 | REM Copy outputs to all repositories. 37 | xcopy /s /y output\* ..\ 38 | 39 | REM Restore directory. 40 | popd 41 | 42 | REM Delay for manual confirmation. 43 | call pause 44 | -------------------------------------------------------------------------------- /generate4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # Generate libbitcoin build artifacts from XML + GSL. 6 | # 7 | # This executes the iMatix GSL code generator. 8 | # See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | 11 | # Exit this script on the first build error. 12 | set -e 13 | 14 | # Do everything relative to this file location. 15 | cd `dirname "$0"` 16 | 17 | # Clean directories for generated build artifacts. 18 | eval rm -rf "output" 19 | 20 | # Generate property copiers and artifact generators. 21 | eval gsl -q -script:gsl.copy_modules.sh generate4.xml 22 | eval gsl -q -script:gsl.copy_properties.sh generate4.xml 23 | eval gsl -q -script:gsl.generate_artifacts.sh generate4.xml 24 | 25 | # Generate bindings from generated binding generators. 26 | # The path to swig must be in our path. 27 | # for generate.repository by name as _repo 28 | # eval ../$(_repo.name)/bindings.sh 29 | # endfor 30 | 31 | # Make property copiers and artifact generators executable. 32 | eval chmod +x copy_modules.sh 33 | eval chmod +x copy_properties.sh 34 | eval chmod +x generate_artifacts.sh 35 | 36 | # Execute property copiers and artifact generators. 37 | eval ./copy_modules.sh 38 | eval ./copy_properties.sh 39 | eval ./generate_artifacts.sh 40 | 41 | # Copy outputs to all repositories. 42 | eval cp -rf "output/." "../" 43 | -------------------------------------------------------------------------------- /gsl.generate_artifacts.cmd: -------------------------------------------------------------------------------- 1 | .template 0 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # GSL generate generate_artifacts.cmd. 6 | # 7 | # This is a code generator built using the iMatix GSL code generation 8 | # language. See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | # Generation 11 | ############################################################################### 12 | .endtemplate 13 | .template 1 14 | .macro generate_artifact() 15 | . define out_file = "generate_artifacts.cmd" 16 | . notify(out_file) 17 | . output(out_file) 18 | . batch_no_echo() 19 | . bat_copyleft("libbitcoin-build") 20 | 21 | REM Do everything relative to this file location. 22 | pushd %~dp0 23 | 24 | REM Generate build artifacts. 25 | . for generate->templates.template as _template 26 | gsl -q -script:templates\\$(_template.name) $(generate->templates.source) 27 | if %errorlevel% neq 0 goto error 28 | 29 | . endfor 30 | 31 | echo --- OKAY, generation completed. 32 | goto end 33 | 34 | :error 35 | echo *** ERROR, generation terminated early. 36 | 37 | :end 38 | REM Restore directory. 39 | popd 40 | 41 | .endmacro generate_artifact 42 | .endtemplate 43 | .template 0 44 | ############################################################################### 45 | # Execution 46 | ############################################################################### 47 | [global].root = ".." 48 | [global].trace = 0 49 | [gsl].ignorecase = 0 50 | 51 | # Note: expected context root libbitcoin-build directory 52 | gsl from "library/math.gsl" 53 | gsl from "library/string.gsl" 54 | gsl from "library/collections.gsl" 55 | gsl from "utilities.gsl" 56 | 57 | generate_artifact() 58 | 59 | .endtemplate 60 | -------------------------------------------------------------------------------- /gsl.generate_artifacts.sh: -------------------------------------------------------------------------------- 1 | .template 0 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # GSL generate generate_artifacts.sh. 6 | # 7 | # This is a code generator built using the iMatix GSL code generation 8 | # language. See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | # Generation 11 | ############################################################################### 12 | .endtemplate 13 | .template 1 14 | .macro generate_artifacts() 15 | . define out_file = "generate_artifacts.sh" 16 | . notify(out_file) 17 | . output(out_file) 18 | . shebang("bash") 19 | . copyleft("libbitcoin-build") 20 | 21 | # Exit this script on the first build error. 22 | set -e 23 | 24 | # Do everything relative to this file location. 25 | cd `dirname "$0"` 26 | 27 | declare -a generator=( \\ 28 | . for generate->templates.template as _template 29 | "$(_template.name)" \\ 30 | . endfor 31 | ) 32 | 33 | # Generate build artifacts. 34 | for generate in "\${generator[@]}" 35 | do 36 | gsl -q -script:templates/\$generate $(generate->templates.source) 37 | done 38 | 39 | # Make generated scripts executable. 40 | eval chmod +x "output/*/*.sh" 41 | 42 | .endmacro generate_artifacts 43 | .endtemplate 44 | .template 0 45 | ############################################################################### 46 | # Execution 47 | ############################################################################### 48 | [global].root = ".." 49 | [global].trace = 0 50 | [gsl].ignorecase = 0 51 | 52 | # Note: expected context root libbitcoin-build directory 53 | gsl from "library/math.gsl" 54 | gsl from "library/string.gsl" 55 | gsl from "library/collections.gsl" 56 | gsl from "utilities.gsl" 57 | 58 | generate_artifacts() 59 | 60 | .endtemplate 61 | -------------------------------------------------------------------------------- /img/client-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libbitcoin/libbitcoin-build/6c3780f871a553686b5f4db9cb97da4f624b7dfb/img/client-stack.png -------------------------------------------------------------------------------- /img/dependencies.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libbitcoin/libbitcoin-build/6c3780f871a553686b5f4db9cb97da4f624b7dfb/img/dependencies.png -------------------------------------------------------------------------------- /img/server-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libbitcoin/libbitcoin-build/6c3780f871a553686b5f4db9cb97da4f624b7dfb/img/server-stack.png -------------------------------------------------------------------------------- /info/nuget-packages.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libbitcoin/libbitcoin-build/6c3780f871a553686b5f4db9cb97da4f624b7dfb/info/nuget-packages.xlsx -------------------------------------------------------------------------------- /library/math.gsl: -------------------------------------------------------------------------------- 1 | .template 0 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # GSL libbitcoin math utilities in the 'global' scope. 6 | # 7 | # This is a code generator built using the iMatix GSL code generation 8 | # language. See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | 11 | #------------------------------------------------------------------------------ 12 | # Math 13 | # 14 | # maximum(value, limit) 15 | # minimum(value, limit) 16 | #------------------------------------------------------------------------------ 17 | 18 | # Return the higher of the two specified values. 19 | function global.maximum(a, b) 20 | return (my.a > my.b) ?? my.a ? my.b 21 | endfunction 22 | 23 | # Return the lower of the two specified values. 24 | function global.minimum(a, b) 25 | return (my.a < my.b) ?? my.a ? my.b 26 | endfunction 27 | 28 | ############################################################################### 29 | .endtemplate -------------------------------------------------------------------------------- /library/math_test.gsl: -------------------------------------------------------------------------------- 1 | .template 0 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # GSL libbitcoin math utilities tests. 6 | # 7 | # This is a code generator built using the iMatix GSL code generation 8 | # language. See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | 11 | gsl from "test.gsl" 12 | gsl from "math.gsl" 13 | 14 | #------------------------------------------------------------------------------ 15 | # Math 16 | # 17 | # maximum(value, limit) 18 | # minimum(value, limit) 19 | #------------------------------------------------------------------------------ 20 | 21 | function test_maximum() 22 | test_require_eq(maximum(0, 0), 0, "maximum__equal__expected") 23 | test_require_eq(maximum(-1, 0), 0, "maximum__left_negative__expected") 24 | test_require_eq(maximum(42, 0), 42, "maximum__left_positive__expected") 25 | test_require_eq(maximum(-1, -2), -1, "maximum__right_more_negative__expected") 26 | test_require_eq(maximum(42, 142), 142, "maximum__right_more_positive__expected") 27 | endfunction 28 | test("test_maximum") 29 | 30 | function test_minimum() 31 | test_require_eq(minimum(0, 0), 0, "minimum__equal__expected") 32 | test_require_eq(minimum(-1, 0), -1, "minimum__left_negative__expected") 33 | test_require_eq(minimum(42, 0), 0, "minimum__left_positive__expected") 34 | test_require_eq(minimum(-1, -2), -2, "minimum__right_more_negative__expected") 35 | test_require_eq(minimum(42, 142), 42, "minimum__right_more_positive__expected") 36 | endfunction 37 | test("test_minimum") 38 | 39 | ############################################################################### 40 | .endtemplate -------------------------------------------------------------------------------- /library/test.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM ########################################################################### 3 | REM Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | REM 5 | REM Test libbitcoin build collection utilities. 6 | REM 7 | REM This executes the iMatix GSL code generator. 8 | REM See https://github.com/imatix/gsl for details. 9 | REM 10 | REM Direct GSL download https://www.nuget.org/api/v2/package/gsl/4.1.0.1 11 | REM Extract gsl.exe from package using NuGet's File > Export 12 | REM ########################################################################### 13 | 14 | gsl math_test.gsl 15 | gsl string_test.gsl 16 | gsl collections_test.gsl 17 | 18 | pause 19 | -------------------------------------------------------------------------------- /library/test.gsl: -------------------------------------------------------------------------------- 1 | .template 0 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # GSL libbitcoin test utilities in the 'global' scope. 6 | # 7 | # This is a code generator built using the iMatix GSL code generation 8 | # language. See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | # Functions 11 | ############################################################################### 12 | 13 | # test utilities 14 | 15 | # Execute a test by name. 16 | function test(name) 17 | echo "Running $(my.name)..." 18 | $(my.name)() 19 | endfunction 20 | 21 | function test_require(a, message) 22 | if (!defined(my.a) | !my.a) 23 | echo "test require failure: $(my.message)" 24 | endif 25 | endfunction 26 | 27 | function test_require_defined(a, message) 28 | if (!defined(my.a)) 29 | echo "test require defined failure: $(my.message)" 30 | endif 31 | endfunction 32 | 33 | function test_require_undefined(a, message) 34 | if (defined(my.a)) 35 | echo "test require undefined failure: $(my.message)" 36 | endif 37 | endfunction 38 | 39 | function test_require_eq(a, b, message) 40 | if (!defined(my.a) | !defined(my.b) | (my.a <> my.b)) 41 | echo "test require equal failure: $(my.message)" 42 | endif 43 | endfunction 44 | 45 | function test_require_ne(a, b, message) 46 | if (!defined(my.a) | !defined(my.b) | (my.a = my.b)) 47 | echo "test require not equal failure: $(my.message)" 48 | endif 49 | endfunction 50 | 51 | .endtemplate -------------------------------------------------------------------------------- /m4/ax_check_compile_flag.m4: -------------------------------------------------------------------------------- 1 | # =========================================================================== 2 | # https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html 3 | # =========================================================================== 4 | # 5 | # SYNOPSIS 6 | # 7 | # AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) 8 | # 9 | # DESCRIPTION 10 | # 11 | # Check whether the given FLAG works with the current language's compiler 12 | # or gives an error. (Warnings, however, are ignored) 13 | # 14 | # ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on 15 | # success/failure. 16 | # 17 | # If EXTRA-FLAGS is defined, it is added to the current language's default 18 | # flags (e.g. CFLAGS) when the check is done. The check is thus made with 19 | # the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to 20 | # force the compiler to issue an error when a bad flag is given. 21 | # 22 | # INPUT gives an alternative input source to AC_COMPILE_IFELSE. 23 | # 24 | # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this 25 | # macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. 26 | # 27 | # LICENSE 28 | # 29 | # Copyright (c) 2008 Guido U. Draheim 30 | # Copyright (c) 2011 Maarten Bosmans 31 | # 32 | # Copying and distribution of this file, with or without modification, are 33 | # permitted in any medium without royalty provided the copyright notice 34 | # and this notice are preserved. This file is offered as-is, without any 35 | # warranty. 36 | 37 | #serial 6 38 | 39 | AC_DEFUN([AX_CHECK_COMPILE_FLAG], 40 | [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF 41 | AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl 42 | AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ 43 | ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS 44 | _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" 45 | AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], 46 | [AS_VAR_SET(CACHEVAR,[yes])], 47 | [AS_VAR_SET(CACHEVAR,[no])]) 48 | _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) 49 | AS_VAR_IF(CACHEVAR,yes, 50 | [m4_default([$2], :)], 51 | [m4_default([$3], :)]) 52 | AS_VAR_POPDEF([CACHEVAR])dnl 53 | ])dnl AX_CHECK_COMPILE_FLAGS 54 | -------------------------------------------------------------------------------- /m4/ax_check_link_flag.m4: -------------------------------------------------------------------------------- 1 | # =========================================================================== 2 | # https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html 3 | # =========================================================================== 4 | # 5 | # SYNOPSIS 6 | # 7 | # AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) 8 | # 9 | # DESCRIPTION 10 | # 11 | # Check whether the given FLAG works with the linker or gives an error. 12 | # (Warnings, however, are ignored) 13 | # 14 | # ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on 15 | # success/failure. 16 | # 17 | # If EXTRA-FLAGS is defined, it is added to the linker's default flags 18 | # when the check is done. The check is thus made with the flags: "LDFLAGS 19 | # EXTRA-FLAGS FLAG". This can for example be used to force the linker to 20 | # issue an error when a bad flag is given. 21 | # 22 | # INPUT gives an alternative input source to AC_LINK_IFELSE. 23 | # 24 | # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this 25 | # macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. 26 | # 27 | # LICENSE 28 | # 29 | # Copyright (c) 2008 Guido U. Draheim 30 | # Copyright (c) 2011 Maarten Bosmans 31 | # 32 | # Copying and distribution of this file, with or without modification, are 33 | # permitted in any medium without royalty provided the copyright notice 34 | # and this notice are preserved. This file is offered as-is, without any 35 | # warranty. 36 | 37 | #serial 6 38 | 39 | AC_DEFUN([AX_CHECK_LINK_FLAG], 40 | [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF 41 | AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl 42 | AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ 43 | ax_check_save_flags=$LDFLAGS 44 | LDFLAGS="$LDFLAGS $4 $1" 45 | AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], 46 | [AS_VAR_SET(CACHEVAR,[yes])], 47 | [AS_VAR_SET(CACHEVAR,[no])]) 48 | LDFLAGS=$ax_check_save_flags]) 49 | AS_VAR_IF(CACHEVAR,yes, 50 | [m4_default([$2], :)], 51 | [m4_default([$3], :)]) 52 | AS_VAR_POPDEF([CACHEVAR])dnl 53 | ])dnl AX_CHECK_LINK_FLAGS 54 | -------------------------------------------------------------------------------- /m4/ax_check_preproc_flag.m4: -------------------------------------------------------------------------------- 1 | # =========================================================================== 2 | # https://www.gnu.org/software/autoconf-archive/ax_check_preproc_flag.html 3 | # =========================================================================== 4 | # 5 | # SYNOPSIS 6 | # 7 | # AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) 8 | # 9 | # DESCRIPTION 10 | # 11 | # Check whether the given FLAG works with the current language's 12 | # preprocessor or gives an error. (Warnings, however, are ignored) 13 | # 14 | # ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on 15 | # success/failure. 16 | # 17 | # If EXTRA-FLAGS is defined, it is added to the preprocessor's default 18 | # flags when the check is done. The check is thus made with the flags: 19 | # "CPPFLAGS EXTRA-FLAGS FLAG". This can for example be used to force the 20 | # preprocessor to issue an error when a bad flag is given. 21 | # 22 | # INPUT gives an alternative input source to AC_PREPROC_IFELSE. 23 | # 24 | # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this 25 | # macro in sync with AX_CHECK_{COMPILE,LINK}_FLAG. 26 | # 27 | # LICENSE 28 | # 29 | # Copyright (c) 2008 Guido U. Draheim 30 | # Copyright (c) 2011 Maarten Bosmans 31 | # 32 | # Copying and distribution of this file, with or without modification, are 33 | # permitted in any medium without royalty provided the copyright notice 34 | # and this notice are preserved. This file is offered as-is, without any 35 | # warranty. 36 | 37 | #serial 6 38 | 39 | AC_DEFUN([AX_CHECK_PREPROC_FLAG], 40 | [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF 41 | AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]cppflags_$4_$1])dnl 42 | AC_CACHE_CHECK([whether _AC_LANG preprocessor accepts $1], CACHEVAR, [ 43 | ax_check_save_flags=$CPPFLAGS 44 | CPPFLAGS="$CPPFLAGS $4 $1" 45 | AC_PREPROC_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], 46 | [AS_VAR_SET(CACHEVAR,[yes])], 47 | [AS_VAR_SET(CACHEVAR,[no])]) 48 | CPPFLAGS=$ax_check_save_flags]) 49 | AS_VAR_IF(CACHEVAR,yes, 50 | [m4_default([$2], :)], 51 | [m4_default([$3], :)]) 52 | AS_VAR_POPDEF([CACHEVAR])dnl 53 | ])dnl AX_CHECK_PREPROC_FLAGS 54 | -------------------------------------------------------------------------------- /m4/ax_cxx_compile_stdcxx_11.m4: -------------------------------------------------------------------------------- 1 | # ============================================================================= 2 | # https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html 3 | # ============================================================================= 4 | # 5 | # SYNOPSIS 6 | # 7 | # AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional]) 8 | # 9 | # DESCRIPTION 10 | # 11 | # Check for baseline language coverage in the compiler for the C++11 12 | # standard; if necessary, add switches to CXX and CXXCPP to enable 13 | # support. 14 | # 15 | # This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX 16 | # macro with the version set to C++11. The two optional arguments are 17 | # forwarded literally as the second and third argument respectively. 18 | # Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for 19 | # more information. If you want to use this macro, you also need to 20 | # download the ax_cxx_compile_stdcxx.m4 file. 21 | # 22 | # LICENSE 23 | # 24 | # Copyright (c) 2008 Benjamin Kosnik 25 | # Copyright (c) 2012 Zack Weinberg 26 | # Copyright (c) 2013 Roy Stogner 27 | # Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov 28 | # Copyright (c) 2015 Paul Norman 29 | # Copyright (c) 2015 Moritz Klammler 30 | # 31 | # Copying and distribution of this file, with or without modification, are 32 | # permitted in any medium without royalty provided the copyright notice 33 | # and this notice are preserved. This file is offered as-is, without any 34 | # warranty. 35 | 36 | #serial 18 37 | 38 | AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX]) 39 | AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])]) 40 | -------------------------------------------------------------------------------- /maintenance/update-copyright-generators.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | YEAR=$(date +%Y) 5 | 6 | find . -path '*/.git' -prune -type f -o -type f -name '*' | xargs sed --in-place -e "s/Copyright (c) 20\([0-9][0-9]\)-20[0-9][0-9] \$(my.name)/Copyright (c) 20\1-$YEAR \$(my.name)/g" 7 | -------------------------------------------------------------------------------- /maintenance/update-copyright.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | YEAR=$(date +%Y) 5 | 6 | find . -path '*/.git' -prune -type f -o -type f -name '*' | xargs sed --in-place -e "s/Copyright (c) 20\([0-9][0-9]\)-20[0-9][0-9] libbitcoin/Copyright (c) 20\1-$YEAR libbitcoin/g" 7 | -------------------------------------------------------------------------------- /props/version3/base/Common.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Common Settings 6 | Unicode 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | x64 15 | 16 | 17 | 18 | 19 | UNICODE;_UNICODE;%(PreprocessorDefinitions) 20 | 21 | 22 | 23 | Level4 24 | false 25 | false 26 | true 27 | 28 | 29 | 30 | /Zc:__cplusplus %(AdditionalOptions) 31 | true 32 | true 33 | false 34 | false 35 | stdc11 36 | stdcpp14 37 | stdcpp17 38 | stdcpp20 39 | false 40 | true 41 | true 42 | 43 | 44 | 45 | 46 | Level4 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /props/version3/base/Debug.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <_PropertySheetDisplayName>Debug Settings 10 | Debug 11 | 12 | 13 | 14 | 15 | 16 | EnableFastChecks 17 | ProgramDatabase 18 | true 19 | Disabled 20 | _DEBUG;%(PreprocessorDefinitions) 21 | 22 | 23 | _DEBUG;%(PreprocessorDefinitions) 24 | 25 | 26 | true 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /props/version3/base/Link.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Link Time Code Generation Settings 6 | ltcg 7 | 8 | 9 | 10 | 11 | true 12 | 13 | 14 | UseLinkTimeCodeGeneration 15 | 16 | 17 | true 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /props/version3/base/Messages.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Build Messages 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/base/Output.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Output Settings 6 | 7 | $(ProjectDir)..\..\ 8 | $(ProjectDir)..\..\..\..\ 9 | $(ProjectDir)..\..\..\..\..\ 10 | $(ProjectDir)..\..\..\..\bin\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\ 11 | $(ProjectDir)..\..\..\..\obj\$(TargetName)\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\ 12 | $(OutDir) 13 | $(TargetName) 14 | $(TargetDir)$(TargetName)$(TargetExt) 15 | 16 | 17 | 18 | 19 | $(OutDir)$(TargetName).lib 20 | 21 | 22 | $(OutDir)$(TargetName).log 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /props/version3/base/Release.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <_PropertySheetDisplayName>Release Settings 10 | Release 11 | false 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | false 20 | 21 | 22 | false 23 | true 24 | true 25 | Speed 26 | true 27 | AnySuitable 28 | true 29 | true 30 | MaxSpeed 31 | 32 | 33 | 34 | 35 | AdvancedVectorExtensions2 36 | 37 | 38 | ProgramDatabase 39 | true 40 | NDEBUG;%(PreprocessorDefinitions) 41 | 42 | 43 | NDEBUG;%(PreprocessorDefinitions) 44 | 45 | 46 | true 47 | true 48 | true 49 | 50 | 51 | -------------------------------------------------------------------------------- /props/version3/base/Win32.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>x86 Settings 6 | 7 | 8 | 9 | 10 | WIN32;_WIN32;%(PreprocessorDefinitions) 11 | 12 | 13 | MachineX86 14 | 15 | 16 | /MACHINE:X86 %(AdditionalOptions) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version3/base/x64.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>x64 Settings 6 | 7 | 8 | 9 | 10 | 13 | WIN32;_WIN32;WIN64;_WIN64;%(PreprocessorDefinitions) 14 | 15 | 16 | MachineX64 17 | 18 | 19 | /MACHINE:X64 %(AdditionalOptions) 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /props/version3/build/build_base.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat vs2017 libbitcoin "Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build"] 3 | REM Usage: [buildbase.bat vs2015 libbitcoin "Microsoft Visual Studio 14.0\VC"] 4 | REM Usage: [buildbase.bat vs2013 libbitcoin "Microsoft Visual Studio 12.0\VC"] 5 | 6 | SET studio=%1 7 | SET project=%2 8 | SET version=%~3 9 | 10 | SET log=%studio%.log 11 | SET solution=..\%studio%\%project%.sln 12 | SET tools=%version%\vcvarsall.bat 13 | SET environment=%programfiles(x86)%\%tools% 14 | 15 | IF NOT EXIST "%environment%" SET environment=%programfiles%\%tools% 16 | IF NOT EXIST "%environment%" GOTO no_tools 17 | 18 | ECHO Building: %solution% 19 | 20 | CALL "%environment%" x86 > nul 21 | ECHO Platform=x86 22 | 23 | ECHO Configuration=StaticDebug 24 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% 25 | IF errorlevel 1 GOTO error 26 | ECHO Configuration=StaticRelease 27 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% 28 | IF errorlevel 1 GOTO error 29 | 30 | CALL "%environment%" x86_amd64 > nul 31 | ECHO Platform=x64 32 | 33 | ECHO Configuration=StaticDebug 34 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 35 | IF errorlevel 1 GOTO error 36 | ECHO Configuration=StaticRelease 37 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 38 | IF errorlevel 1 GOTO error 39 | 40 | ECHO Complete: %solution% 41 | GOTO end 42 | 43 | :error 44 | ECHO *** ERROR, build terminated early, see: %log% 45 | GOTO end 46 | 47 | :no_tools 48 | ECHO *** ERROR, build tools not found: %tools% 49 | 50 | :end 51 | 52 | -------------------------------------------------------------------------------- /props/version3/build/buildbase_static.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12] 3 | 4 | SET solution=%1 5 | SET version=%2 6 | SET log=build_%version%.log 7 | SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat 8 | IF %version% == 15 SET tools=Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat 9 | SET environment="%programfiles(x86)%\%tools%" 10 | IF NOT EXIST %environment% SET environment="%programfiles%\%tools%" 11 | IF NOT EXIST %environment% GOTO no_tools 12 | 13 | ECHO Building: %solution% 14 | 15 | CALL %environment% x86 > nul 16 | ECHO Platform=x86 17 | 18 | ECHO Configuration=StaticDebug 19 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% 20 | IF errorlevel 1 GOTO error 21 | ECHO Configuration=StaticRelease 22 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% 23 | IF errorlevel 1 GOTO error 24 | 25 | CALL %environment% x86_amd64 > nul 26 | ECHO Platform=x64 27 | 28 | ECHO Configuration=StaticDebug 29 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 30 | IF errorlevel 1 GOTO error 31 | ECHO Configuration=StaticRelease 32 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 33 | IF errorlevel 1 GOTO error 34 | 35 | ECHO Complete: %solution% 36 | GOTO end 37 | 38 | :error 39 | ECHO *** ERROR, build terminated early, see: %log% 40 | GOTO end 41 | 42 | :no_tools 43 | ECHO *** ERROR, build tools not found: %tools% 44 | 45 | :end 46 | 47 | -------------------------------------------------------------------------------- /props/version3/build/buildbase_static_all.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12] 3 | 4 | SET solution=%1 5 | SET version=%2 6 | SET log=build_%version%.log 7 | SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat 8 | SET environment="%programfiles(x86)%\%tools%" 9 | IF NOT EXIST %environment% SET environment="%programfiles%\%tools%" 10 | IF NOT EXIST %environment% GOTO no_tools 11 | 12 | ECHO Building: %solution% 13 | 14 | CALL %environment% x86 > nul 15 | ECHO Platform=x86 16 | 17 | ECHO Configuration=StaticDebug 18 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% 19 | IF errorlevel 1 GOTO error 20 | ECHO Configuration=StaticRelease 21 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% 22 | IF errorlevel 1 GOTO error 23 | 24 | CALL %environment% x86_amd64 > nul 25 | ECHO Platform=x64 26 | 27 | ECHO Configuration=StaticDebug 28 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 29 | IF errorlevel 1 GOTO error 30 | ECHO Configuration=StaticRelease 31 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 32 | IF errorlevel 1 GOTO error 33 | 34 | ECHO Complete: %solution% 35 | GOTO end 36 | 37 | :error 38 | ECHO *** ERROR, build terminated early, see: %log% 39 | GOTO end 40 | 41 | :no_tools 42 | ECHO *** ERROR, build tools not found: %tools% 43 | 44 | :end 45 | 46 | -------------------------------------------------------------------------------- /props/version3/build/buildbase_static_ltcg.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12] 3 | 4 | SET solution=%1 5 | SET version=%2 6 | SET log=build_%version%.log 7 | SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat 8 | IF %version% == 15 SET tools=Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat 9 | SET environment="%programfiles(x86)%\%tools%" 10 | IF NOT EXIST %environment% SET environment="%programfiles%\%tools%" 11 | IF NOT EXIST %environment% GOTO no_tools 12 | 13 | ECHO Building: %solution% 14 | 15 | CALL %environment% x86 > nul 16 | ECHO Platform=x86 17 | 18 | ECHO Configuration=LtcgDebug 19 | msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=Win32 %solution% >> %log% 20 | IF errorlevel 1 GOTO error 21 | ECHO Configuration=LtcgRelease 22 | msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=Win32 %solution% >> %log% 23 | IF errorlevel 1 GOTO error 24 | ECHO Configuration=StaticDebug 25 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% 26 | IF errorlevel 1 GOTO error 27 | ECHO Configuration=StaticRelease 28 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% 29 | IF errorlevel 1 GOTO error 30 | 31 | CALL %environment% x86_amd64 > nul 32 | ECHO Platform=x64 33 | 34 | ECHO Configuration=LtcgDebug 35 | msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=x64 %solution% >> %log% 36 | IF errorlevel 1 GOTO error 37 | ECHO Configuration=LtcgRelease 38 | msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=x64 %solution% >> %log% 39 | IF errorlevel 1 GOTO error 40 | ECHO Configuration=StaticDebug 41 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 42 | IF errorlevel 1 GOTO error 43 | ECHO Configuration=StaticRelease 44 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 45 | IF errorlevel 1 GOTO error 46 | 47 | ECHO Complete: %solution% 48 | GOTO end 49 | 50 | :error 51 | ECHO *** ERROR, build terminated early, see: %log% 52 | GOTO end 53 | 54 | :no_tools 55 | ECHO *** ERROR, build tools not found: %tools% 56 | 57 | :end 58 | 59 | -------------------------------------------------------------------------------- /props/version3/build/buildbase_static_x64.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12] 3 | 4 | SET solution=%1 5 | SET version=%2 6 | SET log=build_%version%.log 7 | SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat 8 | IF %version% == 15 SET tools=Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat 9 | SET environment="%programfiles(x86)%\%tools%" 10 | IF NOT EXIST %environment% SET environment="%programfiles%\%tools%" 11 | IF NOT EXIST %environment% GOTO no_tools 12 | 13 | ECHO Building: %solution% 14 | 15 | CALL %environment% x86_amd64 > nul 16 | ECHO Platform=x64 17 | 18 | ECHO Configuration=StaticDebug 19 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 20 | IF errorlevel 1 GOTO error 21 | ECHO Configuration=StaticRelease 22 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 23 | IF errorlevel 1 GOTO error 24 | 25 | ECHO Complete: %solution% 26 | GOTO end 27 | 28 | :error 29 | ECHO *** ERROR, build terminated early, see: %log% 30 | GOTO end 31 | 32 | :no_tools 33 | ECHO *** ERROR, build tools not found: %tools% 34 | 35 | :end 36 | 37 | -------------------------------------------------------------------------------- /props/version3/console/DebugDEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Debug Dynamic 6 | dynamic 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDebugDLL 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version3/console/DebugLEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Debug Link Time Code Generation 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDebug 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version3/console/DebugSEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Debug Static 6 | static 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDebug 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version3/console/EXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Application 6 | true 7 | 8 | 9 | 10 | 11 | _CONSOLE;%(PreprocessorDefinitions) 12 | 13 | 14 | Console 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/console/ReleaseDEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Release Dynamic 6 | dynamic 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDLL 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version3/console/ReleaseLEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Release Link Time Code Generation 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreaded 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version3/console/ReleaseSEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Release Static 6 | static 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreaded 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-blockchain.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Blockchain Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\include\;%(AdditionalIncludeDirectories) 19 | BCB_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-blockchain.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\obj\libbitcoin-blockchain\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\obj\libbitcoin-blockchain\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-blockchain.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-client.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\include\;%(AdditionalIncludeDirectories) 19 | BCC_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-client.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-client.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-consensus.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Consensus Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\include\;%(AdditionalIncludeDirectories) 19 | _WIN32_WINNT=0x0600;%(PreprocessorDefinitions) 20 | BCK_STATIC;%(PreprocessorDefinitions) 21 | 22 | 23 | libbitcoin-consensus.lib;%(AdditionalDependencies) 24 | 25 | 26 | 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\; 28 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\obj\libbitcoin-consensus\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\;%(AdditionalLibraryDirectories) 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\obj\libbitcoin-consensus\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-consensus.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-database.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Database Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\include\;%(AdditionalIncludeDirectories) 19 | BCD_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-database.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-database)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\obj\libbitcoin-database\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-database)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-database)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\obj\libbitcoin-database\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-database)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-database.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-explorer.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Explorer Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\include\;%(AdditionalIncludeDirectories) 19 | BCX_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-explorer.lib;shlwapi.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-explorer)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\obj\libbitcoin-explorer\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-explorer)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-explorer)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\obj\libbitcoin-explorer\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-explorer)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-explorer.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-network.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Network Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\include\;%(AdditionalIncludeDirectories) 19 | BCT_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-network.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-network)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\obj\libbitcoin-network\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-network)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-network)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\obj\libbitcoin-network\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-network)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-network.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-node.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Node Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\include\;%(AdditionalIncludeDirectories) 19 | BCN_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-node.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-node)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\obj\libbitcoin-node\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-node)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-node)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\obj\libbitcoin-node\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-node)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-node.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-protocol.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Protocol Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\include\;%(AdditionalIncludeDirectories) 19 | BCP_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-protocol.lib;%(AdditionalDependencies) 23 | Iphlpapi.lib;%(AdditionalDependencies) 24 | 25 | 26 | 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 28 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-protocol.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-server.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Server Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\include\;%(AdditionalIncludeDirectories) 19 | BCS_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-server.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-server)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\obj\libbitcoin-server\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-server)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-server)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\obj\libbitcoin-server\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-server)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-server.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/import/libbitcoin-system.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version3/library/DLL.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Dynamic Library 6 | dynamic 7 | .dll 8 | 9 | 10 | 11 | 12 | _DLL;_WINDLL;%(PreprocessorDefinitions) 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /props/version3/library/DebugDLL.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Dynamic Debug Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDebugDLL 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version3/library/DebugLIB.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Debug Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDebug 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version3/library/DebugLTCG.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Debug Link Time Code Generation Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDebug 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version3/library/LIB.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Library 6 | static 7 | .lib 8 | 9 | 10 | 11 | 12 | _LIB;%(PreprocessorDefinitions) 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /props/version3/library/LTCG.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Link Time Code Generation Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /props/version3/library/ReleaseDLL.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Dynamic Release Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDLL 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version3/library/ReleaseLIB.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Release Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreaded 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version3/library/ReleaseLTCG.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Release Link Time Code Generation Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreaded 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version3/nuget.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | -------------------------------------------------------------------------------- /props/version3/project/libbitcoin-database/libbitcoin-database-tools/libbitcoin-database-tools.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Database Tools Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;(AdditionalIncludeDirectories) 15 | false 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | ..\..\..\..\..\.nuget\packages\ 28 | 29 | 30 | 31 | dynamic 32 | dynamic 33 | dynamic 34 | 35 | 36 | ltcg 37 | ltcg 38 | ltcg 39 | 40 | 41 | static 42 | static 43 | static 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /props/version3/project/libbitcoin-database/libbitcoin-database/libbitcoin-database.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Database Library Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;%(AdditionalIncludeDirectories) 15 | false 16 | WITH_CONSENSUS;%(PreprocessorDefinitions) 17 | BCD_DLL;%(PreprocessorDefinitions) 18 | BCD_STATIC;%(PreprocessorDefinitions) 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ..\..\..\..\..\.nuget\packages\ 30 | 31 | 32 | 33 | dynamic 34 | dynamic 35 | 36 | 37 | ltcg 38 | ltcg 39 | 40 | 41 | static 42 | static 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /props/version3/project/libbitcoin-network/libbitcoin-network/libbitcoin-network.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Network Library Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;%(AdditionalIncludeDirectories) 15 | false 16 | BCT_DLL;%(PreprocessorDefinitions) 17 | BCT_STATIC;%(PreprocessorDefinitions) 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ..\..\..\..\..\.nuget\packages\ 29 | 30 | 31 | 32 | dynamic 33 | dynamic 34 | 35 | 36 | ltcg 37 | ltcg 38 | 39 | 40 | static 41 | static 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /props/version3/project/libbitcoin-system/libbitcoin-system-examples/libbitcoin-system-examples.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin System Examples Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | %(DisableSpecificWarnings) 15 | false 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | ..\..\..\..\..\.nuget\packages\ 27 | 28 | 29 | 30 | dynamic 31 | dynamic 32 | 33 | 34 | ltcg 35 | ltcg 36 | 37 | 38 | static 39 | static 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /props/version3/project/libbitcoin-system/libbitcoin-system-test/libbitcoin-system-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /props/version3/project/libbitcoin-system/libbitcoin-system/libbitcoin-system.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version4/base/Arm.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>ARM32 Settings 6 | 7 | 8 | 9 | 10 | 13 | WIN32;_WIN32;_ARM_;%(PreprocessorDefinitions) 14 | 15 | 16 | MachineARM 17 | 18 | 19 | /MACHINE:ARM %(AdditionalOptions) 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /props/version4/base/Arm64.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>ARM64 Settings 6 | 7 | 8 | 9 | 10 | 13 | WIN32;_WIN32;_ARM64;%(PreprocessorDefinitions) 14 | 15 | 16 | MachineARM64 17 | 18 | 19 | /MACHINE:ARM64 %(AdditionalOptions) 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /props/version4/base/Common.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Common Settings 6 | Unicode 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | x64 15 | 16 | 17 | 18 | 19 | UNICODE;_UNICODE;%(PreprocessorDefinitions) 20 | 21 | 22 | 23 | Level4 24 | false 25 | false 26 | true 27 | 28 | 29 | 30 | /Zc:__cplusplus %(AdditionalOptions) 31 | true 32 | true 33 | false 34 | false 35 | stdc11 36 | stdcpp14 37 | stdcpp17 38 | stdcpp20 39 | false 40 | true 41 | true 42 | 43 | 44 | 45 | 46 | Level4 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /props/version4/base/Debug.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <_PropertySheetDisplayName>Debug Settings 10 | Debug 11 | 12 | 13 | 14 | 15 | 16 | EnableFastChecks 17 | ProgramDatabase 18 | true 19 | true 20 | Disabled 21 | _DEBUG;%(PreprocessorDefinitions) 22 | 23 | 24 | _DEBUG;%(PreprocessorDefinitions) 25 | 26 | 27 | true 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /props/version4/base/Link.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Link Time Code Generation Settings 6 | ltcg 7 | 8 | 9 | 10 | 11 | true 12 | 13 | 14 | UseLinkTimeCodeGeneration 15 | 16 | 17 | true 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /props/version4/base/Messages.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Build Messages 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/base/Output.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Output Settings 6 | 7 | $(ProjectDir)..\..\ 8 | $(ProjectDir)..\..\..\..\ 9 | $(ProjectDir)..\..\..\..\..\ 10 | $(ProjectDir)..\..\..\..\bin\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\ 11 | $(ProjectDir)..\..\..\..\obj\$(TargetName)\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\ 12 | $(OutDir) 13 | $(TargetName) 14 | $(TargetDir)$(TargetName)$(TargetExt) 15 | 16 | 17 | 18 | 19 | $(OutDir)$(TargetName).lib 20 | 21 | 22 | $(OutDir)$(TargetName).log 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /props/version4/base/Release.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <_PropertySheetDisplayName>Release Settings 10 | Release 11 | false 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | false 20 | 21 | 22 | false 23 | true 24 | true 25 | Speed 26 | true 27 | AnySuitable 28 | true 29 | true 30 | MaxSpeed 31 | 32 | ProgramDatabase 33 | true 34 | NDEBUG;%(PreprocessorDefinitions) 35 | 36 | 37 | NDEBUG;%(PreprocessorDefinitions) 38 | 39 | 40 | true 41 | true 42 | true 43 | 44 | 45 | -------------------------------------------------------------------------------- /props/version4/base/Win32.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>x86 Settings 6 | 7 | 8 | 9 | 10 | WIN32;_WIN32;%(PreprocessorDefinitions) 11 | 12 | 13 | MachineX86 14 | 15 | 16 | /MACHINE:X86 %(AdditionalOptions) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version4/base/x64.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>x64 Settings 6 | 7 | 8 | 9 | 10 | 13 | WIN32;_WIN32;WIN64;_WIN64;%(PreprocessorDefinitions) 14 | 15 | 16 | MachineX64 17 | 18 | 19 | /MACHINE:X64 %(AdditionalOptions) 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /props/version4/build/build_base.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat vs2017 libbitcoin "Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build"] 3 | REM Usage: [buildbase.bat vs2015 libbitcoin "Microsoft Visual Studio 14.0\VC"] 4 | REM Usage: [buildbase.bat vs2013 libbitcoin "Microsoft Visual Studio 12.0\VC"] 5 | 6 | SET studio=%1 7 | SET project=%2 8 | SET version=%~3 9 | 10 | SET log=%studio%.log 11 | SET solution=..\%studio%\%project%.sln 12 | SET tools=%version%\vcvarsall.bat 13 | SET environment=%programfiles(x86)%\%tools% 14 | 15 | IF NOT EXIST "%environment%" SET environment=%programfiles%\%tools% 16 | IF NOT EXIST "%environment%" GOTO no_tools 17 | 18 | ECHO Building: %solution% 19 | 20 | CALL "%environment%" x86 > nul 21 | ECHO Platform=x86 22 | 23 | ECHO Configuration=StaticDebug 24 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% 25 | IF errorlevel 1 GOTO error 26 | ECHO Configuration=StaticRelease 27 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% 28 | IF errorlevel 1 GOTO error 29 | 30 | CALL "%environment%" x86_amd64 > nul 31 | ECHO Platform=x64 32 | 33 | ECHO Configuration=StaticDebug 34 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 35 | IF errorlevel 1 GOTO error 36 | ECHO Configuration=StaticRelease 37 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 38 | IF errorlevel 1 GOTO error 39 | 40 | ECHO Complete: %solution% 41 | GOTO end 42 | 43 | :error 44 | ECHO *** ERROR, build terminated early, see: %log% 45 | GOTO end 46 | 47 | :no_tools 48 | ECHO *** ERROR, build tools not found: %tools% 49 | 50 | :end 51 | 52 | -------------------------------------------------------------------------------- /props/version4/build/buildbase_static.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12] 3 | 4 | SET solution=%1 5 | SET version=%2 6 | SET log=build_%version%.log 7 | SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat 8 | IF %version% == 15 SET tools=Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat 9 | SET environment="%programfiles(x86)%\%tools%" 10 | IF NOT EXIST %environment% SET environment="%programfiles%\%tools%" 11 | IF NOT EXIST %environment% GOTO no_tools 12 | 13 | ECHO Building: %solution% 14 | 15 | CALL %environment% x86 > nul 16 | ECHO Platform=x86 17 | 18 | ECHO Configuration=StaticDebug 19 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% 20 | IF errorlevel 1 GOTO error 21 | ECHO Configuration=StaticRelease 22 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% 23 | IF errorlevel 1 GOTO error 24 | 25 | CALL %environment% x86_amd64 > nul 26 | ECHO Platform=x64 27 | 28 | ECHO Configuration=StaticDebug 29 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 30 | IF errorlevel 1 GOTO error 31 | ECHO Configuration=StaticRelease 32 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 33 | IF errorlevel 1 GOTO error 34 | 35 | ECHO Complete: %solution% 36 | GOTO end 37 | 38 | :error 39 | ECHO *** ERROR, build terminated early, see: %log% 40 | GOTO end 41 | 42 | :no_tools 43 | ECHO *** ERROR, build tools not found: %tools% 44 | 45 | :end 46 | 47 | -------------------------------------------------------------------------------- /props/version4/build/buildbase_static_all.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12] 3 | 4 | SET solution=%1 5 | SET version=%2 6 | SET log=build_%version%.log 7 | SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat 8 | SET environment="%programfiles(x86)%\%tools%" 9 | IF NOT EXIST %environment% SET environment="%programfiles%\%tools%" 10 | IF NOT EXIST %environment% GOTO no_tools 11 | 12 | ECHO Building: %solution% 13 | 14 | CALL %environment% x86 > nul 15 | ECHO Platform=x86 16 | 17 | ECHO Configuration=StaticDebug 18 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% 19 | IF errorlevel 1 GOTO error 20 | ECHO Configuration=StaticRelease 21 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% 22 | IF errorlevel 1 GOTO error 23 | 24 | CALL %environment% x86_amd64 > nul 25 | ECHO Platform=x64 26 | 27 | ECHO Configuration=StaticDebug 28 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 29 | IF errorlevel 1 GOTO error 30 | ECHO Configuration=StaticRelease 31 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 32 | IF errorlevel 1 GOTO error 33 | 34 | ECHO Complete: %solution% 35 | GOTO end 36 | 37 | :error 38 | ECHO *** ERROR, build terminated early, see: %log% 39 | GOTO end 40 | 41 | :no_tools 42 | ECHO *** ERROR, build tools not found: %tools% 43 | 44 | :end 45 | 46 | -------------------------------------------------------------------------------- /props/version4/build/buildbase_static_ltcg.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12] 3 | 4 | SET solution=%1 5 | SET version=%2 6 | SET log=build_%version%.log 7 | SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat 8 | IF %version% == 15 SET tools=Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat 9 | SET environment="%programfiles(x86)%\%tools%" 10 | IF NOT EXIST %environment% SET environment="%programfiles%\%tools%" 11 | IF NOT EXIST %environment% GOTO no_tools 12 | 13 | ECHO Building: %solution% 14 | 15 | CALL %environment% x86 > nul 16 | ECHO Platform=x86 17 | 18 | ECHO Configuration=LtcgDebug 19 | msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=Win32 %solution% >> %log% 20 | IF errorlevel 1 GOTO error 21 | ECHO Configuration=LtcgRelease 22 | msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=Win32 %solution% >> %log% 23 | IF errorlevel 1 GOTO error 24 | ECHO Configuration=StaticDebug 25 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% 26 | IF errorlevel 1 GOTO error 27 | ECHO Configuration=StaticRelease 28 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% 29 | IF errorlevel 1 GOTO error 30 | 31 | CALL %environment% x86_amd64 > nul 32 | ECHO Platform=x64 33 | 34 | ECHO Configuration=LtcgDebug 35 | msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=x64 %solution% >> %log% 36 | IF errorlevel 1 GOTO error 37 | ECHO Configuration=LtcgRelease 38 | msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=x64 %solution% >> %log% 39 | IF errorlevel 1 GOTO error 40 | ECHO Configuration=StaticDebug 41 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 42 | IF errorlevel 1 GOTO error 43 | ECHO Configuration=StaticRelease 44 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 45 | IF errorlevel 1 GOTO error 46 | 47 | ECHO Complete: %solution% 48 | GOTO end 49 | 50 | :error 51 | ECHO *** ERROR, build terminated early, see: %log% 52 | GOTO end 53 | 54 | :no_tools 55 | ECHO *** ERROR, build tools not found: %tools% 56 | 57 | :end 58 | 59 | -------------------------------------------------------------------------------- /props/version4/build/buildbase_static_x64.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Usage: [buildbase.bat ..\vs2013\mysolution.sln 12] 3 | 4 | SET solution=%1 5 | SET version=%2 6 | SET log=build_%version%.log 7 | SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat 8 | IF %version% == 15 SET tools=Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat 9 | SET environment="%programfiles(x86)%\%tools%" 10 | IF NOT EXIST %environment% SET environment="%programfiles%\%tools%" 11 | IF NOT EXIST %environment% GOTO no_tools 12 | 13 | ECHO Building: %solution% 14 | 15 | CALL %environment% x86_amd64 > nul 16 | ECHO Platform=x64 17 | 18 | ECHO Configuration=StaticDebug 19 | msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% 20 | IF errorlevel 1 GOTO error 21 | ECHO Configuration=StaticRelease 22 | msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% 23 | IF errorlevel 1 GOTO error 24 | 25 | ECHO Complete: %solution% 26 | GOTO end 27 | 28 | :error 29 | ECHO *** ERROR, build terminated early, see: %log% 30 | GOTO end 31 | 32 | :no_tools 33 | ECHO *** ERROR, build tools not found: %tools% 34 | 35 | :end 36 | 37 | -------------------------------------------------------------------------------- /props/version4/console/DebugDEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Debug Dynamic 6 | dynamic 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDebugDLL 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version4/console/DebugLEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Debug Link Time Code Generation 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDebug 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version4/console/DebugSEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Debug Static 6 | static 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDebug 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version4/console/EXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Application 6 | true 7 | 8 | 9 | 10 | 11 | _CONSOLE;%(PreprocessorDefinitions) 12 | 13 | 14 | Console 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/console/ReleaseDEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Release Dynamic 6 | dynamic 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreadedDLL 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version4/console/ReleaseLEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Release Link Time Code Generation 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreaded 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version4/console/ReleaseSEXE.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Console Release Static 6 | static 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | MultiThreaded 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-blockchain.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Blockchain Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\include\;%(AdditionalIncludeDirectories) 19 | BCB_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-blockchain.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\obj\libbitcoin-blockchain\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-blockchain\obj\libbitcoin-blockchain\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-blockchain)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-blockchain.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-client.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Client Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\include\;%(AdditionalIncludeDirectories) 19 | BCC_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-client.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-client\obj\libbitcoin-client\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-client)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-client.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-consensus.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Consensus Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\include\;%(AdditionalIncludeDirectories) 19 | _WIN32_WINNT=0x0600;%(PreprocessorDefinitions) 20 | BCK_STATIC;%(PreprocessorDefinitions) 21 | 22 | 23 | libbitcoin-consensus.lib;%(AdditionalDependencies) 24 | 25 | 26 | 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\; 28 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\obj\libbitcoin-consensus\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\;%(AdditionalLibraryDirectories) 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-consensus\obj\libbitcoin-consensus\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-consensus)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-consensus.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-database.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Database Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\include\;%(AdditionalIncludeDirectories) 19 | BCD_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-database.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-database)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\obj\libbitcoin-database\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-database)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-database)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-database\obj\libbitcoin-database\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-database)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-database.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-explorer.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Explorer Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\include\;%(AdditionalIncludeDirectories) 19 | BCX_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-explorer.lib;shlwapi.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-explorer)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\obj\libbitcoin-explorer\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-explorer)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-explorer)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-explorer\obj\libbitcoin-explorer\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-explorer)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-explorer.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-network.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Network Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\include\;%(AdditionalIncludeDirectories) 19 | BCT_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-network.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-network)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\obj\libbitcoin-network\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-network)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-network)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-network\obj\libbitcoin-network\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-network)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-network.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-node.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Node Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\include\;%(AdditionalIncludeDirectories) 19 | BCN_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-node.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-node)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\obj\libbitcoin-node\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-node)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-node)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-node\obj\libbitcoin-node\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-node)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-node.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-protocol.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Protocol Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\include\;%(AdditionalIncludeDirectories) 19 | BCP_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-protocol.lib;%(AdditionalDependencies) 23 | Iphlpapi.lib;%(AdditionalDependencies) 24 | 25 | 26 | 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 28 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 29 | 30 | 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\; 32 | $(ProjectDir)..\..\..\..\..\libbitcoin-protocol\obj\libbitcoin-protocol\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-protocol)\;%(AdditionalLibraryDirectories) 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-protocol.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-server.import.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Server Import Settings 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\include\;%(AdditionalIncludeDirectories) 19 | BCS_STATIC;%(PreprocessorDefinitions) 20 | 21 | 22 | libbitcoin-server.lib;%(AdditionalDependencies) 23 | 24 | 25 | 26 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-server)\; 27 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\obj\libbitcoin-server\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libbitcoin-server)\;%(AdditionalLibraryDirectories) 28 | 29 | 30 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-server)\; 31 | $(ProjectDir)..\..\..\..\..\libbitcoin-server\obj\libbitcoin-server\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libbitcoin-server)\;%(AdditionalLibraryDirectories) 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /props/version4/import/libbitcoin-server.import.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /props/version4/library/DLL.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Dynamic Library 6 | dynamic 7 | .dll 8 | 9 | 10 | 11 | 12 | _DLL;_WINDLL;%(PreprocessorDefinitions) 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /props/version4/library/DebugDLL.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Dynamic Debug Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDebugDLL 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version4/library/DebugLIB.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Debug Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDebug 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version4/library/DebugLTCG.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Debug Link Time Code Generation Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDebug 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version4/library/LIB.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Library 6 | static 7 | .lib 8 | 9 | 10 | 11 | 12 | _LIB;%(PreprocessorDefinitions) 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /props/version4/library/LTCG.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Link Time Code Generation Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /props/version4/library/ReleaseDLL.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Dynamic Release Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreadedDLL 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version4/library/ReleaseLIB.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Release Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreaded 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version4/library/ReleaseLTCG.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Static Release Link Time Code Generation Library 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | MultiThreaded 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /props/version4/nuget.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | -------------------------------------------------------------------------------- /props/version4/project/libbitcoin-database/libbitcoin-database-tools/libbitcoin-database-tools.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Database Tools Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;(AdditionalIncludeDirectories) 15 | false 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | ..\..\..\..\..\.nuget\packages\ 28 | 29 | 30 | 31 | dynamic 32 | dynamic 33 | dynamic 34 | 35 | 36 | ltcg 37 | ltcg 38 | ltcg 39 | 40 | 41 | static 42 | static 43 | static 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /props/version4/project/libbitcoin-database/libbitcoin-database/libbitcoin-database.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Database Library Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;%(AdditionalIncludeDirectories) 15 | false 16 | WITH_CONSENSUS;%(PreprocessorDefinitions) 17 | BCD_DLL;%(PreprocessorDefinitions) 18 | BCD_STATIC;%(PreprocessorDefinitions) 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ..\..\..\..\..\.nuget\packages\ 30 | 31 | 32 | 33 | dynamic 34 | dynamic 35 | 36 | 37 | ltcg 38 | ltcg 39 | 40 | 41 | static 42 | static 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /props/version4/project/libbitcoin-network/libbitcoin-network/libbitcoin-network.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin Network Library Common Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | $(RepoRoot)include\;%(AdditionalIncludeDirectories) 15 | false 16 | BCT_DLL;%(PreprocessorDefinitions) 17 | BCT_STATIC;%(PreprocessorDefinitions) 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ..\..\..\..\..\.nuget\packages\ 29 | 30 | 31 | 32 | dynamic 33 | dynamic 34 | 35 | 36 | ltcg 37 | ltcg 38 | 39 | 40 | static 41 | static 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /props/version4/project/libbitcoin-system/libbitcoin-system-examples/libbitcoin-system-examples.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | <_PropertySheetDisplayName>Libbitcoin System Examples Settings 6 | AllRules.ruleset 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | %(DisableSpecificWarnings) 15 | false 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | ..\..\..\..\..\.nuget\packages\ 27 | 28 | 29 | 30 | dynamic 31 | dynamic 32 | 33 | 34 | ltcg 35 | ltcg 36 | 37 | 38 | static 39 | static 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /props/version4/project/libbitcoin-system/libbitcoin-system-test/libbitcoin-system-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /props/version4/project/libbitcoin-system/libbitcoin-system/libbitcoin-system.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 29 | 30 | -------------------------------------------------------------------------------- /sandbox/sandbox.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | REM Run sandbox code generation scripts, useful for experimenting with GSL. 3 | REM Requires iMatix GSL, from http:\\www.nuget.org\packages\gsl 4 | REM Direct GSL download https://www.nuget.org/api/v2/package/gsl/4.1.0.1 5 | REM Extract gsl.exe from package using NuGet's File > Export 6 | 7 | gsl -q sandbox.xml 8 | PAUSE 9 | -------------------------------------------------------------------------------- /sandbox/sandbox.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /templates/gsl.autogen.sh: -------------------------------------------------------------------------------- 1 | .template 0 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # GSL generate autogen.sh. 6 | # 7 | # This is a code generator built using the iMatix GSL code generation 8 | # language. See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | # Generation 11 | ############################################################################### 12 | .macro generate_autogen(path_prefix) 13 | . for generate.repository by name as _repository 14 | . require(_repository, "repository", "name") 15 | . my.output_path = join(my.path_prefix, canonical_path_name(_repository)) 16 | . create_directory(my.output_path) 17 | . define my.out_file = "$(my.output_path)/autogen.sh" 18 | . notify(my.out_file) 19 | . output(my.out_file) 20 | . 21 | . shebang("sh") 22 | . copyleft(_repository.name) 23 | 24 | autoreconf -i 25 | . 26 | . close 27 | . endfor _repository 28 | .endmacro # generate_autogen 29 | .endtemplate 30 | .template 0 31 | ############################################################################### 32 | # Execution 33 | ############################################################################### 34 | [global].root = ".." 35 | [global].trace = 0 36 | [gsl].ignorecase = 0 37 | 38 | # Note: expected context root libbitcoin-build directory 39 | gsl from "library/math.gsl" 40 | gsl from "library/string.gsl" 41 | gsl from "library/collections.gsl" 42 | gsl from "utilities.gsl" 43 | 44 | generate_autogen("output") 45 | 46 | .endtemplate 47 | -------------------------------------------------------------------------------- /templates/gsl.debug.natvis: -------------------------------------------------------------------------------- 1 | .template 0 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # GSL generate debug.natvis. 6 | # 7 | # This is a code generator built using the iMatix GSL code generation 8 | # language. See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | # Generation 11 | ############################################################################### 12 | .macro generate_natvis(path_prefix) 13 | . for generate.repository by name as _repository 14 | . require(_repository, "repository", "name") 15 | . my.output_path = join(my.path_prefix, canonical_path_name(_repository)) 16 | . create_directory(my.output_path) 17 | . define my.out_file = "$(my.output_path)/builds/msvc/debug.natvis" 18 | . notify(my.out_file) 19 | . output(my.out_file) 20 | . 21 | 22 | . xml_copyleft(_repository.name) 23 | 24 | 25 | 26 | 27 | { m_backend } 28 | 29 | 30 | 31 | 32 | { m_data } 33 | 34 | 35 | 36 | . endfor _repository 37 | .endmacro # generate_natvis 38 | .endtemplate 39 | .template 0 40 | ############################################################################### 41 | # Execution 42 | ############################################################################### 43 | [global].root = ".." 44 | [global].trace = 0 45 | [gsl].ignorecase = 0 46 | 47 | # Note: expected context root libbitcoin-build directory 48 | gsl from "library/math.gsl" 49 | gsl from "library/string.gsl" 50 | gsl from "library/collections.gsl" 51 | gsl from "utilities.gsl" 52 | 53 | generate_natvis("output") 54 | 55 | .endtemplate -------------------------------------------------------------------------------- /templates/gsl.interface.swg: -------------------------------------------------------------------------------- 1 | .template 0 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # GSL generate libbitcoin interface.swg. 6 | # 7 | # This is a code generator built using the iMatix GSL code generation 8 | # language. See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | # Functions 11 | ############################################################################### 12 | 13 | ############################################################################### 14 | # Macros 15 | ############################################################################### 16 | .endtemplate 17 | .template 1 18 | . 19 | .endtemplate 20 | .template 0 21 | ############################################################################### 22 | # Generation 23 | ############################################################################### 24 | function generate_interface(path_prefix) 25 | for generate.repository by name as _repository 26 | define my.library = bitcoin_to_include(_repository.name) 27 | require(_repository, "repository", "name") 28 | my.output_path = join(path_prefix, _repository.name) 29 | define my.path = join(my.output_path, "bindings") 30 | create_directory(my.path) 31 | define my.out_file = "$(my.path)/$(my.library).swg" 32 | notify(my.out_file) 33 | output(my.out_file) 34 | 35 | c_copyleft(_repository.name) 36 | 37 | write_line("// TODO: populate interface from headers.") 38 | 39 | close 40 | endfor _repository 41 | endfunction # generate_interface 42 | endtemplate 43 | .template 0 44 | ############################################################################### 45 | # Execution 46 | ############################################################################### 47 | [global].root = ".." 48 | [global].trace = 0 49 | [gsl].ignorecase = 0 50 | 51 | # Note: expected context root libbitcoin-build directory 52 | gsl from "library/math.gsl" 53 | gsl from "library/string.gsl" 54 | gsl from "library/collections.gsl" 55 | gsl from "utilities.gsl" 56 | 57 | generate_interface("output") 58 | 59 | .endtemplate 60 | -------------------------------------------------------------------------------- /templates/gsl.vscode.settings.json: -------------------------------------------------------------------------------- 1 | .template 0 2 | ############################################################################### 3 | # Copyright (c) 2014-2025 libbitcoin developers (see COPYING). 4 | # 5 | # GSL generate libbitcoin .vscode/settings.json. 6 | # 7 | # This is a code generator built using the iMatix GSL code generation 8 | # language. See https://github.com/imatix/gsl for details. 9 | ############################################################################### 10 | # Functions 11 | ############################################################################### 12 | 13 | function workflow_relative_path(repository, path_prefix) 14 | define my.repository = workflow_relative_path.repository 15 | require(my.repository, "repository", "name") 16 | define my.subpath = ".vscode" 17 | return append_path(append_path(my.path_prefix,\ 18 | canonical_path_name(my.repository)), my.subpath) 19 | endfunction 20 | 21 | # Generation 22 | ############################################################################### 23 | .endtemplate 24 | .template 1 25 | .macro generate_vscode_settings_json(path_prefix) 26 | .for generate.repository by name as _repository 27 | . require(_repository, "repository", "name") 28 | . my.absolute_path = join(join(global.root, my.path_prefix), _repository.name) 29 | . my.output_path = workflow_relative_path(_repository, my.path_prefix) 30 | . create_directory(my.output_path) 31 | . define my.out_file = "$(my.output_path)/settings.json" 32 | . notify(my.out_file) 33 | . output(my.out_file) 34 | { 35 | "cmake.sourceDirectory": "${workspaceFolder}/builds/cmake", 36 | "cmake.useCMakePresets": "always" 37 | } 38 | . 39 | . close 40 | .endfor _repository 41 | .endmacro # generate_vscode_settings_json 42 | .endtemplate 43 | .template 0 44 | ############################################################################### 45 | # Execution 46 | ############################################################################### 47 | [global].root = ".." 48 | [global].trace = 0 49 | [gsl].ignorecase = 0 50 | 51 | # Note: expected context root libbitcoin-build directory 52 | gsl from "library/math.gsl" 53 | gsl from "library/string.gsl" 54 | gsl from "library/collections.gsl" 55 | gsl from "utilities.gsl" 56 | 57 | generate_vscode_settings_json("output") 58 | 59 | .endtemplate 60 | --------------------------------------------------------------------------------