load("@rules_cc//cc:cc_library.bzl", "cc_library")

package(default_visibility = ["//visibility:public"])

cc_library(
    name = "platform_defs",
    hdrs = [
        "include/hardware/platform_defs.h",
    ],
    includes = ["include"],
    target_compatible_with = ["//bazel/constraint:host"],
)

# Resolves circular dependencies.
cc_library(
    name = "pico_platform_internal",
    hdrs = [
        "include/pico/platform.h",
    ],
    includes = ["include"],
    visibility = ["//src:__pkg__"],
    deps = [
        ":platform_defs",
    ],
)

cc_library(
    name = "pico_platform",
    srcs = ["platform_base.c"],
    target_compatible_with = ["//bazel/constraint:host"],
    deps = [
        ":pico_platform_internal",
        ":platform_defs",
        "//src/common/pico_base_headers",
        "//src/host/hardware_timer:hardware_timer_headers",
    ],
)
