Skip to content

Commit 94f024a

Browse files
committed
Squashed 'libbitcoinkernel-sys/bitcoin/' changes from 5c5704e73079..b354d1ce5c47
b354d1ce5c47 Merge bitcoin/bitcoin#33820: kernel: trim Chain interface a4e96cae7d3d Merge bitcoin/bitcoin#33042: refactor: inline constant return values from `dbwrapper` write methods 8c2710b0415f Merge bitcoin/bitcoin#32517: rpc: add "ischange: true" to decoded tx outputs in wallet gettransaction response 1fe851a4781a Merge bitcoin/bitcoin#32180: p2p: Advance pindexLastCommonBlock early after connecting blocks 5f0303b93fa7 Merge bitcoin/bitcoin#33443: log: reduce excessive "rolling back/forward" messages during block replay f4903dddc9ea Merge bitcoin/bitcoin#33433: Bugfix: QA: rpc_bind: Skip nonloopback test if no such address is found 06e9458869ee Merge bitcoin/bitcoin#32856: Update `minisketch` subtree 66978a1a9537 kernel: remove btck_chain_get_tip 4dd7e6dc48ed kernel: remove btck_chain_get_genesis 490cb056f651 Merge bitcoin/bitcoin#33785: util: Allow `Assert` (et al.) in contexts without __func__ dcd0099a765e Merge bitcoin/bitcoin#33826: scripted-diff: Remove obsolete comment 01adbbcd9c50 Merge bitcoin/bitcoin#33827: doc: Correct `pkgin` command usage on NetBSD eec21bc7c8bf Merge bitcoin/bitcoin#33536: doc: reference fuzz coverage steps in quick-start 035f934e02f9 Merge bitcoin/bitcoin#33823: ci: Use cmake --preset=dev-mode in test-each-commit task ddd2afac1073 Merge bitcoin/bitcoin#33676: interfaces: enable cancelling running `waitNext` calls dee7eec64389 doc: mention coverage build in quickstart section 0698c6b494de doc: Correct `pkgin` command usage on NetBSD 36724205fc1f scripted-diff: Remove obsolete comment ca1ce52a0f1e Merge bitcoin/bitcoin#33825: refactor: Add missing include in bitcoinkernel_wrapper.h fa1e8d8bad92 refactor: Add missing include in bitcoinkernel_wrapper.h fa6db67369fb ci: [refactor] Extract build_dir constant in ci-test-each-commit-exec.py fa95e6cdc1c5 ci: Use cmake --preset=dev-mode in test-each-commit task 513a0da2e0c8 Merge bitcoin/bitcoin#33818: ci: Extend tidy job to cover kernel code 5d0a40d607d4 ci: Extend tidy job to cover kernel code 93e79181da8c Merge bitcoin/bitcoin#33786: script: remove dead code in `CountWitnessSigOps` 3c4bec62239d Merge bitcoin/bitcoin#33782: test: remove obsolete `get_{key,multisig}` helpers from wallet_util.py 4b12beedaef5 Merge bitcoin/bitcoin#33793: test: move create_malleated_version() to messages.py for reuse 0b45e6db1058 Merge bitcoin/bitcoin#33789: doc: add cmake help option in Windows build docs 2b9c3511986b Merge bitcoin/bitcoin#33768: refactor: remove dead branches in `SingletonClusterImpl` fad6efd3bef1 refactor: Use STR_INTERNAL_BUG macro where possible fada379589a1 doc: Remove unused bugprone-lambda-function-name suppression 2bd155e6ee7e test: move create_malleated_version() to messages.py for reuse 9577daa3b88a doc: Add cmake help option in Windows build instructions fae1d99651e2 refactor: Use const reference to std::source_location fa5fbcd61563 util: Allow Assert() in contexts without __func__ 24bcad3d4df5 refactor: remove dead code in `CountWitnessSigOps` ec8516ceb756 test: remove obsolete `get_{key,multisig}` helpers from wallet_util.py 2d23820ee116 refactor: remove dead branches in `SingletonClusterImpl` 060bb5550824 rpc: add decoded tx details to gettransaction with extra wallet fields ad1c3bdba547 [move only] move DecodeTxDoc() to a common util file for sharing d633db541664 rpc: add "ischange: true" in wallet gettransaction decoded tx output dcb56fd4cb59 interfaces: add interruptWait method c235aa468b0d Update minisketch subtree to latest upstream 4543a3bde26f Squashed 'src/minisketch/' changes from ea8f66b1ea..d1bd01e189 01cc20f3307c test: improve coverage for a resolved stalling situation 9af6daf07ed0 test: remove magic number when checking for blocks that have arrived 3069d66dcac0 p2p: During block download, adjust pindexLastCommonBlock better 1fc7a81f1f5f log: reduce excessive messages during block replay 79b4c276e7b9 Bugfix: QA: rpc_bind: Skip nonloopback test if no such address is found 743abbcbde9e refactor: inline constant return value of `BlockTreeDB::WriteBatchSync` and `BlockManager::WriteBlockIndexDB` and `BlockTreeDB::WriteFlag` e030240e9094 refactor: inline constant return value of `CDBWrapper::Erase` and `BlockTreeDB::WriteReindexing` cdab9480e9e3 refactor: inline constant return value of `CDBWrapper::Write` d1847cf5b5af refactor: inline constant return value of `TxIndex::DB::WriteTxs` 50b63a5698e5 refactor: inline constant return value of `CDBWrapper::WriteBatch` git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: b354d1ce5c47997aa2f93910e05c0f8daa8736eb
1 parent c4d4877 commit 94f024a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+831
-393
lines changed

