# 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.
###############################################################################

# Enable bzlmod (required for LLVM integration as of Nov 2025)
common --enable_bzlmod

# Bazel 8 disallows empty globs by default; IREE has test directories that
# may legitimately contain no files yet.
common --noincompatible_disallow_empty_glob

# Prevent invalid caching if input files are modified during a build.
build --guard_against_concurrent_changes
# Default to optimized builds
# Override via: "-c dbg" or --compilation_mode=dbg
build --compilation_mode=opt
# 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://bazel.build/configure/windows#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

# Disable split PIC/non-PIC build graphs and disable heuristic to link binaries
# dynamically by default. See: https://github.com/iree-org/iree/issues/13470
build --dynamic_mode=off
build --force_pic

###############################################################################
# Build settings flag aliases. See https://bazel.build/rules/config
###############################################################################
build --flag_alias=iree_drivers=//runtime/src/iree/hal/drivers:enabled_drivers
build --flag_alias=iree_runtime_drivers=//runtime/src/iree/hal/drivers:enabled_drivers
build --flag_alias=iree_compiler_plugins=//compiler/plugins:enabled_plugins
build --flag_alias=iree_link_compiler_shared=//compiler/src/iree/compiler/API:link_shared
# Equivalent to CMake flag IREE_ENABLE_RUNTIME_TRACING + IREE_TRACING_PROVIDER.
# Builds the runtime with tracing support enabled.
build --flag_alias=iree_enable_runtime_tracing=//runtime/src/iree/base/tracing:tracing_provider

###############################################################################
# Local development configuration.
# Use with: bazel build --config=localdev //...
#
# Combines several optimizations for faster local iteration:
# - Skymeld (merged analysis/execution for faster multi-target builds)
#
# Note: Disk cache and platform-specific settings (e.g., Linux ramdisk sandbox)
# are configured in user.bazelrc (created by iree-bazel-configure).
###############################################################################

# Default (allows --config=localdev for consistency).
query:localdev --output=label

build:localdev --experimental_merged_skyframe_analysis_execution

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

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

# 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

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

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

# 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
# ...except for unused command-line arguments, which fire spuriously during
# LTO backend compilation when Bazel passes linkopts to the compiler.
build:generic_clang --copt=-Wno-error=unused-command-line-argument
# ...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

# This is currently flagging the status macros (https://github.com/iree-org/iree/issues/16946)
build:generic_clang --copt=-Wno-c++20-extensions --host_copt=-Wno-c++20-extensions

# 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-extern-c-compat # Matches upstream. Cannot impact due to extern C inclusion method.
build:generic_clang --copt=-Wno-invalid-offsetof # Technically UB but needed for intrusive ptrs
build:generic_clang --copt=-Wno-unused-const-variable
build:generic_clang --copt=-Wno-unused-function
build:generic_clang --copt=-Wno-unused-lambda-capture
build:generic_clang --copt=-Wno-unused-private-field
build:generic_clang --copt=-Wno-pointer-sign
build:generic_clang --copt=-Wno-char-subscripts

# 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=-Wc++20-extensions  # See 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

###############################################################################
# Linker options.
###############################################################################

# Treat linker warnings as errors (supported by all linkers).
build:generic_clang --linkopt=-Wl,--fatal-warnings

# Mold linker (faster linking for local development).
build:mold --linkopt=-fuse-ld=mold

###############################################################################
# CI configuration.
# Use --config=generic_clang_ci to replicate CI builds locally.
###############################################################################

build:generic_clang_ci --config=generic_clang
# Warn on link order issues (not supported by all linkers, so CI-only).
build:generic_clang_ci --linkopt=-Wl,--warn-backrefs

###############################################################################
# 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=utils@-Wno-range-loop-analysis

build:macos_clang_release --config=macos_clang
build:macos_clang_release --per_file_copt=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 performance-oriented local runs and captures.
###############################################################################

# Uses an optimized local CPU-oriented build shape. This intentionally does not
# enable tracing so it can be used with `perf` and other profiling tools;
# compose it with --config=tracy when a profiled build is needed.
build:perf --compilation_mode=opt
build:perf --copt=-DNDEBUG
build:perf --features=thin_lto
build:perf --copt=-O3
build:perf --cxxopt=-O3
build:perf --host_copt=-O3
build:perf --host_cxxopt=-O3
build:perf --copt=-march=native
build:perf --cxxopt=-march=native
build:perf --host_copt=-march=native
build:perf --host_cxxopt=-march=native

build:tracy --iree_enable_runtime_tracing=tracy

###############################################################################
# AMDGPU builtin device binary source builds.
###############################################################################

# Default AMDGPU runtime builds embed checked-in builtin device code objects.
# Use these configs when editing runtime/src/iree/hal/drivers/amdgpu/device/*.c
# and wanting Bazel to rebuild the code objects from source.
build:amdgpu_device_binaries_source --//runtime/src/iree/hal/drivers/amdgpu/device/binaries:build_mode=source
build:amdgpu_device_binaries_source_rocm --config=amdgpu_device_binaries_source
build:amdgpu_device_binaries_source_rocm --repo_env=IREE_HAL_AMDGPU_DEVICE_TOOLCHAIN=rocm
build:amdgpu_device_binaries_source_llvm_project --config=amdgpu_device_binaries_source
build:amdgpu_device_binaries_source_llvm_project --repo_env=IREE_HAL_AMDGPU_DEVICE_TOOLCHAIN=llvm-project

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

