load("@pico-sdk//bazel:defs.bzl", "incompatible_with_config") package(default_visibility = ["//visibility:public"]) cc_library( name = "pico_sync_headers", hdrs = [ "include/pico/critical_section.h", "include/pico/lock_core.h", "include/pico/mutex.h", "include/pico/sem.h", "include/pico/sync.h", ], includes = ["include"], visibility = [ "//src/rp2_common/hardware_sync:__pkg__", "//src/rp2_common/hardware_sync_spin_lock:__pkg__", ], ) cc_library( name = "pico_sync", srcs = [ "critical_section.c", "lock_core.c", "mutex.c", "sem.c", ], # valid_params_if() uses Statement Expressions, which aren't supported in MSVC. target_compatible_with = incompatible_with_config("@rules_cc//cc/compiler:msvc-cl"), deps = [ ":pico_sync_headers", "//src/common/pico_base_headers", "//src/common/pico_time:pico_time_headers", ] + select({ "//bazel/constraint:host": [ "//src/host/hardware_sync", "//src/host/pico_runtime", ], "//conditions:default": [ "//src/rp2_common/hardware_sync", "//src/rp2_common/hardware_sync_spin_lock", "//src/rp2_common/pico_runtime_init", ], }), )