.github/ci-test-each-commit-exec.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@ def main():
2121
run(["git", "log", "-1"])
2222

2323
num_procs = int(run(["nproc"], stdout=subprocess.PIPE).stdout)
24+
build_dir = "ci_build"
2425

2526
run([
2627
"cmake",
2728
"-B",
28-
"build",
29+
build_dir,
2930
"-Werror=dev",
3031
# Use clang++, because it is a bit faster and uses less memory than g++
3132
"-DCMAKE_C_COMPILER=clang",
@@ -37,28 +38,23 @@ def main():
3738
"-DAPPEND_CFLAGS='-O3 -g2'",
3839
"-DCMAKE_BUILD_TYPE=Debug",
3940
"-DWERROR=ON",
40-
"-DWITH_ZMQ=ON",
41-
"-DBUILD_GUI=ON",
42-
"-DBUILD_BENCH=ON",
43-
"-DBUILD_FUZZ_BINARY=ON",
44-
"-DWITH_USDT=ON",
45-
"-DBUILD_KERNEL_LIB=ON",
46-
"-DBUILD_KERNEL_TEST=ON",
41+
"--preset=dev-mode",
42+
# Tolerate unused member functions in intermediate commits in a pull request
4743
"-DCMAKE_CXX_FLAGS=-Wno-error=unused-member-function",
4844
])
49-
run(["cmake", "--build", "build", "-j", str(num_procs)])
45+
run(["cmake", "--build", build_dir, "-j", str(num_procs)])
5046
run([
5147
"ctest",
5248
"--output-on-failure",
5349
"--stop-on-failure",
5450
"--test-dir",
55-
"build",
51+
build_dir,
5652
"-j",
5753
str(num_procs),
5854
])
5955
run([
6056
sys.executable,
61-
"./build/test/functional/test_runner.py",
57+
f"./{build_dir}/test/functional/test_runner.py",
6258
"-j",
6359
str(num_procs * 2),
6460
"--combinedlogslen=99999999",

ci/test/00_setup_env_arm.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,10 @@ export GOAL="install"
1919
export CI_LIMIT_STACK_SIZE=1
2020
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
2121
# This could be removed once the ABI change warning does not show up by default
22-
export BITCOIN_CONFIG="-DREDUCE_EXPORTS=ON -DCMAKE_CXX_FLAGS='-Wno-psabi -Wno-error=maybe-uninitialized'"
22+
#
23+
# -Wno-error=dangling-reference helps to work around a GCC 13.1 false-positive,
24+
# fixed in later versions.
25+
export BITCOIN_CONFIG=" \
26+
-DREDUCE_EXPORTS=ON \
27+
-DCMAKE_CXX_FLAGS='-Wno-psabi -Wno-error=dangling-reference -Wno-error=maybe-uninitialized' \
28+
"

ci/test/00_setup_env_native_tidy.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export RUN_CHECK_DEPS=true
1919
export RUN_TIDY=true
2020
export GOAL="install"
2121
export BITCOIN_CONFIG="\
22-
-DWITH_ZMQ=ON -DBUILD_GUI=ON -DBUILD_BENCH=ON -DWITH_USDT=ON \
22+
--preset dev-mode \
2323
-DCMAKE_C_COMPILER=clang-${TIDY_LLVM_V} \
2424
-DCMAKE_CXX_COMPILER=clang++-${TIDY_LLVM_V} \
2525
-DCMAKE_C_FLAGS_RELWITHDEBINFO='-O0 -g0' \

ci/test/00_setup_env_win64.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,8 @@ export PACKAGES="g++-mingw-w64-x86-64-posix nsis"
1313
export RUN_UNIT_TESTS=false
1414
export RUN_FUNCTIONAL_TESTS=false
1515
export GOAL="deploy"
16+
# -Wno-error=dangling-reference helps to work around a GCC 13.1 false-positive,
17+
# fixed in later versions.
1618
export BITCOIN_CONFIG="-DREDUCE_EXPORTS=ON -DBUILD_GUI_TESTS=OFF -DBUILD_KERNEL_LIB=ON -DBUILD_KERNEL_TEST=ON \
17-
-DCMAKE_CXX_FLAGS='-Wno-error=maybe-uninitialized'"
19+
-DCMAKE_CXX_FLAGS='-Wno-error=dangling-reference -Wno-error=maybe-uninitialized' \
20+
"

doc/build-freebsd.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,5 +101,5 @@ cmake -B build -DENABLE_WALLET=OFF
101101

102102
```bash
103103
cmake --build build # Append "-j N" for N parallel jobs.
104-
ctest --test-dir build # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
104+
ctest --test-dir build # Append "-j N" for N parallel tests.
105105
```

doc/build-netbsd.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ cmake -B build
3434
SQLite is required for the wallet:
3535

3636
```bash
37-
pkgin sqlite3
37+
pkgin install sqlite3
3838
```
3939

4040
To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.
4141

4242
Cap'n Proto is needed for IPC functionality (see [multiprocess.md](multiprocess.md)):
4343

4444
```bash
45-
pkgin capnproto
45+
pkgin install capnproto
4646
```
4747

4848
Compile with `-DENABLE_IPC=OFF` if you do not need IPC functionality.
@@ -84,7 +84,7 @@ Otherwise, if you don't need QR encoding support, use the `-DWITH_QRENCODE=OFF`
8484

8585
Bitcoin Core can provide notifications via ZeroMQ. If the package is installed, support will be compiled in.
8686
```bash
87-
pkgin zeromq
87+
pkgin install zeromq
8888
```
8989

9090
#### Test Suite Dependencies
@@ -115,5 +115,5 @@ Build and run the tests:
115115

116116
```bash
117117
cmake --build build # Append "-j N" for N parallel jobs.
118-
ctest --test-dir build # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
118+
ctest --test-dir build # Append "-j N" for N parallel tests.
119119
```

doc/build-openbsd.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ Run `cmake -B build -LH` to see the full list of available options.
9393

9494
```bash
9595
cmake --build build # Append "-j N" for N parallel jobs.
96-
ctest --test-dir build # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
96+
ctest --test-dir build # Append "-j N" for N parallel tests.
9797
```
9898

9999
## Resource limits

doc/build-osx.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ Run the following in your terminal to compile Bitcoin Core:
170170

171171
``` bash
172172
cmake --build build # Append "-j N" here for N parallel jobs.
173-
ctest --test-dir build # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
173+
ctest --test-dir build # Append "-j N" for N parallel tests.
174174
```
175175

176176
### 3. Deploy (optional)

doc/build-windows-msvc.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,14 @@ CMake will put the resulting object files, libraries, and executables into a ded
5050

5151
In the following instructions, the "Debug" configuration can be specified instead of the "Release" one.
5252

53+
Run `cmake -B build -LH` to see the full list of available options.
54+
5355
### 4. Building with Static Linking with GUI
5456

5557
```
5658
cmake -B build --preset vs2022-static # It might take a while if the vcpkg binary cache is unpopulated or invalidated.
5759
cmake --build build --config Release # Append "-j N" for N parallel jobs.
58-
ctest --test-dir build --build-config Release # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
60+
ctest --test-dir build --build-config Release # Append "-j N" for N parallel tests.
5961
cmake --install build --config Release # Optional.
6062
```
6163

@@ -64,7 +66,7 @@ cmake --install build --config Release # Optional.
6466
```
6567
cmake -B build --preset vs2022 -DBUILD_GUI=OFF # It might take a while if the vcpkg binary cache is unpopulated or invalidated.
6668
cmake --build build --config Release # Append "-j N" for N parallel jobs.
67-
ctest --test-dir build --build-config Release # Append "-j N" for N parallel tests. Some tests are disabled if Python 3 is not available.
69+
ctest --test-dir build --build-config Release # Append "-j N" for N parallel tests.
6870
```
6971

7072
### 6. vcpkg-specific Issues and Workarounds

doc/build-windows.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ Build using:
4949

5050
gmake -C depends HOST=x86_64-w64-mingw32 # Append "-j N" for N parallel jobs.
5151
cmake -B build --toolchain depends/x86_64-w64-mingw32/toolchain.cmake
52+
53+
Run `cmake -B build -LH` to see the full list of available options.
54+
5255
cmake --build build # Append "-j N" for N parallel jobs.
5356

5457
## Depends system

0 commit comments

Comments
 (0)