2019-08-15 16:51:31 -04:00
#!/usr/bin/env bash
#
2023-08-23 22:48:44 +02:00
# Copyright (c) 2019-present The Bitcoin Core developers
2019-08-15 16:51:31 -04:00
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
export LC_ALL = C.UTF-8
2023-12-04 12:35:04 +01:00
export CI_IMAGE_NAME_TAG = "docker.io/ubuntu:24.04"
2024-06-07 23:32:27 +01:00
# Only install BCC tracing packages in CI. Container has to match the host for BCC to work.
if [ [ " ${ INSTALL_BCC_TRACING_TOOLS } " = = "true" ] ] ; then
# Required for USDT functional tests to run
2024-04-09 09:17:34 +02:00
BPFCC_PACKAGE = " bpfcc-tools linux-headers- $( uname --kernel-release) "
2023-07-26 13:05:29 +02:00
export CI_CONTAINER_CAP = "--privileged -v /sys/kernel:/sys/kernel:rw"
2022-11-28 21:26:26 +01:00
else
2023-07-26 13:05:29 +02:00
BPFCC_PACKAGE = ""
export CI_CONTAINER_CAP = "--cap-add SYS_PTRACE" # If run with (ASan + LSan), the container needs access to ptrace (https://github.com/google/sanitizers/issues/764)
2022-11-28 21:26:26 +01:00
fi
2022-07-01 13:49:55 +02:00
2020-02-05 08:43:10 +08:00
export CONTAINER_NAME = ci_native_asan
2024-08-12 13:46:28 +02:00
export APT_LLVM_V = "19"
export PACKAGES = " systemtap-sdt-dev clang- ${ APT_LLVM_V } llvm- ${ APT_LLVM_V } libclang-rt- ${ APT_LLVM_V } -dev python3-zmq qtbase5-dev qttools5-dev qttools5-dev-tools libevent-dev libboost-dev libdb5.3++-dev libzmq3-dev libqrencode-dev libsqlite3-dev ${ BPFCC_PACKAGE } "
2019-08-15 16:51:31 -04:00
export NO_DEPENDS = 1
export GOAL = "install"
2024-07-24 11:54:41 +01:00
export BITCOIN_CONFIG = " \
2024-08-28 16:50:35 +02:00
-DWITH_USDT= ON -DWITH_ZMQ= ON -DWITH_BDB= ON -DWARN_INCOMPATIBLE_BDB= OFF -DBUILD_GUI= ON \
2024-07-24 11:54:41 +01:00
-DSANITIZERS= address,float-divide-by-zero,integer,undefined \
2024-08-12 13:46:28 +02:00
-DCMAKE_C_COMPILER= clang-${ APT_LLVM_V } \
-DCMAKE_CXX_COMPILER= clang++-${ APT_LLVM_V } \
2024-07-24 11:54:41 +01:00
-DCMAKE_C_FLAGS= '-ftrivial-auto-var-init=pattern' \
2024-08-28 15:17:09 +02:00
-DCMAKE_CXX_FLAGS= '-ftrivial-auto-var-init=pattern -Wno-error=deprecated-declarations' \
-DAPPEND_CXXFLAGS= '-std=c++23' \
2024-07-24 11:54:41 +01:00
-DAPPEND_CPPFLAGS= '-DARENA_DEBUG -DDEBUG_LOCKORDER' \
"