1load("//bazel:defs.bzl", "compatible_with_rp2")
2
3package(default_visibility = ["//visibility:public"])
4
5# This exists to break a dependency cycle between
6# this library and //src/common/pico_time.
7# Application code should always use :hardware_timer instead.
8cc_library(
9    name = "hardware_timer_headers",
10    hdrs = ["include/hardware/timer.h"],
11    includes = ["include"],
12    target_compatible_with = compatible_with_rp2(),
13    visibility = ["//src/common/pico_time:__pkg__"],
14    deps = [
15        "//src/common/pico_base_headers",
16        "//src/rp2_common:hardware_structs",
17    ],
18)
19
20cc_library(
21    name = "hardware_timer",
22    srcs = ["timer.c"],
23    hdrs = ["include/hardware/timer.h"],
24    includes = ["include"],
25    target_compatible_with = compatible_with_rp2(),
26    deps = [
27        "//src/common/hardware_claim",
28        "//src/common/pico_base_headers",
29        "//src/rp2_common:hardware_structs",
30        "//src/rp2_common/hardware_irq",
31        "//src/rp2_common/hardware_sync",
32    ],
33)
34