forked from GoogleCloudPlatform/esp-v2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.bazelrc
132 lines (110 loc) · 4.72 KB
/
.bazelrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# Placeholder file for Prow
# Required by envoy and its tests
build --define=grpc_no_ares=true
build --cxxopt='-std=c++17'
# Compile a Position Independent Executable
# Ref: github.com/envoyproxy/envoy#8792
build --copt=-fPIC
# Other flags for the C++ compiler
build --show_timestamps
build --copt -Wno-unknown-warning-option
build --copt -Wno-error=vla-parameter
# Compilation modes
build:release -c opt
build:debug -c dbg
build --experimental_local_memory_estimate
build --experimental_strict_action_env=true
build --host_force_python=PY3
build --action_env=BAZEL_LINKLIBS=-l%:libstdc++.a
build --action_env=BAZEL_LINKOPTS=-lm
# We already have absl in the build, define absl=1 to tell googletest to use absl for backtrace.
build --define absl=1
# Pass PATH variable from the environment. CC and CXX are always clang (no gcc).
build --action_env=CC=clang-13
build --action_env=CXX=clang++-13
build --action_env=PATH
# Disable ICU linking for googleurl.
build --@com_googlesource_googleurl//build_config:system_icu=0
# Common flags for sanitizers
build:sanitizer --define tcmalloc=disabled
build:sanitizer --linkopt -ldl
build:sanitizer --build_tag_filters=-no_san
build:sanitizer --test_tag_filters=-no_san
# Common flags for Clang
build:clang --action_env=BAZEL_COMPILER=clang
build:clang --linkopt=-fuse-ld=lld-13
# Compile with the Scudo allocator
# https://llvm.org/docs/ScudoHardenedAllocator.html
build:clang --copt -fsanitize=scudo
# Compile with automatic variable initialization
# https://reviews.llvm.org/rL349442
build:clang --copt -ftrivial-auto-var-init=pattern
# Compilation modes
build:clang-release --config=clang
build:clang-release --config=release
# Basic ASAN/UBSAN that works for gcc
build:asan --config=sanitizer
build:asan --config=debug
# ASAN install its signal handler, disable ours so the stacktrace will be printed by ASAN
build:asan --define signal_trace=disabled
build:asan --define ENVOY_CONFIG_ASAN=1
# FIXME(nareddyt): Enable ubsan builds
# See https://github.com/GoogleCloudPlatform/esp-v2/issues/462
#
# build:asan --copt -fsanitize=address,undefined
# build:asan --linkopt -fsanitize=address,undefined
build:asan --copt -fsanitize=address
build:asan --linkopt -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=UBSAN_OPTIONS=halt_on_error=true:print_stacktrace=1
build:asan --test_env=ASAN_SYMBOLIZER_PATH
build:clang-asan --config=asan
build:clang-asan --action_env=ENVOY_UBSAN_VPTR=1
build:clang-asan --linkopt -fuse-ld=lld-13
build:clang-asan --copt -fno-sanitize=vptr,function
build:clang-asan --linkopt -fno-sanitize=vptr,function
build:clang-asan --copt -fno-optimize-sibling-calls
build:clang-asan --copt -fno-omit-frame-pointer
build:asan --config=debug
build:clang-tsan --config=sanitizer
build:clang-tsan --define ENVOY_CONFIG_TSAN=1
build:clang-tsan --copt -fsanitize=thread
build:clang-tsan --linkopt -fsanitize=thread
build:clang-tsan --copt -DEVENT__DISABLE_DEBUG_MODE
# Fuzz builds
build:asan-fuzzer --config=clang-asan
build:asan-fuzzer -c opt
build:asan-fuzzer --action_env=CC=clang-13
build:asan-fuzzer --action_env=CXX=clang++-13
build:asan-fuzzer --nocache_test_results
build:asan-fuzzer --define=FUZZING_ENGINE=libfuzzer
build:asan-fuzzer --copt=-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
build:asan-fuzzer --copt=-fsanitize=fuzzer-no-link
# Remove UBSAN halt_on_error to avoid crashing on protobuf errors.
build:asan-fuzzer --test_env=UBSAN_OPTIONS=print_stacktrace=1
# Coverage
coverage --config=coverage
build:coverage --action_env=BAZEL_USE_LLVM_NATIVE_COVERAGE=1
build:coverage --action_env=GCOV=llvm-profdata
build:coverage --action_env=CC=clang-13
build:coverage --action_env=CXX=clang++-13
build:coverage --copt=-DNDEBUG
build:coverage --test_timeout=900
build:coverage --define=ENVOY_CONFIG_COVERAGE=1
build:coverage --cxxopt="-DENVOY_CONFIG_COVERAGE=1"
build:coverage --coverage_support=@envoy//bazel/coverage:coverage_support
build:coverage --test_env=CC_CODE_COVERAGE_SCRIPT=external/envoy/bazel/coverage/collect_cc_coverage.sh
build:coverage --test_env=HEAPCHECK=
build:coverage --combined_report=lcov
build:coverage --strategy=TestRunner=sandboxed,local
build:coverage --strategy=CoverageReport=sandboxed,local
build:coverage --experimental_use_llvm_covmap
build:coverage --collect_code_coverage
build:coverage --test_tag_filters=-nocoverage
build:coverage --instrumentation_filter="//src[/:]"
coverage:test-coverage --test_arg="--log-path /dev/null"
coverage:test-coverage --test_arg="-l trace"
coverage:fuzz-coverage --config=asan-fuzzer
coverage:fuzz-coverage --run_under=@envoy//bazel/coverage:fuzz_coverage_wrapper.sh