aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2024-02-20 13:00:15 +0000
committerfanquake <fanquake@gmail.com>2024-02-20 13:07:48 +0000
commit45b2a91897ca8f4a3e0c1adcfb30cf570971da4e (patch)
tree7b58f09aa4ba5cb7858bce295c594dcb6c41cc32 /src
parentd301c99554c4767663ac1c8e8f48e63c06502650 (diff)
parent9d1dbbd4ceb8c04340927f5127195dc306adf3fc (diff)
downloadbitcoin-45b2a91897ca8f4a3e0c1adcfb30cf570971da4e.tar.xz
Merge bitcoin/bitcoin#29404: refactor: bitcoin-config.h includes cleanup
9d1dbbd4ceb8c04340927f5127195dc306adf3fc scripted-diff: Fix bitcoin_config_h includes (TheCharlatan) Pull request description: As mentioned in https://github.com/bitcoin/bitcoin/pull/26924#issuecomment-1403449932 and https://github.com/bitcoin/bitcoin/pull/29263#issuecomment-1922334399, it is currently not safe to remove `bitcoin-config.h` includes from headers because some unrelated file might be depending on it. See also #26972 for discussion. Solve this by including the file directly everywhere it's required, regardless of whether or not it's already included by another header. There should be no functional change here, but it will allow us to safely remove includes from headers in the future. ~I'm afraid it's a bit tedious to reproduce these commits, but it's reasonably straightforward:~ Edit: See note below ```bash # All commands executed from the src/ subdir. # Collect all tokens from bitcoin-config.h.in # Isolate the tokens and remove blank lines # Replace newlines with | and remove the last trailing one # Collect all files which use these tokens # Filter out subprojects (proper forwarding can be verified from Makefiles) # Filter out .rc files # Save to a text file git grep -E -l `grep undef config/bitcoin-config.h.in | cut -d" " -f2 | grep -v '^$' | tr '\n' '|' | sed 's/|$//'` | grep -v -e "^leveldb/" -e "^secp256k1/" -e "^crc32c/" -e "^minisketch/" -e "^Makefile" -e "\.rc$" > files-with-config-include.txt # Find all files from the above list which don't include bitcoin-config.h git grep -L -E "config/bitcoin-config.h" -- `cat files-with-config-include.txt` # Include them manually with the exception of some files in crypto: # crypto/sha256_arm_shani.cpp crypto/sha256_avx2.cpp crypto/sha256_sse41.cpp crypto/sha256_x86_shani.cpp # These are exceptions which don't use bitcoin-config.h, rather the Makefile.am adds these cppflags manually. # Commit changes. This should match the first commit of this PR. # Use the same search as above to find all files which DON'T use any config tokens git grep -E -L `grep undef config/bitcoin-config.h.in | cut -d" " -f2 | grep -v '^$' | tr '\n' '|' | sed 's/|$//'` | grep -v -e "^leveldb/" -e "^secp256k1/" -e "^crc32c/" -e "^minisketch/" -e "^Makefile" -e "\.rc$" > files-without-config-include.txt # Manually remove the includes and commit changes. This should match the second commit of this PR. ``` Edit: I'll keep this old description for posterity, but the manual approach has been replaced with a scripted diff from TheCharlatan ACKs for top commit: maflcko: ACK 9d1dbbd4ceb8c04340927f5127195dc306adf3f 🚪 TheCharlatan: ACK 9d1dbbd4ceb8c04340927f5127195dc306adf3fc hebasto: ACK 9d1dbbd4ceb8c04340927f5127195dc306adf3fc, I have reviewed the code and it looks OK. fanquake: ACK 9d1dbbd4ceb8c04340927f5127195dc306adf3fc Tree-SHA512: f11ddc4ae6a887f96b954a6b77f310558ddb271088a3fda3edc833669c4251b7f392515224bbb8e5f67eb2c799b4ffed3b07d96454e82ec635c686d0df545872
Diffstat (limited to 'src')
-rw-r--r--src/addrdb.cpp4
-rw-r--r--src/addrman.cpp4
-rw-r--r--src/bench/verify_script.cpp4
-rw-r--r--src/bench/wallet_create.cpp4
-rw-r--r--src/bench/wallet_loading.cpp4
-rw-r--r--src/clientversion.cpp4
-rw-r--r--src/common/system.cpp4
-rw-r--r--src/compat/compat.h4
-rw-r--r--src/crypto/chacha20poly1305.cpp4
-rw-r--r--src/crypto/muhash.h4
-rw-r--r--src/crypto/sha256.cpp4
-rw-r--r--src/netaddress.h4
-rw-r--r--src/netbase.h4
-rw-r--r--src/qt/addressbookpage.cpp4
-rw-r--r--src/qt/askpassphrasedialog.cpp4
-rw-r--r--src/qt/bitcoingui.cpp4
-rw-r--r--src/qt/clientmodel.cpp4
-rw-r--r--src/qt/coincontroldialog.cpp4
-rw-r--r--src/qt/guiutil.cpp4
-rw-r--r--src/qt/modaloverlay.cpp4
-rw-r--r--src/qt/notificator.cpp4
-rw-r--r--src/qt/paymentserver.cpp4
-rw-r--r--src/qt/paymentserver.h4
-rw-r--r--src/qt/sendcoinsentry.cpp4
-rw-r--r--src/qt/sendcoinsrecipient.h4
-rw-r--r--src/qt/test/apptests.cpp4
-rw-r--r--src/qt/test/optiontests.cpp4
-rw-r--r--src/qt/transactiondesc.cpp4
-rw-r--r--src/qt/walletmodel.cpp4
-rw-r--r--src/qt/walletmodel.h4
-rw-r--r--src/qt/walletmodeltransaction.cpp4
-rw-r--r--src/random.cpp4
-rw-r--r--src/rest.cpp4
-rw-r--r--src/rpc/external_signer.cpp4
-rw-r--r--src/rpc/mining.cpp4
-rw-r--r--src/rpc/node.cpp4
-rw-r--r--src/rpc/register.h4
-rw-r--r--src/rpc/server.cpp4
-rw-r--r--src/rpc/util.cpp4
-rw-r--r--src/serialize.h4
-rw-r--r--src/support/lockedpool.cpp4
-rw-r--r--src/sync.cpp4
-rw-r--r--src/test/script_tests.cpp4
-rw-r--r--src/test/system_tests.cpp4
-rw-r--r--src/test/util/setup_common.cpp4
-rw-r--r--src/validation.cpp4
-rw-r--r--src/validation.h4
-rw-r--r--src/wallet/init.cpp4
-rw-r--r--src/wallet/rpc/addresses.cpp4
-rw-r--r--src/wallet/rpc/backup.cpp4
-rw-r--r--src/wallet/rpc/wallet.cpp4
-rw-r--r--src/wallet/sqlite.cpp4
-rw-r--r--src/wallet/test/db_tests.cpp4
-rw-r--r--src/wallet/test/util.h4
-rw-r--r--src/wallet/walletdb.cpp4
-rw-r--r--src/warnings.cpp4
56 files changed, 148 insertions, 76 deletions
diff --git a/src/addrdb.cpp b/src/addrdb.cpp
index 8cf932bcb6..fd2a363b8a 100644
--- a/src/addrdb.cpp
+++ b/src/addrdb.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <addrdb.h>
#include <addrman.h>
diff --git a/src/addrman.cpp b/src/addrman.cpp
index 5b2375bc9a..ef8ed92bb5 100644
--- a/src/addrman.cpp
+++ b/src/addrman.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <addrman.h>
#include <addrman_impl.h>
diff --git a/src/bench/verify_script.cpp b/src/bench/verify_script.cpp
index 3682b33518..e7166a91cf 100644
--- a/src/bench/verify_script.cpp
+++ b/src/bench/verify_script.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <bench/bench.h>
#include <key.h>
#if defined(HAVE_CONSENSUS_LIB)
diff --git a/src/bench/wallet_create.cpp b/src/bench/wallet_create.cpp
index 993c4c4b3f..32f55f51e1 100644
--- a/src/bench/wallet_create.cpp
+++ b/src/bench/wallet_create.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or https://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <bench/bench.h>
#include <node/context.h>
#include <random.h>
diff --git a/src/bench/wallet_loading.cpp b/src/bench/wallet_loading.cpp
index b17c7fe05a..6305126c7d 100644
--- a/src/bench/wallet_loading.cpp
+++ b/src/bench/wallet_loading.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <bench/bench.h>
#include <interfaces/chain.h>
#include <node/context.h>
diff --git a/src/clientversion.cpp b/src/clientversion.cpp
index e7d63e34c6..bf5579ee69 100644
--- a/src/clientversion.cpp
+++ b/src/clientversion.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <clientversion.h>
#include <util/translation.h>
diff --git a/src/common/system.cpp b/src/common/system.cpp
index ba42c6df50..1fa53a5f34 100644
--- a/src/common/system.cpp
+++ b/src/common/system.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <common/system.h>
#include <logging.h>
diff --git a/src/compat/compat.h b/src/compat/compat.h
index 435a403552..9ff9a335f8 100644
--- a/src/compat/compat.h
+++ b/src/compat/compat.h
@@ -6,10 +6,6 @@
#ifndef BITCOIN_COMPAT_COMPAT_H
#define BITCOIN_COMPAT_COMPAT_H
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
// Windows defines FD_SETSIZE to 64 (see _fd_types.h in mingw-w64),
// which is too small for our usage, but allows us to redefine it safely.
// We redefine it to be 1024, to match glibc, see typesizes.h.
diff --git a/src/crypto/chacha20poly1305.cpp b/src/crypto/chacha20poly1305.cpp
index 59671d304c..3e8051c2dc 100644
--- a/src/crypto/chacha20poly1305.cpp
+++ b/src/crypto/chacha20poly1305.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <crypto/chacha20poly1305.h>
#include <crypto/common.h>
diff --git a/src/crypto/muhash.h b/src/crypto/muhash.h
index 53c5a91a03..cb53e1743e 100644
--- a/src/crypto/muhash.h
+++ b/src/crypto/muhash.h
@@ -5,10 +5,6 @@
#ifndef BITCOIN_CRYPTO_MUHASH_H
#define BITCOIN_CRYPTO_MUHASH_H
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <serialize.h>
#include <uint256.h>
diff --git a/src/crypto/sha256.cpp b/src/crypto/sha256.cpp
index 11aabeb1da..36ef6d9a1a 100644
--- a/src/crypto/sha256.cpp
+++ b/src/crypto/sha256.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <crypto/sha256.h>
#include <crypto/common.h>
diff --git a/src/netaddress.h b/src/netaddress.h
index 0bbde43dd7..c697b7e0a3 100644
--- a/src/netaddress.h
+++ b/src/netaddress.h
@@ -5,10 +5,6 @@
#ifndef BITCOIN_NETADDRESS_H
#define BITCOIN_NETADDRESS_H
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <compat/compat.h>
#include <crypto/siphash.h>
#include <prevector.h>
diff --git a/src/netbase.h b/src/netbase.h
index 8523f59b4d..1bd95ba0d9 100644
--- a/src/netbase.h
+++ b/src/netbase.h
@@ -5,10 +5,6 @@
#ifndef BITCOIN_NETBASE_H
#define BITCOIN_NETBASE_H
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <compat/compat.h>
#include <netaddress.h>
#include <serialize.h>
diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp
index 05e58191fc..f2f9371c65 100644
--- a/src/qt/addressbookpage.cpp
+++ b/src/qt/addressbookpage.cpp
@@ -2,10 +2,6 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <qt/addressbookpage.h>
#include <qt/forms/ui_addressbookpage.h>
diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp
index 246dff0069..a4771bbb82 100644
--- a/src/qt/askpassphrasedialog.cpp
+++ b/src/qt/askpassphrasedialog.cpp
@@ -2,10 +2,6 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <qt/askpassphrasedialog.h>
#include <qt/forms/ui_askpassphrasedialog.h>
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 3e177af53c..ad80922c8b 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <qt/bitcoingui.h>
#include <qt/bitcoinunits.h>
diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp
index ff7405d139..c31e06e88e 100644
--- a/src/qt/clientmodel.cpp
+++ b/src/qt/clientmodel.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <qt/clientmodel.h>
#include <qt/bantablemodel.h>
diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp
index 9e49fd87fb..5e412bd6b1 100644
--- a/src/qt/coincontroldialog.cpp
+++ b/src/qt/coincontroldialog.cpp
@@ -2,10 +2,6 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <qt/coincontroldialog.h>
#include <qt/forms/ui_coincontroldialog.h>
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index ebfd14cc25..084b9a6615 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <qt/guiutil.h>
#include <qt/bitcoinaddressvalidator.h>
diff --git a/src/qt/modaloverlay.cpp b/src/qt/modaloverlay.cpp
index b09e230bce..667db06574 100644
--- a/src/qt/modaloverlay.cpp
+++ b/src/qt/modaloverlay.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <qt/modaloverlay.h>
#include <qt/forms/ui_modaloverlay.h>
diff --git a/src/qt/notificator.cpp b/src/qt/notificator.cpp
index 88bc33098a..2021e5f9dc 100644
--- a/src/qt/notificator.cpp
+++ b/src/qt/notificator.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <qt/notificator.h>
#include <QApplication>
diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp
index 592e591edb..d4c325b7b1 100644
--- a/src/qt/paymentserver.cpp
+++ b/src/qt/paymentserver.cpp
@@ -2,10 +2,6 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <qt/paymentserver.h>
#include <qt/bitcoinunits.h>
diff --git a/src/qt/paymentserver.h b/src/qt/paymentserver.h
index f73aa1e61e..b9ea97d5ec 100644
--- a/src/qt/paymentserver.h
+++ b/src/qt/paymentserver.h
@@ -32,10 +32,6 @@
// sends them to the server.
//
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <qt/sendcoinsrecipient.h>
#include <QObject>
diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp
index 0536635c84..d8102c1dca 100644
--- a/src/qt/sendcoinsentry.cpp
+++ b/src/qt/sendcoinsentry.cpp
@@ -2,10 +2,6 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <qt/sendcoinsentry.h>
#include <qt/forms/ui_sendcoinsentry.h>
diff --git a/src/qt/sendcoinsrecipient.h b/src/qt/sendcoinsrecipient.h
index 787a52b8b3..aa2ea0498e 100644
--- a/src/qt/sendcoinsrecipient.h
+++ b/src/qt/sendcoinsrecipient.h
@@ -5,10 +5,6 @@
#ifndef BITCOIN_QT_SENDCOINSRECIPIENT_H
#define BITCOIN_QT_SENDCOINSRECIPIENT_H
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <consensus/amount.h>
#include <serialize.h>
diff --git a/src/qt/test/apptests.cpp b/src/qt/test/apptests.cpp
index 9007b183aa..10abcb00eb 100644
--- a/src/qt/test/apptests.cpp
+++ b/src/qt/test/apptests.cpp
@@ -14,10 +14,6 @@
#include <test/util/setup_common.h>
#include <validation.h>
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <QAction>
#include <QLineEdit>
#include <QRegularExpression>
diff --git a/src/qt/test/optiontests.cpp b/src/qt/test/optiontests.cpp
index 7100603616..b76e9ef499 100644
--- a/src/qt/test/optiontests.cpp
+++ b/src/qt/test/optiontests.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <common/args.h>
#include <init.h>
#include <qt/bitcoin.h>
diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp
index a916e4ead6..b848b8fe94 100644
--- a/src/qt/transactiondesc.cpp
+++ b/src/qt/transactiondesc.cpp
@@ -2,10 +2,6 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#ifdef HAVE_CONFIG_H
-#include <config/bitcoin-config.h>
-#endif
-
#include <qt/transactiondesc.h>
#include <qt/bitcoinunits.h>
diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp
index c2da76fc15..1bdf94d3b5 100644
--- a/src/qt/walletmodel.cpp
+++ b/src/qt/walletmodel.cpp
@@ -2,10 +2,6 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <qt/walletmodel.h>
#include <qt/addresstablemodel.h>
diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h
index 68218b0c1b..503ee16823 100644
--- a/src/qt/walletmodel.h
+++ b/src/qt/walletmodel.h
@@ -5,10 +5,6 @@
#ifndef BITCOIN_QT_WALLETMODEL_H
#define BITCOIN_QT_WALLETMODEL_H
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <key.h>
#include <qt/walletmodeltransaction.h>
diff --git a/src/qt/walletmodeltransaction.cpp b/src/qt/walletmodeltransaction.cpp
index 61ccd9dd82..8222672bf3 100644
--- a/src/qt/walletmodeltransaction.cpp
+++ b/src/qt/walletmodeltransaction.cpp
@@ -2,10 +2,6 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#ifdef HAVE_CONFIG_H
-#include <config/bitcoin-config.h>
-#endif
-
#include <qt/walletmodeltransaction.h>
#include <policy/policy.h>
diff --git a/src/random.cpp b/src/random.cpp
index ce4266a567..4fc9099704 100644
--- a/src/random.cpp
+++ b/src/random.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <random.h>
#include <compat/compat.h>
diff --git a/src/rest.cpp b/src/rest.cpp
index fbbf6cfa84..91184745c8 100644
--- a/src/rest.cpp
+++ b/src/rest.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <rest.h>
#include <blockfilter.h>
diff --git a/src/rpc/external_signer.cpp b/src/rpc/external_signer.cpp
index 310eec5f15..8d06ae4258 100644
--- a/src/rpc/external_signer.cpp
+++ b/src/rpc/external_signer.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <common/args.h>
#include <common/system.h>
#include <external_signer.h>
diff --git a/src/rpc/mining.cpp b/src/rpc/mining.cpp
index f1abfb6396..ff39a31a43 100644
--- a/src/rpc/mining.cpp
+++ b/src/rpc/mining.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <chain.h>
#include <chainparams.h>
#include <common/system.h>
diff --git a/src/rpc/node.cpp b/src/rpc/node.cpp
index b085828215..45053f882d 100644
--- a/src/rpc/node.cpp
+++ b/src/rpc/node.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <chainparams.h>
#include <httpserver.h>
#include <index/blockfilterindex.h>
diff --git a/src/rpc/register.h b/src/rpc/register.h
index c88f49ecf0..fd23dde75b 100644
--- a/src/rpc/register.h
+++ b/src/rpc/register.h
@@ -5,6 +5,10 @@
#ifndef BITCOIN_RPC_REGISTER_H
#define BITCOIN_RPC_REGISTER_H
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
/** These are in one header file to avoid creating tons of single-function
* headers for everything under src/rpc/ */
class CRPCTable;
diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp
index e1ac510cba..e7d1e3db4e 100644
--- a/src/rpc/server.cpp
+++ b/src/rpc/server.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <rpc/server.h>
#include <common/args.h>
diff --git a/src/rpc/util.cpp b/src/rpc/util.cpp
index a64ec133cf..51c88cc1ba 100644
--- a/src/rpc/util.cpp
+++ b/src/rpc/util.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <clientversion.h>
#include <core_io.h>
#include <common/args.h>
diff --git a/src/serialize.h b/src/serialize.h
index a0b012b25c..7b336ce1af 100644
--- a/src/serialize.h
+++ b/src/serialize.h
@@ -6,6 +6,10 @@
#ifndef BITCOIN_SERIALIZE_H
#define BITCOIN_SERIALIZE_H
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <attributes.h>
#include <compat/assumptions.h> // IWYU pragma: keep
#include <compat/endian.h>
diff --git a/src/support/lockedpool.cpp b/src/support/lockedpool.cpp
index f92d1d8fb7..fe3ba38cde 100644
--- a/src/support/lockedpool.cpp
+++ b/src/support/lockedpool.cpp
@@ -5,10 +5,6 @@
#include <support/lockedpool.h>
#include <support/cleanse.h>
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#ifdef WIN32
#include <windows.h>
#else
diff --git a/src/sync.cpp b/src/sync.cpp
index 58752a9f18..a8bdfc1dea 100644
--- a/src/sync.cpp
+++ b/src/sync.cpp
@@ -2,10 +2,6 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <sync.h>
#include <logging.h>
diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp
index 1f674408b2..ac457d9c77 100644
--- a/src/test/script_tests.cpp
+++ b/src/test/script_tests.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <test/data/script_tests.json.h>
#include <test/data/bip341_wallet_vectors.json.h>
diff --git a/src/test/system_tests.cpp b/src/test/system_tests.cpp
index 6a96b60db0..76a8f80ba1 100644
--- a/src/test/system_tests.cpp
+++ b/src/test/system_tests.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
//
+
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
#include <test/util/setup_common.h>
#include <common/run_command.h>
#include <univalue.h>
diff --git a/src/test/util/setup_common.cpp b/src/test/util/setup_common.cpp
index 9f587d7ec0..1f8dbac5be 100644
--- a/src/test/util/setup_common.cpp
+++ b/src/test/util/setup_common.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <test/util/setup_common.h>
#include <kernel/validation_cache_sizes.h>
diff --git a/src/validation.cpp b/src/validation.cpp
index 0552bde665..81a3c35864 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <validation.h>
#include <arith_uint256.h>
diff --git a/src/validation.h b/src/validation.h
index fd9b53df8f..94765bfbcd 100644
--- a/src/validation.h
+++ b/src/validation.h
@@ -6,10 +6,6 @@
#ifndef BITCOIN_VALIDATION_H
#define BITCOIN_VALIDATION_H
-#if defined(HAVE_CONFIG_H)
-#include <config/bitcoin-config.h>
-#endif
-
#include <arith_uint256.h>
#include <attributes.h>
#include <chain.h>
diff --git a/src/wallet/init.cpp b/src/wallet/init.cpp
index 088343458c..f151fad740 100644
--- a/src/wallet/init.cpp
+++ b/src/wallet/init.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <common/args.h>
#include <init.h>
#include <interfaces/chain.h>
diff --git a/src/wallet/rpc/addresses.cpp b/src/wallet/rpc/addresses.cpp
index e9b93afc30..acaa2d8b15 100644
--- a/src/wallet/rpc/addresses.cpp
+++ b/src/wallet/rpc/addresses.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <core_io.h>
#include <key_io.h>
#include <rpc/util.h>
diff --git a/src/wallet/rpc/backup.cpp b/src/wallet/rpc/backup.cpp
index 873ebcadfd..5167e986b1 100644
--- a/src/wallet/rpc/backup.cpp
+++ b/src/wallet/rpc/backup.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <chain.h>
#include <clientversion.h>
#include <core_io.h>
diff --git a/src/wallet/rpc/wallet.cpp b/src/wallet/rpc/wallet.cpp
index b57571fb03..6a8ce954fb 100644
--- a/src/wallet/rpc/wallet.cpp
+++ b/src/wallet/rpc/wallet.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <core_io.h>
#include <key_io.h>
#include <rpc/server.h>
diff --git a/src/wallet/sqlite.cpp b/src/wallet/sqlite.cpp
index 2cbeedbde6..34f18bf0b1 100644
--- a/src/wallet/sqlite.cpp
+++ b/src/wallet/sqlite.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <wallet/sqlite.h>
#include <chainparams.h>
diff --git a/src/wallet/test/db_tests.cpp b/src/wallet/test/db_tests.cpp
index c933366354..f783424df8 100644
--- a/src/wallet/test/db_tests.cpp
+++ b/src/wallet/test/db_tests.cpp
@@ -2,6 +2,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <boost/test/unit_test.hpp>
#include <test/util/setup_common.h>
diff --git a/src/wallet/test/util.h b/src/wallet/test/util.h
index 8bd238648f..9f2974ece6 100644
--- a/src/wallet/test/util.h
+++ b/src/wallet/test/util.h
@@ -5,6 +5,10 @@
#ifndef BITCOIN_WALLET_TEST_UTIL_H
#define BITCOIN_WALLET_TEST_UTIL_H
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <addresstype.h>
#include <wallet/db.h>
diff --git a/src/wallet/walletdb.cpp b/src/wallet/walletdb.cpp
index 3ebe4ee7c9..b1ce7ee4e7 100644
--- a/src/wallet/walletdb.cpp
+++ b/src/wallet/walletdb.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <wallet/walletdb.h>
#include <common/system.h>
diff --git a/src/warnings.cpp b/src/warnings.cpp
index cb73c7aea2..84b021dad5 100644
--- a/src/warnings.cpp
+++ b/src/warnings.cpp
@@ -3,6 +3,10 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#if defined(HAVE_CONFIG_H)
+#include <config/bitcoin-config.h>
+#endif
+
#include <warnings.h>
#include <common/system.h>