# Copyright 2019 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

###############################################################################
# Common flags that apply to all configurations.
# Use sparingly for things common to all compilers and platforms.
###############################################################################
# Prevent invalid caching if input files are modified during a build.
build --experimental_guard_against_concurrent_changes
# Default to optimized builds
# Override via: "-c dbg" or --compilation_mode=dbg
build --compilation_mode=opt
# Used in TensorFlow, so we have to enable it here as well.
common --experimental_repo_remote_exec
# Actually printing output on errors is... a useful default
test --test_output=errors

# Includes a startup option, so we can't put this in a config, but it doesn't
# hurt anything on non-windows platforms.
# Enables unix-style runfiles link trees on Windows. Requires enabling symlink
# permissions: Enable Developer Mode in the Developer Settings page of the
# system settings. See
# https://docs.bazel.build/versions/master/windows.html#enable-symlink-support
# and https://blogs.windows.com/windowsdeveloper/2016/12/02/symlinks-windows-10/
startup --windows_enable_symlinks
build --enable_runfiles

# TODO: Transition to the explicit init_py mechanism. See #2405
# This is commented out while considering transition path but left as a
# breadcrumb.
# build --incompatible_default_to_explicit_init_py

###############################################################################
# Build settings flag aliases. See https://bazel.build/rules/config
###############################################################################
build --flag_alias=iree_drivers=//iree/hal/drivers:enabled_drivers

###############################################################################
# Options for "generic_gcc" builds
###############################################################################

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

# TODO: OSS assert builds of TF became non functional around 1/27/2022. RIP.
# Default to adding back asserts in optimized builds.
# This is a good compromise between runtime and debugability.
#build:generic_gcc --copt=-UNDEBUG

# Disable warnings we don't care about or that generally have a low signal/noise
# ratio.
build:generic_gcc --copt=-Wno-unused-but-set-parameter
build:generic_gcc --copt=-Wno-comment
build:generic_gcc --copt=-Wno-attributes
# NOTE: from a TF dep: external/upb/upb/upb.c and fails on GCC 10.
build:generic_gcc --copt=-Wno-stringop-truncation

###############################################################################
# Options for "generic_clang" builds: these options should generally apply to
# either clang or gcc and are curated based on need.
###############################################################################

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

# TODO: OSS assert builds of TF became non functional around 1/27/2022. RIP.
# Default to adding back asserts in optimized builds.
# This is a good compromise between runtime and debugability.
#build:generic_clang --copt=-UNDEBUG

# Treat warnings as errors...
build:generic_clang --copt=-Werror --host_copt=-Werror
# ...and silence them outside of the workspace.
build:generic_clang --per_file_copt=external/.*@-w
# ...and silence them on host builds. There is no host_per_file_copt and
# everything we build in the host configuration we either also build in the
# target configuration or is external, so we can't control it.
# If/when Bazel supports --host_per_file_copt, we could use that instead:
# https://github.com/bazelbuild/bazel/issues/12406.
# Would need to then make all the --copt below duplicated with --host_copt.
build:generic_clang --host_copt=-w

# Set clang diagnostics. These largely match the set of warnings used within
# Google. They have not been audited super carefully by the IREE team but are
# generally thought to be a good set and consistency with those used internally
# is very useful when importing. If you feel that some of these should be
# different, please raise an issue!

# Please keep these in sync with build_tools/cmake/iree_copts.cmake

build:generic_clang --copt=-Wall

