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_init",
10    hdrs = ["include/pico/runtime_init.h"],
11    includes = ["include"],
12    target_compatible_with = compatible_with_rp2(),
13    deps = [
14        "//src/common/pico_base_headers",
15        "//src/rp2_common:pico_platform_internal",
16        "//src/rp2_common/pico_runtime",
17    ],
18)
19
20cc_library(
21    name = "pico_runtime_init_link",
22    srcs = [
23        "runtime_init.c",
24        "runtime_init_clocks.c",
25        "runtime_init_stack_guard.c",
26    ],
27    hdrs = ["include/pico/runtime_init.h"],
28    includes = ["include"],
29    target_compatible_with = compatible_with_rp2(),
30    deps = [
31        "//src/common/pico_base_headers",
32        "//src/rp2_common:hardware_structs",
33        "//src/rp2_common:pico_platform_internal",
34        "//src/rp2_common/hardware_base",
35        "//src/rp2_common/hardware_clocks",
36        "//src/rp2_common/hardware_ticks",
37        "//src/rp2_common/pico_bootrom",
38        "//src/rp2_common/pico_runtime",
39    ],
40    alwayslink = True,
41)
42