# Required bazel flags for building IREE.

# The user.bazelrc file is not checked in but available for local mods.
try-import user.bazelrc

# Disable warnings we don't care about.
build --copt=-Wno-unused-local-typedef

# C++14 standard version is required.
build --cxxopt=-std=c++14 --host_cxxopt=-std=c++14

# Default to an optimized build.
# Override via: "-c dbg" or --compilation_mode=dbg
build --compilation_mode=opt

# Disable visibility checks (works around some private deps in TensorFlow that
# are being unbundled soon anyway).
build --nocheck_visibility

# Enable some default cpu flags for x86 optimization.
build:x86opt --copt=-mavx2