# Disable warnings we don't care about or that generally have a low signal/noise
# ratio.
build:generic_clang --copt=-Wno-ambiguous-member-template
build:generic_clang --copt=-Wno-char-subscripts
build:generic_clang --copt=-Wno-deprecated-declarations
build:generic_clang --copt=-Wno-extern-c-compat # Matches upstream. Cannot impact due to extern C inclusion method.
build:generic_clang --copt=-Wno-gnu-alignof-expression
build:generic_clang --copt=-Wno-gnu-variable-sized-type-not-at-end
build:generic_clang --copt=-Wno-ignored-optimization-argument
build:generic_clang --copt=-Wno-invalid-offsetof # Technically UB but needed for intrusive ptrs
build:generic_clang --copt=-Wno-invalid-source-encoding
build:generic_clang --copt=-Wno-mismatched-tags
build:generic_clang --copt=-Wno-pointer-sign
build:generic_clang --copt=-Wno-reserved-user-defined-literal
build:generic_clang --copt=-Wno-return-type-c-linkage
build:generic_clang --copt=-Wno-self-assign-overloaded
build:generic_clang --copt=-Wno-sign-compare
build:generic_clang --copt=-Wno-signed-unsigned-wchar
build:generic_clang --copt=-Wno-strict-overflow
build:generic_clang --copt=-Wno-trigraphs
build:generic_clang --copt=-Wno-unknown-pragmas
build:generic_clang --copt=-Wno-unknown-warning-option
build:generic_clang --copt=-Wno-unused-command-line-argument
build:generic_clang --copt=-Wno-unused-const-variable
build:generic_clang --copt=-Wno-unused-function
build:generic_clang --copt=-Wno-unused-local-typedef
build:generic_clang --copt=-Wno-unused-private-field
build:generic_clang --copt=-Wno-user-defined-warnings

# Explicitly enable some additional warnings.
# Some of these aren't on by default, or under -Wall, or are subsets of warnings
# turned off above.
build:generic_clang --copt=-Wctad-maybe-unsupported
build:generic_clang --copt=-Wfloat-overflow-conversion
build:generic_clang --copt=-Wfloat-zero-conversion
build:generic_clang --copt=-Wfor-loop-analysis
build:generic_clang --copt=-Wformat-security
build:generic_clang --copt=-Wgnu-redeclared-enum
build:generic_clang --copt=-Wimplicit-fallthrough
build:generic_clang --copt=-Winfinite-recursion
build:generic_clang --copt=-Wliteral-conversion
build:generic_clang --copt=-Wnon-virtual-dtor
build:generic_clang --copt=-Woverloaded-virtual
build:generic_clang --copt=-Wself-assign
build:generic_clang --copt=-Wstring-conversion
build:generic_clang --copt=-Wtautological-overlap-compare
build:generic_clang --copt=-Wthread-safety
build:generic_clang --copt=-Wthread-safety-beta
build:generic_clang --copt=-Wunused-comparison
build:generic_clang --copt=-Wvla

###############################################################################
# Additional options for MacOS based clang builds.
# Try to keep these scoped to exclusions for third_party code and prefer
# fixing issues local to the project.
###############################################################################

build:macos_clang --config=generic_clang
build:macos_clang --per_file_copt=tensorflow,iree_tf_compiler@-Wno-unused-variable
build:macos_clang --per_file_copt=tensorflow,iree_tf_compiler,utils@-Wno-range-loop-analysis

build:macos_clang_release --config=macos_clang
build:macos_clang_release --per_file_copt=tensorflow,iree_tf_compiler@-Wno-unused-variable
build:macos_clang_release --per_file_copt=tensorflow,iree_tf_compiler,utils@-Wno-range-loop-analysis
build:macos_clang_release --compilation_mode=opt
build:macos_clang_release --copt=-DNDEBUG

###############################################################################
# Additional options for release builds. These do *not* automatically pull in
# the corresponding compiler config (e.g. generic_clang) because this is likely
# to already be set in the user's configured.bazelrc and setting a config twice
# causes flags to be passed twice.
###############################################################################
build:generic_clang_release --compilation_mode=opt
build:generic_clang_release --copt=-DNDEBUG
build:generic_clang_release --linkopt=-Wl,--strip-all
build:generic_gcc_release --compilation_mode=opt
build:generic_gcc_release --copt=-DNDEBUG
build:generic_gcc_release --linkopt=-Wl,--strip-all
# MSVC doesn't store symbols in the binary (they're in separate .pdb files), so
# nothing needs to be stripped.
build:msvc_release --compilation_mode=opt

###############################################################################
# Options for building with address sanitizer.
# https://github.com/google/sanitizers/wiki/AddressSanitizer
###############################################################################

