1load("//bazel:defs.bzl", "compatible_with_rp2")
2
3package(default_visibility = ["//visibility:public"])
4
5# This library creates a bunch of circular dependencies, so just rely on
6# the implementation getting pulled in as a link dep (i.e. invert the usual
7# interface pattern).
8cc_library(
9    name = "pico_runtime",
10    hdrs = ["include/pico/runtime.h"],
11    includes = ["include"],
12    target_compatible_with = compatible_with_rp2(),
13    deps = [
14        "//src/common/pico_base_headers",
15    ],
16)
17
18cc_library(
19    name = "pico_runtime_link",
20    srcs = ["runtime.c"],
21    hdrs = ["include/pico/runtime.h"],
22    includes = ["include"],
23    target_compatible_with = compatible_with_rp2(),
24    deps = [
25        "//src/common/pico_base_headers",
26        "//src/common/pico_sync",
27        "//src/common/pico_time",
28        "//src/rp2_common:hardware_regs",
29        "//src/rp2_common:hardware_structs",
30        "//src/rp2_common/hardware_clocks",
31        "//src/rp2_common/hardware_irq",
32        "//src/rp2_common/hardware_resets",
33        "//src/rp2_common/pico_bootrom",
34        "//src/rp2_common/pico_clib_interface:pico_clib_interface_link",
35        "//src/rp2_common/pico_printf",
36    ],
37    alwayslink = True,
38)
39