# Don't strip debug info
build:sanitizer --strip=never
# Emit line tables in sanitizer builds. The default opt configuration passes
# -g0, so this trailing -g restores file:line symbolization for TSAN/ASAN/etc.
build:sanitizer --copt=-g
# 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

# 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
# Match the CMake UBSAN configuration: the runtime uses type-erased function
# pointers for dynamic dispatch, which UBSAN's function check cannot model.
build:ubsan --copt=-fno-sanitize=function
build:ubsan --cxxopt=-fno-sanitize=function
# The vptr sanitizer check uses typeid() to verify vtable pointers, which
# requires RTTI. IREE compiles all C++ with -fno-rtti for LLVM/MLIR
# compatibility, so the vptr check produces false positives on every
# virtual dispatch (including gtest internals). Exclude it.
build:ubsan --cxxopt=-fno-sanitize=vptr
build:ubsan --cc_output_directory_tag=ubsan

# Fuzzer (libFuzzer) configuration
# https://llvm.org/docs/LibFuzzer.html
# Includes ASAN by default - there's no reason to fuzz without memory sanitization.
build:fuzzer --config=asan
build:fuzzer --copt=-fsanitize=fuzzer-no-link
build:fuzzer --linkopt=-fsanitize=fuzzer-no-link
build:fuzzer --cc_output_directory_tag=asan-fuzzer
build:fuzzer --copt=-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION

###############################################################################
# Allocator selection.
###############################################################################

# User-provided default iree_allocator_system(). Embedders must provide
# IREE_ALLOCATOR_SYSTEM_CTL, and optionally IREE_ALLOCATOR_SYSTEM_SELF, through
# their own copts/defines and link the implementation into final binaries.
build:custom_allocator --define=iree_allocator_system=custom

###############################################################################
# WebAssembly cross-compilation.
###############################################################################

# Common WebAssembly runtime settings. Architecture-specific configs inherit
# this and select a concrete target platform.
build:wasm --iree_drivers=local-sync

# Wasm32 freestanding cross-compilation.
# Use with: bazel build --config=wasm32 //some:target
#
# Uses wasi-sdk (downloaded automatically on first build) with IREE's
# freestanding libc headers. Only local-sync is enabled by default; other
# drivers must opt in explicitly and provide their own host integration.
build:wasm32 --config=wasm
build:wasm32 --platforms=//build_tools/bazel/wasm:wasm32
build:wasm32 --extra_toolchains=//build_tools/bazel/wasm:wasm32_toolchain_linux_x86_64
build:wasm32 --extra_toolchains=//build_tools/bazel/wasm:wasm32_toolchain_linux_aarch64
build:wasm32 --extra_toolchains=//build_tools/bazel/wasm:wasm32_toolchain_macos_x86_64
build:wasm32 --extra_toolchains=//build_tools/bazel/wasm:wasm32_toolchain_macos_aarch64

# Freestanding WebAssembly with user-provided libc headers/objects. This
# preserves IREE's WebAssembly target model while disabling the implicit
# -isystem path to build_tools/wasm/libc/include. Embedders must provide
# declared header deps and include paths, plus allocator/libc implementations
# through their own deps/linkopts.
build:wasm_custom_libc --define=iree_wasm_libc=custom

# Wasm32-wasi compilation configuration.
# Compiles with wasi-libc + libc++ (for gtest/gbenchmark).
# Use with: bazel build --config=wasm32_wasi //some:target
build:wasm32_wasi --config=wasm
build:wasm32_wasi --platforms=//build_tools/bazel/wasm:wasm32_wasi
build:wasm32_wasi --extra_toolchains=//build_tools/bazel/wasm:wasm32_wasi_toolchain_linux_x86_64
build:wasm32_wasi --extra_toolchains=//build_tools/bazel/wasm:wasm32_wasi_toolchain_linux_aarch64
build:wasm32_wasi --extra_toolchains=//build_tools/bazel/wasm:wasm32_wasi_toolchain_macos_x86_64
build:wasm32_wasi --extra_toolchains=//build_tools/bazel/wasm:wasm32_wasi_toolchain_macos_aarch64
# Sanitizers have no wasm runtime — disable any that may be enabled by
# --config=asan or --config=tsan. These --copt flags come after earlier
# config expansions, so -fno-sanitize=all overrides -fsanitize=address.
build:wasm32_wasi --copt=-fno-sanitize=all
build:wasm32_wasi --linkopt=-fno-sanitize=all

###############################################################################
# Dawn/Tint (WebGPU SPIR-V → WGSL translation).
# Use with: bazel build --config=webgpu_spirv //some:target
###############################################################################

build:webgpu_spirv --@dawn//src/tint:tint_build_spv_reader=true
build:webgpu_spirv --@dawn//src/tint:tint_build_wgsl_writer=true
# Dawn requires C++20 - scope it to Dawn sources only so IREE tracks LLVM's
# C++17 baseline.
build:webgpu_spirv --per_file_copt=external/.*dawn.*@-std=c++20

# 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/base-bleeding-edge@sha256:cf2e78194e64fd0166f4141317366261d7a62432b72e9a324cb8c2ff4e1a515a"}'


###############################################################################
# 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

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

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