| # Use our CROSSTOOL. |
| build --crosstool_top=//tools/cpp:toolchain |
| # Don't switch HOST compilers. |
| build --host_crosstool_top=//tools/cpp:toolchain |
| |
| # Always include debug information in the non-.stripped binaries. |
| build --strip=never |
| |
| # Use the malloc we want. |
| build --custom_malloc=//tools/cpp:malloc |
| |
| # Use our hermetic Python runtime. |
| build --python_top=//tools/python:runtime |
| |
| build:asan --copt -fsanitize=address |
| build:asan --linkopt -fsanitize=address --linkopt -ldl |
| build:asan --platform_suffix=-asan |
| build:asan --test_env ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.6 |
| build:asan --test_env ASAN_OPTIONS=detect_leaks=1:check_initialization_order=1:strict_init_order=1:detect_stack_use_after_return=1:detect_odr_violation=2:allow_user_segv_handler=1 |
| build:asan --copt -fsanitize-blacklist=tools/cpp/asan-blacklist |
| build:asan --define have_asan=true |
| |
| build:tsan --copt -fsanitize=thread --copt -DAOS_SANITIZER_thread |
| build:tsan --linkopt -fsanitize=thread |
| build:tsan --platform_suffix=-tsan |
| build:tsan --test_env TSAN_OPTIONS=external_symbolizer_path=/usr/bin/llvm-symbolizer-3.6:detect_deadlocks=1:second_deadlock_stack=1 |
| build:tsan --define have_tsan=true |
| |
| build:isan --copt -fsanitize=integer |
| build:isan --linkopt -fsanitize=integer |
| build:isan --platform_suffix=-isan |
| build:isan --test_env LLVM_SYMBOLIZER=/usr/bin/llvm-symbolizer-3.6 |
| build:isan --define have_isan=true |
| |
| build:ubsan --copt -fsanitize=undefined --copt -fno-sanitize-recover |
| # Bad alignment is just slow on x86 and traps on ARM, so we'll find |
| # it other ways, and some x86 code does it on purpose. |
| build:ubsan --copt -fno-sanitize=alignment |
| build:ubsan --linkopt -fsanitize=undefined |
| # TOOD(Brian): Remove this once Clang adds it itself like it should. |
| build:ubsan --linkopt /usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.ubsan_cxx-x86_64.a |
| build:ubsan --platform_suffix=-ubsan |
| build:ubsan --test_env UBSAN_OPTIONS=external_symbolizer_path=/usr/bin/llvm-symbolizer-3.6:color=always:print_stacktrace=1 |
| build:ubsan --copt -fsanitize-blacklist=tools/cpp/ubsan-blacklist |
| build:ubsan --define have_ubsan=true |
| |
| build:msan --copt -fsanitize=memory --copt -fsanitize-memory-track-origins |
| build:msan --linkopt -fsanitize=memory --linkopt -fsanitize-memory-track-origins |
| build:msan --platform_suffix=-msan |
| build:msan --test_env MSAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.6 |
| build:msan --define have_msan=true |
| |
| # Sometime, we want to be able to have eigen assertions run so that we can |
| # catch potential issues (e.g., accessing invalid indices). |
| build:eigen --copt -UNDEBUG |
| |
| # Show paths to a few more than just 1 target. |
| build --show_result 5 |
| # Dump the output of the failing test to stdout. |
| test --test_output=errors |
| |
| build --experimental_sandbox_base=/dev/shm/ |
| build --experimental_multi_threaded_digest |
| |
| build --sandbox_fake_hostname=true |
| build --sandbox_fake_username=true |
| |
| build --auto_cpu_environment_group=//tools:cpus |
| startup --host_jvm_args=-Dbazel.DigestFunction=SHA1 |
| |
| common --watchfs |
| |
| # Switch to SHA256 for compatibility with distributed caching. |
| startup --host_jvm_args=-Dbazel.DigestFunction=SHA256 |
| |
| build --spawn_strategy=linux-sandbox |
| build --experimental_sandbox_default_allow_network=false |
| |
| build --strategy=TypeScriptCompile=worker --strategy=AngularTemplateCompile=worker |
| |
| # Use our hermetic JDK. |
| # Note that this doesn't quite work fully, but it should. See |
| # https://github.com/bazelbuild/bazel/issues/6341 for ongoing discussion with |
| # upstream about this. |
| build --javabase=@openjdk_linux_archive//:jdk --host_javabase=@openjdk_linux_archive//:jdk |
| |
| build --noexperimental_separate_genfiles_directory |