# ASAN (address sanitizer)
# https://clang.llvm.org/docs/AddressSanitizer.html
build:asan --config=sanitizer
build:asan --features=asan
build:asan --copt=-fsanitize=address
build:asan --copt=-fsanitize-address-use-after-scope
build:asan --linkopt=-fsanitize=address
build:asan --cc_output_directory_tag=asan
build:asan --copt=-DADDRESS_SANITIZER

# MSAN (memory sanitizer)
# https://clang.llvm.org/docs/MemorySanitizer.html
build:msan --config=sanitizer
build:msan --features=msan
build:msan --copt=-fsanitize=memory
build:msan --copt=-fsanitize-memory-track-origins
build:msan --linkopt=-fsanitize=memory
build:msan --cc_output_directory_tag=msan
build:msan --copt=-DMEMORY_SANITIZER

# TSAN (thread sanitizer)
# https://clang.llvm.org/docs/ThreadSanitizer.html
build:tsan --config=sanitizer
build:tsan --features=tsan
build:tsan --copt=-fsanitize=thread
build:tsan --linkopt=-fsanitize=thread
build:tsan --cc_output_directory_tag=tsan
build:tsan --copt=-DTHREAD_SANITIZER

# UBSAN (undefined behavior sanitizer)
# https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
build:ubsan --config=sanitizer
build:ubsan --features=ubsan
build:ubsan --copt=-fsanitize=undefined
build:ubsan --linkopt=-fsanitize=undefined
build:ubsan --linkopt=-lubsan
build:ubsan --cc_output_directory_tag=ubsan

# Don't strip debug info
build:sanitizer --strip=never
# Ignore settings of `linkopts = ["-static"]` which can screw up the sanitizer.
# We don't use this in IREE (that's what linkstatic is for), but it could show
# up in dependencies.
build:sanitizer --force_ignore_dash_static
# sanitizer tests tend to take longer, so increase the timeouts
build:sanitizer --test_timeout=120,600,1800,-1
# Get better stack traces
build:sanitizer --copt=-fno-omit-frame-pointer

###############################################################################
# Architecture specific options
###############################################################################

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

###############################################################################
# Configuration for caching remotely using Remote Build Execution (RBE)
# https://cloud.google.com/remote-build-execution/
# Based on https://github.com/bazelbuild/bazel-toolchains/blob/master/bazelrc/bazel-1.0.0.bazelrc
# Writing to the remote cache is limited to the CI to ensure a stable
# environment. Reading from the remote cache building in a place other than the
# CI is at your own risk. To do so pass `--noremote_upload_local_results` in
# addition to the config for the appropriate cache.
# We gave up on remote execution due to the amount of toolchain configuration
# required.
###############################################################################

# Config for executing locally and caching the results to the remote cache.
# This requires permissions to write to the remote cache, which only the CI
# machines have.

# Enable authentication. This will pick up application default credentials by
# default. You can use --google_credentials=some_file.json to use a service
# account credential instead.
build:_remote_cache_base --google_default_credentials=true
# Point to the remote instance constructed in the iree-oss project
build:_remote_cache_base --remote_instance_name=projects/iree-oss/instances/default_instance

build:_remote_cache_base --remote_cache=grpcs://remotebuildexecution.googleapis.com

# --config=remote_cache_bazel_ci
build:remote_cache_bazel_ci --config=_remote_cache_base
# The cache key specifies the environment, which in this case points to the
# specific docker container the CI Bazel builds are run in. The image URL is
# included for clarity and so that this reference is automatically updated by
# manage_images.py
build:remote_cache_bazel_ci --host_platform_remote_properties_override='properties:{name:"cache-silo-key" value:"gcr.io/iree-oss/frontends-swiftshader@sha256:aeb8de9fb7af3913d385ec6b274320197d61aa7bc51a6e8bc0deba644da3e405"}'

###############################################################################
# Configuration for uploading build results to Result Store UI
# https://cloud.google.com/remote-build-execution/docs/results-ui/getting-started-results-ui
# Can be used either with or without remote caching.
###############################################################################

# Options for connecting to the IREE GCP remote build project. These are
# repeated separately from _remote_cache_base to avoid warnings about configs
# being expanded more than once when a remote caching config is used together
# with result store (even though the warnings are spurious).

