1load("//bazel:defs.bzl", "compatible_with_config", "compatible_with_rp2", "incompatible_with_config") 2 3package(default_visibility = ["//visibility:public"]) 4 5alias( 6 name = "pico_multicore", 7 actual = select({ 8 "//bazel/constraint:pico_multicore_enabled": ":pico_multicore_enabled", 9 "//conditions:default": ":pico_multicore_disabled", 10 }), 11) 12 13cc_library( 14 name = "pico_multicore_enabled", 15 srcs = ["multicore.c"], 16 hdrs = ["include/pico/multicore.h"], 17 defines = ["LIB_PICO_MULTICORE=1"], 18 includes = ["include"], 19 target_compatible_with = compatible_with_rp2() + compatible_with_config("//bazel/constraint:pico_multicore_enabled"), 20 deps = [ 21 "//src/common/hardware_claim", 22 "//src/common/pico_sync", 23 "//src/rp2_common:hardware_regs", 24 "//src/rp2_common:hardware_structs", 25 "//src/rp2_common:pico_platform", 26 "//src/rp2_common/hardware_irq", 27 "//src/rp2_common/hardware_sync", 28 "//src/rp2_common/pico_runtime", 29 ], 30) 31 32# Stub library that does NOT link in multicore support libs. 33cc_library( 34 name = "pico_multicore_disabled", 35 hdrs = ["include/pico/multicore.h"], 36 defines = ["LIB_PICO_MULTICORE=0"], 37 includes = ["include"], 38 target_compatible_with = compatible_with_rp2() + incompatible_with_config("//bazel/constraint:pico_multicore_enabled"), 39 deps = [ 40 "//src/common/pico_sync", 41 "//src/rp2_common:hardware_structs", 42 "//src/rp2_common:pico_platform", 43 ], 44) 45