1818# Use host-OS-specific config lines from bazelrc files.
1919build --enable_platform_specific_config=true
2020
21- # The project requires C++ >= 14. By default Bazel adds `-std=c++0x` which
22- # disables C++14 features, even if the compilers defaults to C++ >= 14
23- build:linux --cxxopt=-std=c++14
24- build:macos --cxxopt=-std=c++14
25- # Protobuf and gRPC require (or soon will require) C++14 to compile the "host"
21+ build --features=external_include_paths
22+ build --cxxopt=-Wno-private-header
23+
24+ # The project requires C++ >= 17.
25+ build:linux --cxxopt=-std=c++17
26+ build:macos --cxxopt=-std=c++17
27+ # Protobuf and gRPC require C++17 to compile the "host"
2628# targets, such as protoc and the grpc plugin.
27- build:linux --host_cxxopt=-std=c++14
28- build:macos --host_cxxopt=-std=c++14
29+ build:linux --host_cxxopt=-std=c++17
30+ build:macos --host_cxxopt=-std=c++17
2931
3032# Do not create the convenience links. They are inconvenient when the build
3133# runs inside a docker image or if one builds a quickstart and then builds
@@ -35,24 +37,18 @@ build --experimental_convenience_symlinks=ignore
3537# We mirror critical tarballs from several sources in case the canonical source
3638# is temporarily unavailable, e.g., github.com being down. This option and flag
3739# automatically rewrites the URLs.
38- build --experimental_downloader_config=bazel/downloader.cfg
40+ # TODO(#15549) - re-enable once the downloader config is fixed.
41+ # build --experimental_downloader_config=bazel/downloader.cfg
3942
4043# It is frustrating when long-running builds/tests fail, but it is even more
4144# frustrating when they fail and don't give any output. So, remove the limit.
4245build --experimental_ui_max_stdouterr_bytes=-1
4346
44- # TODO(#13311) - remove once gRPC works with Bazel v7 or when gRPC stops using
45- # `apple_rules`.
46- common:macos --repo_env=BAZEL_NO_APPLE_CPP_TOOLCHAIN=1
47-
4847# Inject ${GTEST_SHUFFLE} and ${GTEST_RANDOM_SEED} into the test environment
4948# if they are set in the enclosing environment. This allows for running tests
5049# in a random order to help expose undesirable interdependencies.
5150test --test_env=GTEST_SHUFFLE --test_env=GTEST_RANDOM_SEED
5251
53- # By default, build the library with OpenTelemetry
54- build --//:enable_opentelemetry
55-
5652# Don't show warnings when building external dependencies. This still shows
5753# warnings when using these dependencies (say in headers).
5854build --output_filter='^//((?!(external):).)*$'
@@ -73,6 +69,8 @@ build:sanitizer --strip=never
7369build:sanitizer --copt=-Og
7470build:sanitizer --copt=-g
7571build:sanitizer --copt=-fno-omit-frame-pointer
72+ #build:sanitizer --features=external_include_paths
73+
7674
7775# --config asan: Address Sanitizer
7876build:asan --config=sanitizer
@@ -105,6 +103,8 @@ build:ubsan --copt=-DCURL_STRICTER
105103build:ubsan --linkopt=-fsanitize=undefined
106104build:ubsan --linkopt=-fsanitize-link-c++-runtime
107105build:ubsan --action_env=UBSAN_OPTIONS=halt_on_error=1:print_stacktrace=1
106+ #build:ubsan --features=external_include_paths
107+
108108
109109# --config xsan: Runs misc. sanitizers that aren't covered elsewhere.
110110build:xsan --config=sanitizer
@@ -131,3 +131,4 @@ build:msan --linkopt=-L/usr/lib/x86_64-unknown-linux-gnu
131131
132132# --config otel2: Open Telemetery ABI version 2
133133build:otel2 --cxxopt=-DOPENTELEMETRY_ABI_VERSION_NO=2
134+ build:otel2 --@opentelemetry-cpp//api:abi_version_no=2
0 commit comments