.bazelrc 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # temporary fix for https://github.com/bazelbuild/bazel/issues/12905 on macOS
  2. build --features=-debug_prefix_map_pwd_is_dot
  3. build --extra_toolchains=@system_python//:python_toolchain
  4. # Use our custom-configured c++ toolchain.
  5. build:m32 --copt=-m32 --linkopt=-m32
  6. build:asan --copt=-fsanitize=address --linkopt=-fsanitize=address
  7. # For Valgrind, we have to disable checks of "possible" leaks because the Python
  8. # interpreter does the sorts of things that flag Valgrind "possible" leak checks.
  9. # Ideally we could enforce a stricter check for the non-Python tests, but I don't
  10. # know of an easy way to do that.
  11. #
  12. # We also have to disable pymalloc to avoid triggering Valgrind.
  13. build:valgrind --run_under='valgrind --leak-check=full --track-origins=yes --trace-children=yes --show-leak-kinds=all --error-exitcode=1 --num-callers=500 ' --action_env=PYTHONMALLOC=malloc
  14. build:ubsan --copt=-fsanitize=undefined --linkopt=-fsanitize=undefined --action_env=UBSAN_OPTIONS=halt_on_error=1:print_stacktrace=1
  15. # Workaround for the fact that Bazel links with $CC, not $CXX
  16. # https://github.com/bazelbuild/bazel/issues/11122#issuecomment-613746748
  17. build:ubsan --copt=-fno-sanitize=function --copt=-fno-sanitize=vptr
  18. # Workaround for https://bugs.llvm.org/show_bug.cgi?id=16404
  19. build:ubsan --linkopt=--rtlib=compiler-rt --linkopt=-lunwind
  20. build:Werror --copt=-Werror
  21. build:Werror --per_file_copt=json/parser@-Wno-error
  22. build:Werror --per_file_copt=com_google_protobuf@-Wno-error
  23. # GCC's -fanalyzer, a deeper static analysis than normal warnings.
  24. build:analyzer --copt=-fanalyzer --copt=-Werror
  25. build:analyzer --per_file_copt=json/parser@-fno-analyzer
  26. build:analyzer --per_file_copt=com_google_protobuf@-fno-analyzer
  27. build:analyzer --per_file_copt=com_github_google_benchmark@-fno-analyzer
  28. # --config=asan-libfuzzer
  29. build:asan-libfuzzer --action_env=CC=clang
  30. build:asan-libfuzzer --action_env=CXX=clang++
  31. build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
  32. build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
  33. build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan
  34. # --config=msan-libfuzzer
  35. build:msan-libfuzzer --action_env=CC=clang
  36. build:msan-libfuzzer --action_env=CXX=clang++
  37. build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
  38. build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
  39. build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=msan
  40. # --config=ubsan-libfuzzer
  41. build:ubsan-libfuzzer --action_env=CC=clang
  42. build:ubsan-libfuzzer --action_env=CXX=clang++
  43. build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
  44. build:ubsan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
  45. build:ubsan-libfuzzer --copt=-fsanitize=undefined
  46. build:ubsan-libfuzzer --linkopt=-fsanitize=undefined
  47. build:ubsan-libfuzzer --linkopt=-fsanitize-link-c++-runtime