blob: 02b06f83b451334c6658193e927b5e8ad81b5b48 [file]
load("@rules_cc//cc:cc_library.bzl", "cc_library")
load("//bazel:defs.bzl", "compatible_with_rp2")
package(default_visibility = ["//visibility:public"])
# This exists to break a dependency cycle between
# this library and //src/common/hardware_claim.
# Application code should always use :hardware_sync instead.
cc_library(
name = "hardware_sync_headers",
hdrs = ["include/hardware/sync.h"],
includes = ["include"],
target_compatible_with = compatible_with_rp2(),
visibility = [
"//src/common/hardware_claim:__pkg__",
"//src/common/pico_sync:__pkg__",
"//src/rp2_common/hardware_sync_spin_lock:__pkg__",
],
deps = [
"//src/rp2_common/hardware_base",
],
)
cc_library(
name = "hardware_sync",
srcs = ["sync.c"],
target_compatible_with = compatible_with_rp2(),
deps = [
":hardware_sync_headers",
"//src/common/hardware_claim",
"//src/common/pico_base_headers",
"//src/common/pico_sync:pico_sync_headers",
"//src/rp2_common:hardware_regs",
"//src/rp2_common:hardware_structs",
"//src/rp2_common/hardware_base",
"//src/rp2_common/hardware_sync_spin_lock",
"//src/rp2_common/hardware_sync_spin_lock:hardware_sync_spin_lock_headers",
],
)