Skip to content

Commit 2ea8b7b

Browse files
committed
contrib: make check-deps.sh script work with cmake
1 parent 210210c commit 2ea8b7b

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

contrib/devtools/check-deps.sh

+13-15
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,10 @@ declare -A LIBS
88
LIBS[cli]="libbitcoin_cli.a"
99
LIBS[common]="libbitcoin_common.a"
1010
LIBS[consensus]="libbitcoin_consensus.a"
11-
LIBS[crypto]="crypto/.libs/libbitcoin_crypto_base.a crypto/.libs/libbitcoin_crypto_x86_shani.a crypto/.libs/libbitcoin_crypto_sse41.a crypto/.libs/libbitcoin_crypto_avx2.a"
11+
LIBS[crypto]="crypto/libbitcoin_crypto.a crypto/libbitcoin_crypto_x86_shani.a crypto/libbitcoin_crypto_sse41.a crypto/libbitcoin_crypto_avx2.a"
1212
LIBS[node]="libbitcoin_node.a"
13-
LIBS[util]="libbitcoin_util.a"
14-
LIBS[wallet]="libbitcoin_wallet.a"
15-
LIBS[wallet_tool]="libbitcoin_wallet_tool.a"
13+
LIBS[util]="util/libbitcoin_util.a"
14+
LIBS[wallet]="wallet/libbitcoin_wallet.a"
1615

1716
# Declare allowed dependencies "X Y" where X is allowed to depend on Y. This
1817
# list is taken from doc/design/libraries.md.
@@ -32,32 +31,28 @@ ALLOWED_DEPENDENCIES=(
3231
"wallet common"
3332
"wallet crypto"
3433
"wallet util"
35-
"wallet_tool util"
36-
"wallet_tool wallet"
3734
)
3835

3936
# Add minor dependencies omitted from doc/design/libraries.md to keep the
4037
# dependency diagram simple.
4138
ALLOWED_DEPENDENCIES+=(
4239
"wallet consensus"
43-
"wallet_tool common"
44-
"wallet_tool crypto"
4540
)
4641

4742
# Declare list of known errors that should be suppressed.
4843
declare -A SUPPRESS
4944
# init.cpp file currently calls Berkeley DB sanity check function on startup, so
5045
# there is an undocumented dependency of the node library on the wallet library.
51-
SUPPRESS["libbitcoin_node_a-init.o libbitcoin_wallet_a-bdb.o _ZN6wallet27BerkeleyDatabaseSanityCheckEv"]=1
46+
SUPPRESS["init.cpp.o bdb.cpp.o _ZN6wallet27BerkeleyDatabaseSanityCheckEv"]=1
5247
# init/common.cpp file calls InitError and InitWarning from interface_ui which
5348
# is currently part of the node library. interface_ui should just be part of the
5449
# common library instead, and is moved in
5550
# https://github.com/bitcoin/bitcoin/issues/10102
56-
SUPPRESS["libbitcoin_common_a-common.o libbitcoin_node_a-interface_ui.o _Z11InitWarningRK13bilingual_str"]=1
57-
SUPPRESS["libbitcoin_common_a-common.o libbitcoin_node_a-interface_ui.o _Z9InitErrorRK13bilingual_str"]=1
51+
SUPPRESS["common.cpp.o interface_ui.cpp.o _Z11InitWarningRK13bilingual_str"]=1
52+
SUPPRESS["common.cpp.o interface_ui.cpp.o _Z9InitErrorRK13bilingual_str"]=1
5853
# rpc/external_signer.cpp adds defines node RPC methods but is built as part of the
5954
# common library. It should be moved to the node library instead.
60-
SUPPRESS["libbitcoin_common_a-external_signer.o libbitcoin_node_a-server.o _ZN9CRPCTable13appendCommandERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK11CRPCCommand"]=1
55+
SUPPRESS["external_signer.cpp.o server.cpp.o _ZN9CRPCTable13appendCommandERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK11CRPCCommand"]=1
6156

6257
usage() {
6358
echo "Usage: $(basename "${BASH_SOURCE[0]}") [BUILD_DIR]"
@@ -67,8 +62,10 @@ usage() {
6762
lib_targets() {
6863
for lib in "${!LIBS[@]}"; do
6964
for lib_path in ${LIBS[$lib]}; do
70-
# shellcheck disable=SC2001
71-
sed 's:/.libs/\(.*\)\.a$:/\1.la:g' <<<"$lib_path"
65+
local name="${lib_path##*/}"
66+
name="${name#lib}"
67+
name="${name%.a}"
68+
echo "$name"
7269
done
7370
done
7471
}
@@ -175,7 +172,7 @@ check_not_suppressed() {
175172

176173
# Check arguments.
177174
if [ "$#" = 0 ]; then
178-
BUILD_DIR="$(dirname "${BASH_SOURCE[0]}")/../../src"
175+
BUILD_DIR="$(dirname "${BASH_SOURCE[0]}")/../../build"
179176
elif [ "$#" = 1 ]; then
180177
BUILD_DIR="$1"
181178
else
@@ -194,6 +191,7 @@ cd "$BUILD_DIR"
194191
# shellcheck disable=SC2046
195192
make -j"$(nproc)" $(lib_targets)
196193
TEMP_DIR="$(mktemp -d)"
194+
cd src
197195
extract_symbols "$TEMP_DIR"
198196
if check_libraries "$TEMP_DIR"; then
199197
echo "Success! No unexpected dependencies were detected."

0 commit comments

Comments
 (0)