diff --git a/builds/cmake/CMakeLists.txt b/builds/cmake/CMakeLists.txt index 63b1fe9b..0fb4fa03 100644 --- a/builds/cmake/CMakeLists.txt +++ b/builds/cmake/CMakeLists.txt @@ -76,10 +76,6 @@ if ( MSVC ) set( CMAKE_SHARED_LIBRARY_PREFIX "lib" ) endif() -include(CheckCCompilerFlag) -include(CheckCXXCompilerFlag) -include(CheckCXXSourceCompiles) - #------------------------------------------------------------------------------ # Project options. #------------------------------------------------------------------------------ @@ -106,13 +102,12 @@ set( libbitcoin_network_VERSION ${libbitcoin-network_VERSION} ) find_package( Boost 1.86.0 REQUIRED ) -#------------------------------------------------------------------------------ -# Architecture options. -#------------------------------------------------------------------------------ - #------------------------------------------------------------------------------ # Compiler options. #------------------------------------------------------------------------------ +include(CheckCCompilerFlag) +include(CheckCXXCompilerFlag) +include(CheckCXXSourceCompiles) check_cxx_compiler_flag( "-Wall" HAS_FLAG_WALL ) if ( !HAS_FLAG_WALL ) diff --git a/builds/cmake/install-cmake.sh b/builds/cmake/install-cmake.sh index cc702a91..108fcd58 100755 --- a/builds/cmake/install-cmake.sh +++ b/builds/cmake/install-cmake.sh @@ -493,14 +493,12 @@ main() libbitcoin_system_FLAGS=() libbitcoin_system_OPTIONS=( - "-Dwith-tests:BOOL=OFF" - "-Dwith-examples:BOOL=OFF") + "-Dwith-tests:BOOL=OFF") libbitcoin_database_FLAGS=() libbitcoin_database_OPTIONS=( - "-Dwith-tests:BOOL=OFF" - "-Dwith-tools:BOOL=OFF") + "-Dwith-tests:BOOL=OFF") libbitcoin_network_FLAGS=() diff --git a/builds/cmake/install-presets.sh b/builds/cmake/install-presets.sh index dbe8ac51..ddc80b12 100755 --- a/builds/cmake/install-presets.sh +++ b/builds/cmake/install-presets.sh @@ -509,14 +509,12 @@ main() libbitcoin_system_FLAGS=() libbitcoin_system_OPTIONS=( - "-Dwith-tests:BOOL=OFF" - "-Dwith-examples:BOOL=OFF") + "-Dwith-tests:BOOL=OFF") libbitcoin_database_FLAGS=() libbitcoin_database_OPTIONS=( - "-Dwith-tests:BOOL=OFF" - "-Dwith-tools:BOOL=OFF") + "-Dwith-tests:BOOL=OFF") libbitcoin_network_FLAGS=() diff --git a/builds/gnu/install-gnu.sh b/builds/gnu/install-gnu.sh index 8f9a4837..67ef8f0a 100755 --- a/builds/gnu/install-gnu.sh +++ b/builds/gnu/install-gnu.sh @@ -525,7 +525,6 @@ main() libbitcoin_system_OPTIONS=( "--without-tests" - "--without-examples" "${with_boost}" "${with_pkgconfigdir}") @@ -533,7 +532,6 @@ main() libbitcoin_database_OPTIONS=( "--without-tests" - "--without-tools" "${with_boost}" "${with_pkgconfigdir}") diff --git a/builds/msvc/build-msvc.cmd b/builds/msvc/build-msvc.cmd index e3587681..3a8f4e3a 100644 --- a/builds/msvc/build-msvc.cmd +++ b/builds/msvc/build-msvc.cmd @@ -163,10 +163,8 @@ if "!libbitcoin_node_TAG!" == "" ( ) set "REMAPPED_PARAMS=!REMAPPED_PARAMS! !libbitcoin-system_PARAMS!" - set "REMAPPED_PARAMS=!REMAPPED_PARAMS! !libbitcoin-system-examples_PARAMS!" set "REMAPPED_PARAMS=!REMAPPED_PARAMS! !libbitcoin-system-test_PARAMS!" set "REMAPPED_PARAMS=!REMAPPED_PARAMS! !libbitcoin-database_PARAMS!" - set "REMAPPED_PARAMS=!REMAPPED_PARAMS! !libbitcoin-database-tools_PARAMS!" set "REMAPPED_PARAMS=!REMAPPED_PARAMS! !libbitcoin-database-test_PARAMS!" set "REMAPPED_PARAMS=!REMAPPED_PARAMS! !libbitcoin-network_PARAMS!" set "REMAPPED_PARAMS=!REMAPPED_PARAMS! !libbitcoin-network-test_PARAMS!" diff --git a/include/bitcoin/node/define.hpp b/include/bitcoin/node/define.hpp index 7402895a..4fdc3127 100644 --- a/include/bitcoin/node/define.hpp +++ b/include/bitcoin/node/define.hpp @@ -76,28 +76,3 @@ using type_id = network::messages::peer::inventory_item::type_id; } // namespace libbitcoin #endif - -// define.hpp is the common include for /node. -// All non-node headers include define.hpp. -// Node inclusions are chained as follows. - -// version : -// error : version -// events : error -// chase : events -// define : chase - -// Other directory common includes are not internally chained. -// Each header includes only its required common headers. - -// estimator : define -// settings : define -// configuration : define settings -// parser : define configuration -// /chasers : define configuration estimator [forward: full_node] -// /channels : define configuration -// full_node : define estimator /chasers -// session : define estimator [forward: full_node] -// /messages : define -// /protocols : define estimator /channels [session.hpp] -// /sessions : define /protocols [forward: full_node] \ No newline at end of file diff --git a/src/define.cpp b/src/define.cpp new file mode 100644 index 00000000..329eac31 --- /dev/null +++ b/src/define.cpp @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2011-2026 libbitcoin developers + * + * This file is part of libbitcoin. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +#include + +// define.hpp is the common include for /node. +// All non-node headers include define.hpp. +// Node inclusions are chained as follows. + +// version : +// error : version +// events : error +// chase : events +// define : chase + +// Other directory common includes are not internally chained. +// Each header includes only its required common headers. + +// block_arena : define +// block_memory : block_arena +// settings : define +// configuration : settings +// estimator : define +// /chasers : configuration estimator [forward: full_node] +// /channels : configuration +// /protocols : /channels /chasers [sessions/session.hpp] +// /sessions : /protocols [forward: full_node] +// full_node : /sessions + +// When a symbol is unexplainably undefined, its defining include is probably +// creating the circularity.