build:rs --google_default_credentials=true
build:rs --remote_instance_name=projects/iree-oss/instances/default_instance

build:rs --bes_backend="buildeventservice.googleapis.com"
build:rs --bes_results_url="https://source.cloud.google.com/results/invocations/"
build:rs --project_id=iree-oss

###############################################################################
# Windows specific flags for building with VC.
###############################################################################

build:_msvc_base --define=iree_is_msvc=true

# Bazel gets confused and sometimes loses track of Bash.
build:_msvc_base --action_env BAZEL_SH='bash'

# Find the source of truth for these in iree_copts.cmake.
build:_msvc_base --copt=/DWIN32_LEAN_AND_MEAN
build:_msvc_base --copt=/DNOMINMAX
build:_msvc_base --copt=/D_USE_MATH_DEFINES
build:_msvc_base --copt=/D_CRT_SECURE_NO_WARNINGS
build:_msvc_base --copt=/D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
build:_msvc_base --copt=/EHsc
build:_msvc_base --copt=/bigobj

build:_msvc_base --copt=/wd4200
build:_msvc_base --copt=/wd4018
build:_msvc_base --copt=/wd4146  # operator applied to unsigned type, result still unsigned
build:_msvc_base --copt=/wd4244  # possible loss of data
build:_msvc_base --copt=/wd4267  # initializing: possible loss of data
build:_msvc_base --copt=/wd4005  # allow: macro redefinition
build:_msvc_base --copt=/wd4065  # allow: switch statement contains 'default' but no 'case' labels
build:_msvc_base --copt=/wd4141  # allow: inline used more than once
build:_msvc_base --copt=/wd4624  # allow: destructor was implicitly defined as deleted
build:_msvc_base --copt=/wd5105  # macro expansion producing 'defined' has undefined behavior

# And some more explicit disables. For some reason the `/w` on external doesn't
# work for these, maybe they come from headers?
# new warning with the standards-compliant preprocessor. winbase itself is not standards-compliant
build:_msvc_base --per_file_copt=mkl_dnn@/wd4551 # missing argument list
build:_msvc_base --per_file_copt=mkl_dnn@/wd4068 # unknown pragma
build:_msvc_base --per_file_copt=farmhash@/wd4319 # zero extending to T of greater size

build:_msvc_base --linkopt=/IGNORE:4217 # mismatch import/export declspec
build:_msvc_base --linkopt=/IGNORE:4001 # no object files

# Flags to make tensorflow build.
# Some of these are also of general use and fine to enable globally for windows.
build:_msvc_base --copt=/arch:AVX
# Host and target are the same in windows so don't waste time building both.
build:_msvc_base --distinct_host_configuration=false
# TensorFlow requires the "monolithic" build mode for now on Windows.
build:_msvc_base --define framework_shared_object=false

# Workaround WinGDI.h defining `ERROR`, which conflicts with logging macros.
# Note that IREE and TensorFlow both `#undef ERROR` and define their own
# separate logging constants with the same name, but IREE needs the Windows
# "graphics device interface" (GDI) for certain GUI sample projects.
build:_msvc_base --per_file_copt=tensorflow@-DNOGDI

# Disables TensorFlow eigen bloat and reduces compile times.
build:_msvc_base --define=override_eigen_strong_inline=true

# Another TensorFlow flag from their config script.
build:_msvc_base --define with_default_optimizations=true

# Separate configs for different MSVC versions as we might want slightly different options.
build:msvc2017 --config=_msvc_base
build:msvc2019 --config=_msvc_base

# TensorFlow builds depend on this flag, but it doesn't appear to work with
# gmock in some of our unit tests, so only enable it for TensorFlow files.
# MSVC (Windows): Standards-conformant preprocessor mode
# See https://docs.microsoft.com/en-us/cpp/preprocessor/preprocessor-experimental-overview
build:msvc2017 --per_file_copt=tensorflow@/experimental:preprocessor
# It's also called different things in different MSVC versions and will spam the logs
# if we use the old name with a newer msvc.
build:msvc2019 --per_file_copt=tensorflow@/Zc:preprocessor

# Assume the newer version and alias to --config=windows
build:msvc --config=msvc2019
build:windows --config=msvc
