| load("//bazel:defs.bzl", "compatible_with_rp2") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| # This is added to @pico-sdk//src/common/pico_base_headers:default_platform_headers |
| # by default. |
| cc_library( |
| name = "rename_exceptions", |
| hdrs = ["include/cmsis/rename_exceptions.h"], |
| # This is mildly odd, but intentional. We really don't want this header |
| # to have extra deps, and this header is touched by the host build. |
| defines = select({ |
| "//bazel/constraint:host": [], |
| "//conditions:default": ["LIB_CMSIS_CORE=1"], |
| }), |
| includes = ["include"], |
| ) |
| |
| cc_library( |
| name = "cmsis_core", |
| srcs = select({ |
| "//bazel/constraint:rp2040": [ |
| "stub/CMSIS/Device/RP2040/Source/system_RP2040.c", |
| ], |
| "//bazel/constraint:rp2350": [ |
| "stub/CMSIS/Device/RP2350/Source/system_RP2350.c", |
| ], |
| "//conditions:default": [], |
| }), |
| hdrs = [ |
| "stub/CMSIS/Core/Include/cmsis_armcc.h", |
| "stub/CMSIS/Core/Include/cmsis_armclang.h", |
| "stub/CMSIS/Core/Include/cmsis_armclang_ltm.h", |
| "stub/CMSIS/Core/Include/cmsis_clang.h", |
| "stub/CMSIS/Core/Include/cmsis_compiler.h", |
| "stub/CMSIS/Core/Include/cmsis_gcc.h", |
| "stub/CMSIS/Core/Include/cmsis_iccarm.h", |
| "stub/CMSIS/Core/Include/cmsis_version.h", |
| "stub/CMSIS/Core/Include/core_cm0plus.h", |
| "stub/CMSIS/Core/Include/core_cm33.h", |
| "stub/CMSIS/Core/Include/m-profile/armv7m_cachel1.h", |
| "stub/CMSIS/Core/Include/m-profile/armv7m_mpu.h", |
| "stub/CMSIS/Core/Include/m-profile/armv81m_pac.h", |
| "stub/CMSIS/Core/Include/m-profile/armv8m_mpu.h", |
| "stub/CMSIS/Core/Include/m-profile/armv8m_pmu.h", |
| "stub/CMSIS/Core/Include/m-profile/cmsis_armclang_m.h", |
| "stub/CMSIS/Core/Include/m-profile/cmsis_clang_m.h", |
| "stub/CMSIS/Core/Include/m-profile/cmsis_gcc_m.h", |
| "stub/CMSIS/Core/Include/m-profile/cmsis_iccarm_m.h", |
| "stub/CMSIS/Core/Include/m-profile/cmsis_tiarmclang_m.h", |
| "stub/CMSIS/Core/Include/mpu_armv7.h", |
| "stub/CMSIS/Core/Include/mpu_armv8.h", |
| "stub/CMSIS/Core/Include/tz_context.h", |
| ] + select({ |
| "//bazel/constraint:rp2040": [ |
| "stub/CMSIS/Device/RP2040/Include/RP2040.h", |
| "stub/CMSIS/Device/RP2040/Include/system_RP2040.h", |
| ], |
| "//bazel/constraint:rp2350": [ |
| "stub/CMSIS/Device/RP2350/Include/RP2350.h", |
| "stub/CMSIS/Device/RP2350/Include/system_RP2350.h", |
| ], |
| "//conditions:default": [], |
| }), |
| defines = ["LIB_CMSIS_CORE=1"], |
| includes = [ |
| "stub/CMSIS/Core/Include", |
| ] + select({ |
| "//bazel/constraint:rp2040": [ |
| "stub/CMSIS/Device/RP2040/Include", |
| ], |
| "//bazel/constraint:rp2350": [ |
| "stub/CMSIS/Device/RP2350/Include", |
| ], |
| }), |
| target_compatible_with = compatible_with_rp2(), |
| deps = [ |
| "//src/rp2_common/hardware_clocks", |
| ], |
| ) |