| # Copyright 2020 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. | |
| # Force the use of Clang for all builds. | |
| build --action_env=CC=clang-10 | |
| build --action_env=CXX=clang++-10 | |
| # Strict dependency check for C++ includes. | |
| build --features=layering_check | |
| # The ASAN configuration suitable for C++ unit tests. | |
| build:asan --copt=-fsanitize=address | |
| build:asan --linkopt=-fsanitize=address | |
| # LibFuzzer + ASAN | |
| build:asan-libfuzzer --//fuzzing:cc_engine=//fuzzing/engines:libfuzzer | |
| build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer | |
| build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan | |
| # LibFuzzer + MSAN | |
| build:msan-libfuzzer --//fuzzing:cc_engine=//fuzzing/engines:libfuzzer | |
| build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer | |
| build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=msan | |
| # LibFuzzer + MSAN (reproduction mode) | |
| build:msan-libfuzzer-repro --//fuzzing:cc_engine=//fuzzing/engines:libfuzzer | |
| build:msan-libfuzzer-repro --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer | |
| build:msan-libfuzzer-repro --@rules_fuzzing//fuzzing:cc_engine_sanitizer=msan-origin-tracking | |
| # LibFuzzer + UBSAN | |
| build:ubsan-libfuzzer --//fuzzing:cc_engine=//fuzzing/engines:libfuzzer | |
| build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer | |
| build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=ubsan | |
| # Honggfuzz + ASAN | |
| build:asan-honggfuzz --//fuzzing:cc_engine=//fuzzing/engines:honggfuzz | |
| build:asan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_instrumentation=honggfuzz | |
| build:asan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan | |
| # Honggfuzz + MSAN | |
| build:msan-honggfuzz --//fuzzing:cc_engine=//fuzzing/engines:honggfuzz | |
| build:msan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_instrumentation=honggfuzz | |
| build:msan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_sanitizer=msan | |
| # Honggfuzz + UBSAN | |
| build:ubsan-honggfuzz --//fuzzing:cc_engine=//fuzzing/engines:honggfuzz | |
| build:ubsan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_instrumentation=honggfuzz | |
| build:ubsan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_sanitizer=ubsan | |
| # Replay + ASAN | |
| build:asan-replay --//fuzzing:cc_engine=//fuzzing/engines:replay | |
| build:asan-replay --@rules_fuzzing//fuzzing:cc_engine_instrumentation=none | |
| build:asan-replay --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan | |
| build:oss-fuzz --//fuzzing:cc_engine=@rules_fuzzing_oss_fuzz//:oss_fuzz_engine | |
| build:oss-fuzz --@rules_fuzzing//fuzzing:cc_engine_instrumentation=oss-fuzz | |
| build:oss-fuzz --@rules_fuzzing//fuzzing:cc_engine_sanitizer=none | |
| # Jazzer without sanitizer (Java only) | |
| build:jazzer --//fuzzing:java_engine=//fuzzing/engines:jazzer | |
| build:jazzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=jazzer | |
| build:jazzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=none | |
| # Workaround for https://github.com/bazelbuild/bazel/issues/11128 | |
| build:jazzer --//fuzzing:cc_engine_sanitizer=none | |
| # Jazzer + ASAN | |
| build:asan-jazzer --//fuzzing:java_engine=//fuzzing/engines:jazzer | |
| build:asan-jazzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=jazzer | |
| build:asan-jazzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan | |
| # Workaround for https://github.com/bazelbuild/bazel/issues/11128 | |
| build:asan-jazzer --//fuzzing:cc_engine_sanitizer=asan | |
| # Jazzer + UBSAN | |
| build:ubsan-jazzer --//fuzzing:java_engine=//fuzzing/engines:jazzer | |
| build:ubsan-jazzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=jazzer | |
| build:ubsan-jazzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=ubsan | |
| # Workaround for https://github.com/bazelbuild/bazel/issues/11128 | |
| build:ubsan-jazzer --//fuzzing:cc_engine_sanitizer=ubsan |