| # Android configs. Bazel needs to have --cpu and --fat_apk_cpu both set to the |
| # target CPU to build transient dependencies correctly. See |
| # https://docs.bazel.build/versions/master/user-manual.html#flag--fat_apk_cpu |
| build:android --crosstool_top=//external:android/crosstool |
| build:android --host_crosstool_top=@bazel_tools//tools/cpp:toolchain |
| build:android_arm --config=android |
| build:android_arm --cpu=armeabi-v7a |
| build:android_arm --fat_apk_cpu=armeabi-v7a |
| build:android_arm64 --config=android |
| build:android_arm64 --cpu=arm64-v8a |
| build:android_arm64 --fat_apk_cpu=arm64-v8a |
| build:android_x86 --config=android |
| build:android_x86 --cpu=x86 |
| build:android_x86 --fat_apk_cpu=x86 |
| build:android_x86_64 --config=android |
| build:android_x86_64 --cpu=x86_64 |
| build:android_x86_64 --fat_apk_cpu=x86_64 |
| |
| # Sets the default Apple platform to macOS. |
| build --apple_platform_type=macos |
| |
| # Config to use a mostly-static build and disable modular op registration |
| # support (this will revert to loading TensorFlow with RTLD_GLOBAL in Python). |
| # By default, TensorFlow will build with a dependence on |
| # //tensorflow:libtensorflow_framework.so. |
| build:monolithic --define framework_shared_object=false |
| |
| # For projects which use TensorFlow as part of a Bazel build process, putting |
| # nothing in a bazelrc will default to a monolithic build. The following line |
| # opts in to modular op registration support by default. |
| build --define framework_shared_object=true |
| |
| # Please note that MKL on MacOS or windows is still not supported. |
| # If you would like to use a local MKL instead of downloading, please set the |
| # environment variable "TF_MKL_ROOT" every time before build. |
| build:mkl --define=build_with_mkl=true --define=enable_mkl=true |
| build:mkl --define=tensorflow_mkldnn_contraction_kernel=0 |
| build:mkl -c opt |
| |
| # This config option is used to enable MKL-DNN open source library only, |
| # without depending on MKL binary version. |
| build:mkl_open_source_only --define=build_with_mkl_dnn_only=true |
| build:mkl_open_source_only --define=build_with_mkl_dnn_v1_only=true |
| build:mkl_open_source_only --define=build_with_mkl=true --define=enable_mkl=true |
| build:mkl_open_source_only --define=tensorflow_mkldnn_contraction_kernel=0 |
| |
| build:download_clang --crosstool_top=@local_config_download_clang//:toolchain |
| build:download_clang --define=using_clang=true |
| build:download_clang --action_env TF_DOWNLOAD_CLANG=1 |
| # Instruct clang to use LLD for linking. |
| # This only works with GPU builds currently, since Bazel sets -B/usr/bin in |
| # auto-generated CPU crosstool, forcing /usr/bin/ld.lld to be preferred over |
| # the downloaded one. |
| build:download_clang_use_lld --linkopt='-fuse-ld=lld' |
| |
| # This config refers to building with CUDA available. It does not necessarily |
| # mean that we build CUDA op kernels. |
| build:using_cuda --define=using_cuda=true |
| build:using_cuda --action_env TF_NEED_CUDA=1 |
| build:using_cuda --crosstool_top=@local_config_cuda//crosstool:toolchain |
| |
| # This config refers to building CUDA op kernels with nvcc. |
| build:cuda --config=using_cuda |
| build:cuda --define=using_cuda_nvcc=true |
| |
| # This config refers to building CUDA op kernels with clang. |
| build:cuda_clang --config=using_cuda |
| build:cuda_clang --define=using_cuda_clang=true |
| build:cuda_clang --define=using_clang=true |
| |
| build:tensorrt --action_env TF_NEED_TENSORRT=1 |
| |
| build:rocm --crosstool_top=@local_config_rocm//crosstool:toolchain |
| build:rocm --define=using_rocm=true --define=using_rocm_hipcc=true |
| build:rocm --action_env TF_NEED_ROCM=1 |
| |
| build:sycl --crosstool_top=@local_config_sycl//crosstool:toolchain |
| build:sycl --define=using_sycl=true |
| build:sycl --action_env TF_NEED_OPENCL_SYCL=1 |
| |
| build:sycl_nodouble --config=sycl |
| build:sycl_nodouble --cxxopt -DTENSORFLOW_SYCL_NO_DOUBLE |
| |
| build:sycl_nodouble --config=sycl |
| build:sycl_asan --copt -fno-omit-frame-pointer --copt -fsanitize-coverage=3 --copt -DGPR_NO_DIRECT_SYSCALLS --linkopt -fPIC --linkopt -fsanitize=address |
| |
| build:sycl_nodouble --config=sycl |
| build:sycl_trisycl --define=using_trisycl=true |
| |
| # Options extracted from configure script |
| build:gdr --define=with_gdr_support=true |
| build:ngraph --define=with_ngraph_support=true |
| build:verbs --define=with_verbs_support=true |
| build:numa --define=with_numa_support=true |
| |
| # Options to disable default on features |
| build:noaws --define=no_aws_support=true |
| build:nogcp --define=no_gcp_support=true |
| build:nohdfs --define=no_hdfs_support=true |
| build:nokafka --define=no_kafka_support=true |
| build:noignite --define=no_ignite_support=true |
| build:nonccl --define=no_nccl_support=true |
| |
| build --define=use_fast_cpp_protos=true |
| build --define=allow_oversize_protos=true |
| |
| build -c opt |
| |
| # Make Bazel print out all options from rc files. |
| build --announce_rc |
| |
| # Other build flags. |
| build --define=grpc_no_ares=true |
| |
| # Modular TF build options |
| build:dynamic_kernels --define=dynamic_loaded_kernels=true |
| build:dynamic_kernels --copt=-DAUTOLOAD_DYNAMIC_KERNELS |
| |
| # Build TF with C++ 17 features. |
| build:c++17 --cxxopt=-std=c++1z |
| build:c++17 --cxxopt=-stdlib=libc++ |
| build:c++1z --config=c++17 |
| |
| # Default paths for TF_SYSTEM_LIBS |
| build --define=PREFIX=/usr |
| build --define=LIBDIR=$(PREFIX)/lib |
| build --define=INCLUDEDIR=$(PREFIX)/include |
| |
| # Suppress all warning messages. |
| build:short_logs --output_filter=DONT_MATCH_ANYTHING |
| |
| # Options when using remote execution |
| build:rbe --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 |
| build:rbe --auth_enabled=true |
| build:rbe --auth_scope=https://www.googleapis.com/auth/cloud-source-tools |
| build:rbe --define=EXECUTOR=remote |
| build:rbe --flaky_test_attempts=3 |
| build:rbe --jobs=200 |
| build:rbe --remote_accept_cached=true |
| build:rbe --remote_cache=remotebuildexecution.googleapis.com |
| build:rbe --remote_executor=remotebuildexecution.googleapis.com |
| build:rbe --remote_local_fallback=false |
| build:rbe --remote_timeout=600 |
| build:rbe --spawn_strategy=remote |
| build:rbe --strategy=Genrule=remote |
| build:rbe --strategy=Closure=remote |
| build:rbe --strategy=Javac=remote |
| build:rbe --strategy=TestRunner=remote |
| build:rbe --tls_enabled |
| test:rbe --test_env=USER=anon |
| |
| # Default options should come above this line |
| |
| # Options from ./configure |
| try-import %workspace%/.tf_configure.bazelrc |
| |
| # Put user-specific options in .bazelrc.user |
| try-import %workspace%/.bazelrc.user |