| # Copyright 2022 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 | |
| # | |
| # http://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. | |
| common --enable_platform_specific_config | |
| # Force the use of Clang for all builds. | |
| build --action_env=CC=clang | |
| build --action_env=CXX=clang++ | |
| # Use the C++17 standard. | |
| build --cxxopt=-std=c++17 | |
| # Warn about the extensions that are not supported in C++17. | |
| # TODO(b/391433873): Turn warnings into errors once existing warnings are fixed. | |
| build --cxxopt=-Wc++17-compat-pedantic | |
| # Required by the cc_fuzztest_grammar_library rule, which uses the | |
| # "exec configuration" (https://bazel.build/reference/be/general#cross-compilation-considerations). | |
| # The --cxxopt flag does not apply to the exec configuration, only the | |
| # --host_cxxopt flag (https://bazel.build/docs/user-manual#host-cxxopt). | |
| build --host_cxxopt=-std=c++17 | |
| build --host_cxxopt=-Wc++17-compat-pedantic | |
| # Abseil emits a warning on clang <16 that's treated as an error by default. | |
| # See https://github.com/abseil/abseil-cpp/issues/2073. | |
| build --per_file_copt=-external/.*@-Wno-invalid-partial-specialization | |
| # Build GoogleTest with ABSL support. | |
| build --define absl=1 | |
| build:macos --macos_minimum_os=10.15 | |
| # To create this file, please run: | |
| # | |
| # bazel run //bazel:setup_configs > fuzztest.bazelrc | |
| # | |
| try-import %workspace%/fuzztest.bazelrc | |
| # Configure rules_rust to use the nightly channel toolchain by default. | |
| build --@rules_rust//rust/toolchain/channel:channel=nightly |