# Copyright 2024 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

# Standard Pigweed flags
# ======================
# All Pigweed projects are expected to set these flags. They mostly pre-adopt
# future Bazel settings.
#
# Do not attempt to configure an autodetected (local) toolchain. We vendor all
# our toolchains, and CI VMs may not have any local toolchain to detect.
common --repo_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1

# Required for new toolchain resolution API.
build --incompatible_enable_cc_toolchain_resolution

# Expose exec toolchains for Python.
build --@rules_python//python/config_settings:exec_tools_toolchain=enabled

# Don't propagate flags or defines to the exec config. This will become the
# default one day (https://github.com/bazelbuild/bazel/issues/22457) and will
# improve cache hit rates between builds targeting different platforms. This is
# especially impactful for large host tools like protoc, which will have its
# cache invalidated when your host C++ config changes.
common --experimental_exclude_defines_from_exec_config
common --experimental_exclude_starlark_flags_from_exec_config

# Don't automatically create __init__.py files.
#
# This prevents spurious package name collisions at import time, and should be
# the default (https://github.com/bazelbuild/bazel/issues/7386). It's
# particularly helpful for Pigweed, because we have many potential package name
# collisions due to a profusion of stuttering paths like
# pw_transfer/py/pw_transfer.
common --incompatible_default_to_explicit_init_py

# Don't inherit system PATH. Improves hermeticity and cache hit rates. Should
# be true by default one day (https://github.com/bazelbuild/bazel/issues/7026).
common --incompatible_strict_action_env

# Expose exec toolchains for Python. We use these toolchains in some rule
# implementations (git grep for
# "@rules_python//python:exec_tools_toolchain_type").
build --@rules_python//python/config_settings:exec_tools_toolchain=enabled

# C++ toolchain configuration
# ===========================

# Ignore all warnings in third-party code.
common --per_file_copt=external/.*@-w
common --host_per_file_copt=external/.*@-w

# Picotool needs to build with exceptions and RTTI enabled.
common --per_file_copt=external.*picotool.*@-fexceptions,-frtti
common --host_per_file_copt=external.*picotool.*@-fexceptions,-frtti

# Keep debugging symbols, but don't send them when flashing.
build --strip=never

build --@pico-sdk//bazel/config:PICO_STDIO_USB=True
build --@pico-sdk//bazel/config:PICO_STDIO_UART=True

# Sanitizer configs
# =================
common:asan --@pigweed//pw_toolchain/host_clang:asan
common:tsan --@pigweed//pw_toolchain/host_clang:tsan
common:ubsan --@pigweed//pw_toolchain/host_clang:ubsan

# Presubmit
# =========
# Default targets to build when running:
# bazel build --config=presubmit
build:presubmit -- \
  //... \
  //apps/blinky:blinky \
  //apps/blinky:rp2040_blinky.elf \
  //apps/blinky:rp2040_console \
  //apps/blinky:rp2040_webconsole \
  //apps/blinky:simulator_blinky \
  //apps/blinky:simulator_console \
  //apps/blinky:simulator_webconsole \
  //apps/production:rp2040.elf \
  //apps/production:simulator \
  //tools:console \
  //tools:example_script \
  //tools:toggle_blinky

# UX settings
# ===========
# Error output settings.
common --verbose_failures
test --test_output=errors

# Remote cache
# ============
# Use the remote cache. This will only work for users who have permission to
# access it (including the CI system!).
common:remote_cache --remote_cache=grpcs://remotebuildexecution.googleapis.com
common:remote_cache --google_default_credentials=true
common:remote_cache --remote_instance_name=projects/pigweed-rbe-open/instances/default-instance
common:remote_cache --remote_upload_local_results=false

# Platform configuration
# ======================
common --custom_malloc=//targets:malloc
build --@pigweed//pw_build:default_module_config=//system:module_config

# Host platform default backends.
common --@pigweed//pw_log:backend=@pigweed//pw_log_string
common --@pigweed//pw_log:backend_impl=@pigweed//pw_log_string:impl
common --@pigweed//pw_log_string:handler_backend=@pigweed//pw_system:log_backend
common --@pigweed//pw_sys_io:backend=@pigweed//pw_sys_io_stdio
common --@pigweed//pw_system:io_backend=@pigweed//pw_system:socket_target_io

