bitcoin/src
merge-script 24817e8b15
Merge bitcoin/bitcoin#30814: kernel: Create usable static kernel library
0dd16d7118 build: Add a pkg-config file for libbitcoinkernel (TheCharlatan)
45be32f838 build: Produce a usable static kernel library (TheCharlatan)

Pull request description:

  Since the move to cmake, the kernel static library that is installed after a cmake --install build is unusable. It lacks symbols for the internal libraries, besides those defined in the kernel library target.

  Fix this by explicitly installing all the required internal static libraries. To make usage of these installed libraries easy, add a pkg-config file that can be used during linking.

  This patch can be tested with:

  ```
  cmake -B build -DBUILD_SHARED_LIBS=OFF -DBUILD_KERNEL_LIB=ON
  cmake --build build
  cmake --install build
  g++ -std=c++20 -o test_chainstate src/bitcoin-chainstate.cpp -I/home/drgrid/bitcoin/src $(pkg-config --libs --static libbitcoinkernel)
  ```

  Attempts to solve #30801

ACKs for top commit:
  hebasto:
    ACK 0dd16d7118.
  fanquake:
    ACK 0dd16d7118 - this looks like a good place to start.
  ryanofsky:
    Code review ACK 0dd16d7118

Tree-SHA512: 92f7bc959584bdc595f4aa6d0ab133355481075fe8564224fd7ac122fd7bdd75f98cf26ef0a6a7d84fd552d2258ddca1b674eca91122469a58bacc5f0a0ec2ef
2024-09-12 16:39:34 +01:00
..
bench Merge bitcoin/bitcoin#30790: bench: Remove redundant logging benchmarks 2024-09-06 09:50:19 +01:00
common multiprocess: Add -ipcbind option to bitcoin-node 2024-09-06 09:08:10 -04:00
compat
config
consensus doc: fix a few simple codespell warnings 2024-08-28 18:42:10 +02:00
crc32c
crypto cmake: Build bitcoin_crypto library 2024-08-16 19:27:38 +01:00
index
init multiprocess: Add -ipcbind option to bitcoin-node 2024-09-06 09:08:10 -04:00
interfaces multiprocess: Add -ipcbind option to bitcoin-node 2024-09-06 09:08:10 -04:00
ipc multiprocess: Add unit tests for connect, serve, and listen functions 2024-09-06 09:08:10 -04:00
kernel Merge bitcoin/bitcoin#30814: kernel: Create usable static kernel library 2024-09-12 16:39:34 +01:00
leveldb
logging scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
minisketch
node Merge bitcoin/bitcoin#26619: log: expand BCLog::LogFlags (categories) to 64 bits 2024-09-03 16:33:49 -04:00
policy scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
primitives
qt Merge bitcoin/bitcoin#30509: multiprocess: Add -ipcbind option to bitcoin-node 2024-09-09 17:14:15 -04:00
rpc Merge bitcoin/bitcoin#30807: Fix peers abruptly disconnecting from AssumeUTXO nodes during IBD 2024-09-11 13:37:40 -04:00
script Merge bitcoin/bitcoin#22838: descriptors: Be able to specify change and receiving in a single descriptor string 2024-08-28 15:56:15 +01:00
secp256k1 Update secp256k1 subtree to latest master 2024-09-07 18:15:41 +01:00
support cleanse: Use SecureZeroMemory for mingw-w64 (release) builds 2024-07-24 09:57:49 +01:00
test Merge bitcoin/bitcoin#30847: test: Drop no longer needed workarounds 2024-09-12 11:28:27 +01:00
univalue build: Remove Autotools-based build system 2024-08-30 21:31:39 +01:00
util util: Add consteval ""_hex[_v][_u8] literals 2024-08-28 19:09:51 +02:00
wallet Merge bitcoin/bitcoin#30684: init: fix init fatal error on invalid negated option value 2024-09-09 12:44:29 -04:00
zmq scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
.clang-format
.clang-tidy
addrdb.cpp
addrdb.h
addresstype.cpp policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
addresstype.h policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
addrman_impl.h
addrman.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
addrman.h
arith_uint256.cpp
arith_uint256.h doc + test: Correct uint256 hex string endianness 2024-08-03 21:59:54 +02:00
attributes.h
banman.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
banman.h
base58.cpp
base58.h
bech32.cpp fuzz: replace hardcoded numbers for bech32 limits 2024-08-06 11:03:31 +02:00
bech32.h fuzz: replace hardcoded numbers for bech32 limits 2024-08-06 11:03:31 +02:00
bip324.cpp
bip324.h
bitcoin-chainstate.cpp Merge bitcoin/bitcoin#30386: Early logging improvements 2024-07-26 08:06:08 -04:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Merge bitcoin/bitcoin#30148: cli: restrict multiple exclusive argument usage in bitcoin-cli 2024-09-04 14:47:38 -04:00
bitcoin-tx-res.rc
bitcoin-tx.cpp refactor: Replace ParseHashStr with FromHex 2024-07-24 17:40:18 +02:00
bitcoin-util-res.rc
bitcoin-util.cpp
bitcoin-wallet-res.rc
bitcoin-wallet.cpp testnet: Introduce Testnet4 2024-08-06 01:38:10 +02:00
bitcoind-res.rc
bitcoind.cpp multiprocess: Add -ipcbind option to bitcoin-node 2024-09-06 09:08:10 -04:00
blockencodings.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
blockencodings.h
blockfilter.cpp
blockfilter.h
chain.cpp
chain.h scripted-diff: Modernize naming of nChainTx and nTxCount 2024-08-04 14:24:43 +02:00
chainparams.cpp testnet: Introduce Testnet4 2024-08-06 01:38:10 +02:00
chainparams.h
chainparamsbase.cpp Deduplicate list of chain strings in RPC help texts 2024-08-13 14:00:33 -03:00
chainparamsbase.h Deduplicate list of chain strings in RPC help texts 2024-08-13 14:00:33 -03:00
chainparamsseeds.h seeds: Regenerate mainnet seeds 2024-08-27 07:00:27 +02:00
checkqueue.h
clientversion.cpp doc: Drop mentions of share/genbuild.sh 2024-08-29 12:38:37 +01:00
clientversion.h
cluster_linearize.h clusterlin: improve rechunking in LinearizationChunking (optimization) 2024-08-01 16:03:38 -04:00
CMakeLists.txt build: Skip secp256k1 ctime tests when tests are not being built 2024-09-12 14:24:26 +01:00
coins.cpp Reduce cache lookups in CCoinsViewCache::FetchCoin 2024-08-08 22:51:24 +02:00
coins.h coins: move Sync logic to CoinsViewCacheCursor 2024-08-05 22:34:35 -04:00
compressor.cpp
compressor.h
core_io.h refactor: Replace ParseHashStr with FromHex 2024-07-24 17:40:18 +02:00
core_memusage.h
core_read.cpp refactor: Replace ParseHashStr with FromHex 2024-07-24 17:40:18 +02:00
core_write.cpp
cuckoocache.h
dbwrapper.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
dbwrapper.h
deploymentinfo.cpp
deploymentinfo.h
deploymentstatus.cpp
deploymentstatus.h
dummywallet.cpp
external_signer.cpp refactor: Remove Span operator==, Use std::ranges::equal 2024-08-13 07:44:31 +02:00
external_signer.h
flatfile.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
flatfile.h refactor: Add FlatFileSeq member variables in BlockManager 2024-07-24 09:39:35 +02:00
hash.cpp
hash.h
headerssync.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
headerssync.h
httprpc.cpp Merge bitcoin/bitcoin#30401: fix: increase consistency of rpcauth parsing 2024-09-09 12:29:17 -04:00
httprpc.h
httpserver.cpp Merge bitcoin/bitcoin#30675: http: set TCP_NODELAY when creating HTTP server 2024-09-03 17:27:50 -04:00
httpserver.h
i2p.cpp
i2p.h
indirectmap.h
init.cpp Merge bitcoin/bitcoin#30807: Fix peers abruptly disconnecting from AssumeUTXO nodes during IBD 2024-09-11 13:37:40 -04:00
init.h multiprocess: Add -ipcbind option to bitcoin-node 2024-09-06 09:08:10 -04:00
key_io.cpp policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
key_io.h
key.cpp refactor: remove un-tested early returns 2024-08-04 08:52:22 +02:00
key.h refactor: move SignSchnorr to KeyPair 2024-08-04 08:51:36 +02:00
logging.cpp rpc: make logging method reject "0" category and correct the help text 2024-08-04 06:43:00 +02:00
logging.h bench: Remove redundant logging benchmarks 2024-09-05 07:17:22 +02:00
mapport.cpp
mapport.h
memusage.h
merkleblock.cpp
merkleblock.h
net_permissions.cpp
net_permissions.h
net_processing.cpp Merge bitcoin/bitcoin#30742: kernel: Use spans instead of vectors for passing block headers to validation functions 2024-09-03 15:40:40 -04:00
net_processing.h
net_types.cpp
net_types.h
net.cpp assumeUTXO: fix peers disconnection during sync 2024-09-10 18:08:32 -03:00
net.h assumeUTXO: fix peers disconnection during sync 2024-09-10 18:08:32 -03:00
netaddress.cpp refactor: Remove Span operator==, Use std::ranges::equal 2024-08-13 07:44:31 +02:00
netaddress.h
netbase.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
netbase.h
netgroup.cpp
netgroup.h
netmessagemaker.h
noui.cpp
noui.h
outputtype.cpp
outputtype.h
pow.cpp testnet: Add Testnet4 difficulty adjustment rules fix 2024-08-06 01:38:12 +02:00
pow.h
prevector.h
protocol.cpp
protocol.h
psbt.cpp
psbt.h
pubkey.cpp refactor: Hand-replace some ParseHex -> ""_hex 2024-08-28 19:11:59 +02:00
pubkey.h refactor: Make XOnlyPubKey tolerate constexpr std::arrays 2024-08-28 19:09:51 +02:00
random.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
random.h
randomenv.cpp Fix MSVC warning C4273 "inconsistent dll linkage" 2024-07-19 22:01:01 +01:00
randomenv.h
rest.cpp refactor: Replace ParseHashStr with FromHex 2024-07-24 17:40:18 +02:00
rest.h
scheduler.cpp
scheduler.h
serialize.h
signet.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
signet.h
span.h refactor: Remove Span operator==, Use std::ranges::equal 2024-08-13 07:44:31 +02:00
streams.cpp
streams.h
sync.cpp
sync.h
threadsafety.h
tinyformat.h
torcontrol.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
torcontrol.h
txdb.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
txdb.h coins: pass linked list of flagged entries to BatchWrite 2024-08-05 19:43:56 -04:00
txmempool.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
txmempool.h Revert "build: work around issue with Boost <= 1.80 and Clang >= 18" 2024-09-06 15:57:00 +02:00
txorphanage.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
txorphanage.h Merge bitcoin/bitcoin#30082: test: expand LimitOrphan and EraseForPeer coverage 2024-08-05 17:25:57 -04:00
txrequest.cpp Merge bitcoin/bitcoin#30194: refactor: use recommended type hiding on multi_index types 2024-08-07 20:00:28 +01:00
txrequest.h
uint256.cpp scripted-diff: Rename SetHex to SetHexDeprecated 2024-07-24 09:15:34 +02:00
uint256.h test: remove test-only uint256S 2024-09-06 17:36:18 +02:00
undo.h
validation.cpp assumeUTXO: fix peers disconnection during sync 2024-09-10 18:08:32 -03:00
validation.h assumeUTXO: fix peers disconnection during sync 2024-09-10 18:08:32 -03:00
validationinterface.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
validationinterface.h [refactor] change ActiveTipChange to use CBlockIndex ref instead of ptr 2024-07-25 11:01:22 +01:00
versionbits.cpp
versionbits.h
walletinitinterface.h