mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 20:55:44 +00:00
92 lines
3.6 KiB
Plaintext
92 lines
3.6 KiB
Plaintext
# bazel-1.0.0.bazelrc
|
|
|
|
# for now: filter out annoying TASTY warnings
|
|
common --ui_event_filters=-INFO
|
|
|
|
# Don't use toolchains_llvm for the swift app build
|
|
common:mactools --ignore_dev_dependency
|
|
|
|
common --enable_platform_specific_config
|
|
|
|
common --strategy=Scalac=worker
|
|
common --worker_sandboxing
|
|
|
|
common --local_test_jobs=64
|
|
common --jobs=64
|
|
|
|
# Keep these C++ standard flags in sync with tools/copts.bzl and scripts/shardok_cpp_config.sh.
|
|
common --cxxopt="--std=c++23"
|
|
common --cxxopt="-Wno-deprecated-non-prototype"
|
|
common --per_file_copt=src/test/cpp/.*@-Wno-character-conversion
|
|
common --per_file_copt=src/test/cpp/.*@-Wno-deprecated-enum-compare
|
|
common --per_file_copt=src/test/cpp/.*@-Wno-sign-compare
|
|
common --per_file_copt=src/test/cpp/.*@-Wno-unknown-warning-option
|
|
common --host_cxxopt="--std=c++23"
|
|
|
|
# C++ sanitizer configs for targeted Shardok safety checks.
|
|
# Example: bazel test --config=asan //src/test/cpp/net/eagle0/shardok/library/...
|
|
build:asan --compilation_mode=dbg
|
|
build:asan --strip=never
|
|
build:asan --copt=-fno-omit-frame-pointer
|
|
build:asan --copt=-Wno-macro-redefined
|
|
build:asan --copt=-fsanitize=address
|
|
build:asan --linkopt=-fsanitize=address
|
|
test:asan --test_env=ASAN_OPTIONS=detect_leaks=0:strict_init_order=1
|
|
|
|
build:ubsan --compilation_mode=dbg
|
|
build:ubsan --strip=never
|
|
build:ubsan --copt=-fno-omit-frame-pointer
|
|
build:ubsan --copt=-Wno-macro-redefined
|
|
build:ubsan --copt=-fsanitize=undefined
|
|
# Protobuf's arena implementation trips UBSan alignment checks in external code on macOS.
|
|
build:ubsan --copt=-fno-sanitize=alignment
|
|
build:ubsan --linkopt=-fsanitize=undefined
|
|
test:ubsan --test_env=UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1
|
|
|
|
build:tsan --compilation_mode=dbg
|
|
build:tsan --strip=never
|
|
build:tsan --copt=-fno-omit-frame-pointer
|
|
build:tsan --copt=-Wno-macro-redefined
|
|
build:tsan --copt=-fsanitize=thread
|
|
build:tsan --linkopt=-fsanitize=thread
|
|
test:tsan --test_env=TSAN_OPTIONS=halt_on_error=1
|
|
|
|
common --javacopt="-Xlint:-options"
|
|
|
|
# Prefer protobuf's prebuilt protoc toolchain instead of building protoc from
|
|
# source when compatible binaries are available.
|
|
common --@com_google_protobuf//bazel/toolchains:prefer_prebuilt_protoc
|
|
|
|
# std::filesystem and other modern C++ deps require macOS 10.15+.
|
|
common:macos --macos_minimum_os=10.15
|
|
common:macos --host_macos_minimum_os=10.15
|
|
|
|
# suppress warnings due to https://developer.apple.com/forums/thread/733317
|
|
# Use host_linkopt for macOS-specific flags to avoid passing them to Linux cross-compilation
|
|
common:macos --host_linkopt=-Wl,-no_warn_duplicate_libraries
|
|
|
|
# Pin default DEVELOPER_DIR so Apple repo rules use full Xcode instead of
|
|
# Command Line Tools when they are needed.
|
|
common:macos --repo_env=DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
|
|
|
|
# Local machine or CI overrides. This lets Bazel-only runners use Command Line
|
|
# Tools without installing full Xcode. This must stay before .bazelrc.xcode so
|
|
# generated Xcode settings win when both files exist.
|
|
try-import %workspace%/.bazelrc.local
|
|
|
|
# Xcode config for Apple tool builds. Generated by scripts/sync_bazel_xcode.sh.
|
|
# Bakes the Xcode build version into mactools action cache keys without making
|
|
# ordinary macOS Bazel builds depend on the installed Xcode build number.
|
|
try-import %workspace%/.bazelrc.xcode
|
|
|
|
common --java_language_version=25
|
|
common --java_runtime_version=remotejdk_25
|
|
common --tool_java_language_version=25
|
|
common --tool_java_runtime_version=remotejdk_25
|
|
|
|
# Workspace status for build stamping (git commit, timestamp)
|
|
# Only targets with stamp=1 will use these values; we intentionally
|
|
# do NOT set "common --stamp" so non-stamped targets can share the
|
|
# remote cache across CI workflows.
|
|
common --workspace_status_command=tools/workspace_status.sh
|