# RP2040 platform configuration
build:rp2040 --platforms=//targets/rp2:rp2040
build:rp2040 --//apps/production:threads=//targets/rp2:production_app_threads
build:rp2040 --//system:system=//targets/rp2:system
build:rp2040 --@pigweed//pw_assert:assert_backend=@pigweed//pw_assert_trap
build:rp2040 --@pigweed//pw_assert:assert_backend_impl=@pigweed//pw_assert_trap:impl
build:rp2040 --@pigweed//pw_assert:check_backend=@pigweed//pw_assert_trap
build:rp2040 --@pigweed//pw_assert:check_backend_impl=@pigweed//pw_assert_trap:impl
build:rp2040 --@pigweed//pw_cpu_exception:entry_backend=@pigweed//pw_cpu_exception_cortex_m:cpu_exception
build:rp2040 --@pigweed//pw_cpu_exception:entry_backend_impl=@pigweed//pw_cpu_exception_cortex_m:cpu_exception_impl
build:rp2040 --@pigweed//pw_cpu_exception:handler_backend=@pigweed//pw_cpu_exception:basic_handler
build:rp2040 --@pigweed//pw_cpu_exception:support_backend=@pigweed//pw_cpu_exception_cortex_m:support
build:rp2040 --@pigweed//pw_interrupt:backend=@pigweed//pw_interrupt_cortex_m:context
build:rp2040 --@pigweed//pw_log:backend=@pigweed//pw_log_tokenized
build:rp2040 --@pigweed//pw_log:backend_impl=@pigweed//pw_log_tokenized:impl
build:rp2040 --@pigweed//pw_log_tokenized:handler_backend=@pigweed//pw_system:log_backend
build:rp2040 --@pigweed//pw_sync:binary_semaphore_backend=@pigweed//pw_sync_freertos:binary_semaphore
build:rp2040 --@pigweed//pw_sync:interrupt_spin_lock_backend=@pigweed//pw_sync_freertos:interrupt_spin_lock
build:rp2040 --@pigweed//pw_sync:mutex_backend=@pigweed//pw_sync_freertos:mutex
build:rp2040 --@pigweed//pw_sync:thread_notification_backend=@pigweed//pw_sync_freertos:thread_notification
build:rp2040 --@pigweed//pw_sync:timed_thread_notification_backend=@pigweed//pw_sync_freertos:timed_thread_notification
build:rp2040 --@pigweed//pw_sys_io:backend=@pigweed//pw_sys_io_rp2040
build:rp2040 --@pigweed//pw_system:device_handler_backend=@pigweed//targets/rp2040:device_handler
build:rp2040 --@pigweed//pw_system:extra_platform_libs=//targets/rp2:extra_platform_libs
build:rp2040 --@pigweed//pw_system:io_backend=@pigweed//pw_system:sys_io_target_io
build:rp2040 --@pigweed//pw_thread_freertos:config_override=//targets/rp2:thread_config_overrides
build:rp2040 --@pigweed//pw_thread:id_backend=@pigweed//pw_thread_freertos:id
build:rp2040 --@pigweed//pw_thread:iteration_backend=@pigweed//pw_thread_freertos:thread_iteration
build:rp2040 --@pigweed//pw_thread:sleep_backend=@pigweed//pw_thread_freertos:sleep
build:rp2040 --@pigweed//pw_thread:thread_backend=@pigweed//pw_thread_freertos:thread
build:rp2040 --@pigweed//pw_thread:test_thread_context_backend=@pigweed//pw_thread_freertos:test_thread_context
build:rp2040 --@pigweed//pw_unit_test:config_override=//targets/rp2:64k_unit_tests
build:rp2040 --@pigweed//pw_unit_test:main=//targets/rp2:unit_test_rpc_main
build:rp2040 --@freertos//:freertos_config=//targets/rp2:freertos_config
build:rp2040 --@pico-sdk//bazel/config:PICO_STDIO_USB=True
build:rp2040 --@pico-sdk//bazel/config:PICO_STDIO_UART=True
build:rp2040 --@pico-sdk//bazel/config:PICO_CLIB=llvm_libc
build:rp2040 --@pico-sdk//bazel/config:PICO_TOOLCHAIN=clang
build:rp2040 --@pigweed//pw_toolchain:cortex-m_toolchain_kind=clang
test:rp2040 --run_under=@pigweed//targets/rp2040/py:unit_test_client

# RP2350 is the same as rp2040 but with a different --platforms setting.
build:rp2350 --config=rp2040
build:rp2350 --platforms=//targets/rp2:rp2350

# User bazelrc file; see
# https://bazel.build/configure/best-practices#bazelrc-file
#
# Note: this should be at the bottom of the file, so that user-specified
# options override anything in this file
# (https://bazel.build/run/bazelrc#imports)
try-import %workspace%/user.bazelrc
