-
Notifications
You must be signed in to change notification settings - Fork 200
Expand file tree
/
Copy path.bazelrc
More file actions
118 lines (88 loc) · 3.16 KB
/
.bazelrc
File metadata and controls
118 lines (88 loc) · 3.16 KB
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
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ~~~~ General flags ~~~~
# Common flags
common --announce_rc
common --experimental_repo_remote_exec
common --verbose_failures
# C++ language selection. The variants are needed because MS Visual Studio on
# Windows uses slightly different syntax.
common --enable_platform_specific_config
build:linux --copt=-std=c++17
build:linux --cxxopt=-std=c++17
build:macos --copt=-std=c++17
build:macos --cxxopt=-std=c++17
build:windows --copt=/std:c++17
build:windows --cxxopt=/std:c++17
build --copt=-D_GLIBCXX_USE_CXX11_ABI=1
build --cxxopt=-D_GLIBCXX_USE_CXX11_ABI=1
# The default for vector instruction sets is to exclude them.
# Config options later in this file can be layered to enable them.
build --build_tag_filters=-avx,-sse
test --test_tag_filters=-avx,-sse
# "bazel run" inherits options from "build". Our run targets don't have tags,
# so we must clear the filter explicitly or we get "No targets found to run".
run:sse --build_tag_filters=
run:avx --build_tag_filters=
# CUDA options
build:cuda --@local_config_cuda//:enable_cuda
build:cuda --define=using_cuda=true --define=using_cuda_nvcc=true
# Test flags
test --test_output=errors
test --test_timeout=600
# Configs for verbose builds & tests
common:verbose --announce_rc
common:verbose --auto_output_filter=none
build:verbose --show_progress_rate_limit=1
test:verbose --test_summary=detailed
# ~~~~ Sanitizers (choose one, or nosan for none) ~~~~
# Shared config for sanitizers
build:sanitizer --strip=never
build:sanitizer --copt=-O1
build:sanitizer --copt=-fno-omit-frame-pointer
# Address sanitizer
build:asan --config=sanitizer
build:asan --copt=-fsanitize=address
build:asan --linkopt=-fsanitize=address
# Memory sanitizer
build:msan --config=sanitizer
build:msan --copt=-fsanitize=leak
build:msan --linkopt=-fsanitize=leak
# No sanitizers
build:nosan --
# ~~~~ Instruction set options (choose one) ~~~~
# Build with AVX2 + FMA
build:avx --copt=-O3
build:avx --copt=-mavx2
build:avx --copt=-mfma
build:avx --build_tag_filters=avx --ui_event_filters=-WARNING
test:avx --test_tag_filters=avx --ui_event_filters=-WARNING
# Build with SSE
build:sse --copt=-O3
build:sse --copt=-msse4
build:sse --build_tag_filters=sse --ui_event_filters=-WARNING
test:sse --test_tag_filters=sse --ui_event_filters=-WARNING
# Build without AVX or SSE
build:basic --copt=-O3
# ~~~~ Parallelization (choose one, or nopenmp for none) ~~~~
# Build with OpenMP
build:openmp --copt=-fopenmp
build:openmp --linkopt=-lgomp
# No OpenMP
build:nopenmp --
# ~~~~ Memory handler (choose one) ~~~~
# Build with tcmalloc
build:tcmalloc --linkopt=-ltcmalloc
# Build using malloc (default)
build:malloc --