1load("//bazel:defs.bzl", "compatible_with_rp2") 2 3package(default_visibility = ["//visibility:public"]) 4 5# This is added to @pico-sdk//src/common/pico_base_headers:default_platform_headers 6# by default. 7cc_library( 8 name = "rename_exceptions", 9 hdrs = ["include/cmsis/rename_exceptions.h"], 10 # This is mildly odd, but intentional. We really don't want this header 11 # to have extra deps, and this header is touched by the host build. 12 defines = select({ 13 "//bazel/constraint:host": [], 14 "//conditions:default": ["LIB_CMSIS_CORE=1"], 15 }), 16 includes = ["include"], 17) 18 19cc_library( 20 name = "cmsis_core", 21 srcs = select({ 22 "//bazel/constraint:rp2040": [ 23 "stub/CMSIS/Device/RP2040/Source/system_RP2040.c", 24 ], 25 "//bazel/constraint:rp2350": [ 26 "stub/CMSIS/Device/RP2350/Source/system_RP2350.c", 27 ], 28 "//conditions:default": [], 29 }), 30 hdrs = [ 31 "stub/CMSIS/Core/Include/cmsis_armcc.h", 32 "stub/CMSIS/Core/Include/cmsis_armclang.h", 33 "stub/CMSIS/Core/Include/cmsis_armclang_ltm.h", 34 "stub/CMSIS/Core/Include/cmsis_clang.h", 35 "stub/CMSIS/Core/Include/cmsis_compiler.h", 36 "stub/CMSIS/Core/Include/cmsis_gcc.h", 37 "stub/CMSIS/Core/Include/cmsis_iccarm.h", 38 "stub/CMSIS/Core/Include/cmsis_version.h", 39 "stub/CMSIS/Core/Include/core_cm0plus.h", 40 "stub/CMSIS/Core/Include/core_cm33.h", 41 "stub/CMSIS/Core/Include/m-profile/armv7m_cachel1.h", 42 "stub/CMSIS/Core/Include/m-profile/armv7m_mpu.h", 43 "stub/CMSIS/Core/Include/m-profile/armv81m_pac.h", 44 "stub/CMSIS/Core/Include/m-profile/armv8m_mpu.h", 45 "stub/CMSIS/Core/Include/m-profile/armv8m_pmu.h", 46 "stub/CMSIS/Core/Include/m-profile/cmsis_armclang_m.h", 47 "stub/CMSIS/Core/Include/m-profile/cmsis_clang_m.h", 48 "stub/CMSIS/Core/Include/m-profile/cmsis_gcc_m.h", 49 "stub/CMSIS/Core/Include/m-profile/cmsis_iccarm_m.h", 50 "stub/CMSIS/Core/Include/m-profile/cmsis_tiarmclang_m.h", 51 "stub/CMSIS/Core/Include/mpu_armv7.h", 52 "stub/CMSIS/Core/Include/mpu_armv8.h", 53 "stub/CMSIS/Core/Include/tz_context.h", 54 ] + select({ 55 "//bazel/constraint:rp2040": [ 56 "stub/CMSIS/Device/RP2040/Include/RP2040.h", 57 "stub/CMSIS/Device/RP2040/Include/system_RP2040.h", 58 ], 59 "//bazel/constraint:rp2350": [ 60 "stub/CMSIS/Device/RP2350/Include/RP2350.h", 61 "stub/CMSIS/Device/RP2350/Include/system_RP2350.h", 62 ], 63 "//conditions:default": [], 64 }), 65 defines = ["LIB_CMSIS_CORE=1"], 66 includes = [ 67 "stub/CMSIS/Core/Include", 68 ] + select({ 69 "//bazel/constraint:rp2040": [ 70 "stub/CMSIS/Device/RP2040/Include", 71 ], 72 "//bazel/constraint:rp2350": [ 73 "stub/CMSIS/Device/RP2350/Include", 74 ], 75 }), 76 target_compatible_with = compatible_with_rp2(), 77 deps = [ 78 "//src/rp2_common/hardware_clocks", 79 ], 80) 81