00_setup_env_native_fuzz.sh raw
1 #!/usr/bin/env bash
2 #
3 # Copyright (c) 2019-present The Bitcoin Core developers
4 # Distributed under the MIT software license, see the accompanying
5 # file COPYING or http://www.opensource.org/licenses/mit-license.php.
6
7 export LC_ALL=C.UTF-8
8
9 export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:26.04"
10 export CONTAINER_NAME=ci_native_fuzz
11 export APT_LLVM_V="22"
12 export PACKAGES="clang-${APT_LLVM_V} llvm-${APT_LLVM_V} libclang-rt-${APT_LLVM_V}-dev libboost-dev libsqlite3-dev libcapnp-dev capnproto"
13 export NO_DEPENDS=1
14 export RUN_UNIT_TESTS=false
15 export RUN_FUNCTIONAL_TESTS=false
16 export RUN_FUZZ_TESTS=true
17 export GOAL="all"
18 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)
19 export BITCOIN_CONFIG="\
20 -DBUILD_FOR_FUZZING=ON \
21 -DSANITIZERS=fuzzer,address,undefined,float-divide-by-zero,integer \
22 -DCMAKE_C_COMPILER=clang \
23 -DCMAKE_CXX_COMPILER=clang++ \
24 -DCMAKE_C_FLAGS='-ftrivial-auto-var-init=pattern' \
25 -DCMAKE_CXX_FLAGS='-ftrivial-auto-var-init=pattern' \
26 "
27