1load("@pico-sdk//bazel:defs.bzl", "incompatible_with_config")
2
3package(default_visibility = ["//visibility:public"])
4
5cc_library(
6    name = "pico_util",
7    srcs = [
8        "datetime.c",
9        "pheap.c",
10        "queue.c",
11    ],
12    hdrs = [
13        "include/pico/util/datetime.h",
14        "include/pico/util/pheap.h",
15        "include/pico/util/queue.h",
16    ],
17    includes = ["include"],
18    # invalid_params_if() uses Statement Expressions, which aren't supported in MSVC.
19    target_compatible_with = incompatible_with_config("@rules_cc//cc/compiler:msvc-cl"),
20    deps = [
21        "//src/common/pico_base_headers",
22        "//src/common/pico_sync",
23    ] + select({
24        "//bazel/constraint:host": [
25            "//src/host/hardware_sync",
26        ],
27        "//conditions:default": [
28            "//src/rp2_common/hardware_sync",
29        ],
30    }),
31)
32