# Shared settings for the seekdb Bazel build.
common --lockfile_mode=error
common --http_max_parallel_downloads=32
build --verbose_failures
build --aspects=//bazel/architecture:module_dependency_aspect.bzl%module_dependency_aspect
build --experimental_disk_cache_gc_max_size=50G
build --experimental_disk_cache_gc_max_age=14d
build --experimental_disk_cache_gc_idle_delay=1m
build --force_pic
build --enable_platform_specific_config
# Release-compatible O2 is the default. O1 uses fastbuild only as its output
# configuration; the explicit copt also makes O1 portable to the native macOS
# toolchain, whose fastbuild flags are not repository-owned.
build --compilation_mode=opt
# Allow developers to modify build outputs in place.
build --experimental_writable_outputs
# Windows generators use the installed SDK/Python utility paths.
build:windows --action_env=PATH
build:windows --repo_env=BAZEL_WIN32_WINNT=/D_WIN32_WINNT=0x0A00
build:windows --platforms=//bazel/platforms:windows_x86_64
build:windows --host_platform=//bazel/platforms:windows_x86_64
build:windows --extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl
build:windows --noforce_pic
build:windows --features=compiler_param_file
build:windows --features=-static_link_msvcrt
build:O1 --compilation_mode=fastbuild
build:O1 --copt=-O1
build:O2 --compilation_mode=opt
build:macos --macos_minimum_os=13.0
build:android --platforms=//bazel/platforms:android_arm64
build:ios --platforms=@apple_support//platforms:ios_arm64
build:ios --ios_minimum_os=18.0
build:ios --//src/standby:enable_standby=false
build:ios-simulator --config=ios
build:ios-simulator --platforms=@apple_support//platforms:ios_sim_arm64
build:wasm --platforms=//bazel/platforms:wasm32
build:wasm --//src/standby:enable_standby=false
build:wasm --action_env=EM_CONFIG
build:wasm --action_env=EMSDK_PYTHON

# Native shorthand for the orthogonal custom memory-safety build setting.
build --flag_alias=sanity=//bazel:enable_sanity

# Only C++ compilation uses REAPI. Cargo and generators run locally.
build --spawn_strategy=worker,sandboxed,local
build --strategy=CppCompile=remote,worker,sandboxed,local

# Preserve the explicit remote-only C++ config for existing callers.
build:remote --spawn_strategy=local
build:remote --strategy=CppCompile=remote

build:package --//bazel:package_runtime=true
build:rpm --config=package
build:rpm --//bazel:rpm_logging=true
