common --enable_bzlmod --noenable_workspace

build --experimental_proto_descriptor_sets_include_source_info

build --cxxopt=-std=c++17 --host_cxxopt=-std=c++17
build --cxxopt=-fsized-deallocation

# Ensure we use the protobuf compiler from deps
build --proto_compiler=@com_google_protobuf//:protoc
build --proto_toolchain_for_cc=@com_google_protobuf//:cc_toolchain

# Enable matchers in googletest
build --define absl=1

build:asan --linkopt -ldl
build:asan --linkopt -fsanitize=address
build:asan --copt -fsanitize=address
build:asan --copt -DADDRESS_SANITIZER=1
build:asan --copt -D__SANITIZE_ADDRESS__
build:asan --test_env=ASAN_OPTIONS=handle_abort=1:allow_addr2line=true:check_initialization_order=true:strict_init_order=true:detect_odr_violation=1
build:asan --test_env=ASAN_SYMBOLIZER_PATH
build:asan --copt -O1
build:asan --copt -fno-optimize-sibling-calls
build:asan --linkopt=-fuse-ld=lld

build:macos --features=-supports_dynamic_linker

build:clang --action_env=CC=clang --host_action_env=CC=clang
build:clang --action_env=CXX=clang++ --host_action_env=CXX=clang++

try-import %workspace%/clang.bazelrc
try-import %workspace%/user.bazelrc
try-import %workspace%/local_tsan.bazelrc
