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