| load("@pico-sdk//bazel:defs.bzl", "incompatible_with_config") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| # This exists to break a dependency cycle between |
| # this library and //src/common/pico_sync. |
| # Application code should always use :pico_time instead. |
| cc_library( |
| name = "pico_time_headers", |
| hdrs = [ |
| "include/pico/time.h", |
| "include/pico/timeout_helper.h", |
| ], |
| includes = ["include"], |
| # invalid_params_if() uses Statement Expressions, which aren't supported in MSVC. |
| target_compatible_with = incompatible_with_config("@rules_cc//cc/compiler:msvc-cl"), |
| visibility = [ |
| "//src/common/pico_sync:__pkg__", |
| "//src/host/pico_time_adapter:__pkg__", |
| "//src/rp2_common/tinyusb:__pkg__", |
| ], |
| deps = select({ |
| "//bazel/constraint:host": [ |
| "//src/host/hardware_timer:hardware_timer_headers", |
| ], |
| "//conditions:default": [ |
| "//src/rp2_common/hardware_timer:hardware_timer_headers", |
| ], |
| }), |
| ) |
| |
| cc_library( |
| name = "pico_time", |
| srcs = [ |
| "time.c", |
| "timeout_helper.c", |
| ], |
| hdrs = [ |
| "include/pico/time.h", |
| "include/pico/timeout_helper.h", |
| ], |
| # macOS defines __weak as part of Xcode, and the semantics are unfortunately |
| # different. |
| copts = select({ |
| "@platforms//os:macos": ["-Wno-ignored-attributes"], |
| "//conditions:default": [], |
| }), |
| includes = ["include"], |
| deps = [ |
| "//src/common/pico_base_headers", |
| "//src/common/pico_sync", |
| "//src/common/pico_util", |
| ] + select({ |
| "//bazel/constraint:host": [ |
| "//src/host/hardware_gpio", |
| "//src/host/hardware_timer", |
| "//src/host/pico_runtime", |
| "//src/host/pico_time_adapter", |
| ], |
| "//conditions:default": [ |
| "//src/rp2_common/hardware_gpio", |
| "//src/rp2_common/hardware_timer", |
| "//src/rp2_common/pico_runtime_init", |
| "//src/rp2_common/pico_time_adapter", |
| ], |
| }), |
| ) |