00_setup_env_native_tsan.sh raw
1 #!/usr/bin/env bash
2 #
3 # Copyright (c) 2019-present The Limenka 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 CONTAINER_NAME=ci_native_tsan
10 export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
11 export APT_LLVM_V="21"
12 LIBCXX_DIR="/cxx_build/"
13 LIBCXX_FLAGS="-fsanitize=thread -nostdinc++ -nostdlib++ -isystem ${LIBCXX_DIR}include/c++/v1 -L${LIBCXX_DIR}lib -Wl,-rpath,${LIBCXX_DIR}lib -lc++ -lc++abi -lpthread -Wno-unused-command-line-argument"
14 export PACKAGES="clang-${APT_LLVM_V} llvm-${APT_LLVM_V} llvm-${APT_LLVM_V}-dev libclang-${APT_LLVM_V}-dev libclang-rt-${APT_LLVM_V}-dev python3-zmq ninja-build"
15 export DEP_OPTS="CC=clang CXX=clang++ CXXFLAGS='${LIBCXX_FLAGS}' NO_QT=1"
16 export GOAL="install"
17 export LIMENKA_CONFIG="-DWITH_ZMQ=ON -DSANITIZERS=thread \
18 -DAPPEND_CPPFLAGS='-DARENA_DEBUG -DDEBUG_LOCKCONTENTION -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES'"
19 export USE_INSTRUMENTED_LIBCPP="Thread"
20