# This config option is used for CPU backend.
build:cpu --define=build_with_onednn=true
build:cpu --define=build_with_graph_compiler=true
build:cpu --copt=-DINTEL_CPU_ONLY
build:cpu --copt=-march=native
build:cpu --cxxopt=-std=c++14
build:cpu --host_cxxopt=-std=c++14
build:cpu --define=device=cpu
build:cpu --config=onednn_v3
build:cpu -c opt
# TODO(itex): Enable TBB by default once it's ready.
# build:cpu --define=build_with_tbb=true

# This config option is used for GPU backend.
build:gpu --crosstool_top=@local_config_dpcpp//crosstool_dpcpp:toolchain
build:gpu --define=using_dpcpp=true --define=build_with_dpcpp=true
build:gpu --define=device=gpu
build:gpu --config=onednn_v3

# This config build with oneDNN V3 API, which is enabled by default
build:onednn_v3 --copt=-DITEX_ONEDNN_3_0 --define=onednn_version=3

# This config option is used for LLGA (OneDnnGraph) debugging
build:llga-debug --define=build_with_llga_debug=true

# This config option is used for LLGA (OneDnnGraph) graph compiler backend,  currently only available for onednn graph v2
build:graph-compiler --define=build_with_graph_compiler=true

build:jax --config=gpu
build:jax --copt=-DITEX_BUILD_JAX
build:jax --define=build_for_jax=true

build --define=use_fast_cpp_protos=true
build --define=allow_oversize_protos=true

build --spawn_strategy=standalone
build --strategy=Genrule=standalone
build -c opt

# Default paths for TF_SYSTEM_LIBS
build --define=PREFIX=/usr
build --define=LIBDIR=$(PREFIX)/lib
build --define=INCLUDEDIR=$(PREFIX)/include

# host build is useless
build --distinct_host_configuration=false

# Build github revision info to binary
build --workspace_status_command=./itex/tools/get_itex_version.sh

# Default options should come above this line

# Options from ./configure
try-import %workspace%/.itex_configure.bazelrc

# Put user-specific options in .bazelrc.user
try-import %workspace%/.bazelrc.user
