build:linux --cxxopt=-std=c++20
build:linux --cxxopt=-Wall
build:linux --cxxopt=-Wextra
build:linux --cxxopt=-Wpedantic
build:linux --cxxopt=-Werror
build:linux --cxxopt=-O3

build:macos --cxxopt=-std=c++20
build:macos --cxxopt=-Wall
build:macos --cxxopt=-Wextra
build:macos --cxxopt=-Wpedantic
build:macos --cxxopt=-Werror
build:macos --cxxopt=-O3

build:windows --cxxopt=/std:c++20
build:windows --cxxopt=/W4
build:windows --cxxopt=/O2
build:windows --cxxopt=/utf-8

build -c opt

common --enable_platform_specific_config

build:macos --macos_minimum_os=11.0

build --flag_alias=minsize=@nanobind_bazel//:minsize
build --flag_alias=py_limited_api=@nanobind_bazel//:py-limited-api
build --flag_alias=target_python_version=@rules_python//python/config_settings:python_version
build --flag_alias=free_threaded=@rules_python//python/config_settings:py_freethreaded

build:debug -c dbg
build:debug --cxxopt=-gfull
build:debug --cxxopt=-O0
build:debug --spawn_strategy=local

build:asan -c dbg
build:asan --copt=-fsanitize=address
build:asan --copt=-gfull
build:asan --copt=-O0
build:asan --spawn_strategy=local
build:asan --copt=-fno-omit-frame-pointer
build:asan --linkopt=-fsanitize=address

build:ubsan -c dbg
build:ubsan --copt=-fsanitize=undefined
build:ubsan --copt=-gfull
build:ubsan --copt=-O0
build:ubsan --spawn_strategy=local
build:ubsan --copt=-fno-omit-frame-pointer
build:ubsan --linkopt=-fsanitize=undefined
