1*61c4878aSAndroid Build Coastguard Worker# Copyright 2024 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Workerload("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test") 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"]) 18*61c4878aSAndroid Build Coastguard Worker 19*61c4878aSAndroid Build Coastguard Workerlicenses(["notice"]) 20*61c4878aSAndroid Build Coastguard Worker 21*61c4878aSAndroid Build Coastguard Workercc_library( 22*61c4878aSAndroid Build Coastguard Worker name = "pw_channel", 23*61c4878aSAndroid Build Coastguard Worker hdrs = [ 24*61c4878aSAndroid Build Coastguard Worker "public/pw_channel/channel.h", 25*61c4878aSAndroid Build Coastguard Worker "public/pw_channel/internal/channel_specializations.h", 26*61c4878aSAndroid Build Coastguard Worker "public/pw_channel/properties.h", 27*61c4878aSAndroid Build Coastguard Worker ], 28*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 29*61c4878aSAndroid Build Coastguard Worker deps = [ 30*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 31*61c4878aSAndroid Build Coastguard Worker "//pw_async2:dispatcher", 32*61c4878aSAndroid Build Coastguard Worker "//pw_async2:poll", 33*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 34*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf", 35*61c4878aSAndroid Build Coastguard Worker "//pw_result", 36*61c4878aSAndroid Build Coastguard Worker "//pw_span", 37*61c4878aSAndroid Build Coastguard Worker "//pw_status", 38*61c4878aSAndroid Build Coastguard Worker "//pw_toolchain:sibling_cast", 39*61c4878aSAndroid Build Coastguard Worker ], 40*61c4878aSAndroid Build Coastguard Worker) 41*61c4878aSAndroid Build Coastguard Worker 42*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 43*61c4878aSAndroid Build Coastguard Worker name = "channel_test", 44*61c4878aSAndroid Build Coastguard Worker srcs = ["channel_test.cc"], 45*61c4878aSAndroid Build Coastguard Worker deps = [ 46*61c4878aSAndroid Build Coastguard Worker ":pw_channel", 47*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:testing", 48*61c4878aSAndroid Build Coastguard Worker "//pw_compilation_testing:negative_compilation_testing", 49*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:simple_allocator", 50*61c4878aSAndroid Build Coastguard Worker "//pw_preprocessor", 51*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 52*61c4878aSAndroid Build Coastguard Worker ], 53*61c4878aSAndroid Build Coastguard Worker) 54*61c4878aSAndroid Build Coastguard Worker 55*61c4878aSAndroid Build Coastguard Workercc_library( 56*61c4878aSAndroid Build Coastguard Worker name = "forwarding_channel", 57*61c4878aSAndroid Build Coastguard Worker srcs = ["forwarding_channel.cc"], 58*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_channel/forwarding_channel.h"], 59*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 60*61c4878aSAndroid Build Coastguard Worker deps = [ 61*61c4878aSAndroid Build Coastguard Worker ":pw_channel", 62*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:allocator", 63*61c4878aSAndroid Build Coastguard Worker "//pw_sync:mutex", 64*61c4878aSAndroid Build Coastguard Worker ], 65*61c4878aSAndroid Build Coastguard Worker) 66*61c4878aSAndroid Build Coastguard Worker 67*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 68*61c4878aSAndroid Build Coastguard Worker name = "forwarding_channel_test", 69*61c4878aSAndroid Build Coastguard Worker srcs = ["forwarding_channel_test.cc"], 70*61c4878aSAndroid Build Coastguard Worker deps = [ 71*61c4878aSAndroid Build Coastguard Worker ":forwarding_channel", 72*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:testing", 73*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:header_chunk_region_tracker", 74*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:simple_allocator", 75*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 76*61c4878aSAndroid Build Coastguard Worker ], 77*61c4878aSAndroid Build Coastguard Worker) 78*61c4878aSAndroid Build Coastguard Worker 79*61c4878aSAndroid Build Coastguard Workercc_library( 80*61c4878aSAndroid Build Coastguard Worker name = "loopback_channel", 81*61c4878aSAndroid Build Coastguard Worker srcs = ["loopback_channel.cc"], 82*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_channel/loopback_channel.h"], 83*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 84*61c4878aSAndroid Build Coastguard Worker deps = [ 85*61c4878aSAndroid Build Coastguard Worker ":pw_channel", 86*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:allocator", 87*61c4878aSAndroid Build Coastguard Worker ], 88*61c4878aSAndroid Build Coastguard Worker) 89*61c4878aSAndroid Build Coastguard Worker 90*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 91*61c4878aSAndroid Build Coastguard Worker name = "loopback_channel_test", 92*61c4878aSAndroid Build Coastguard Worker srcs = ["loopback_channel_test.cc"], 93*61c4878aSAndroid Build Coastguard Worker deps = [ 94*61c4878aSAndroid Build Coastguard Worker ":loopback_channel", 95*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:testing", 96*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 97*61c4878aSAndroid Build Coastguard Worker ], 98*61c4878aSAndroid Build Coastguard Worker) 99*61c4878aSAndroid Build Coastguard Worker 100*61c4878aSAndroid Build Coastguard Workercc_library( 101*61c4878aSAndroid Build Coastguard Worker name = "epoll_channel", 102*61c4878aSAndroid Build Coastguard Worker srcs = ["epoll_channel.cc"], 103*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_channel/epoll_channel.h"], 104*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 105*61c4878aSAndroid Build Coastguard Worker target_compatible_with = ["@platforms//os:linux"], 106*61c4878aSAndroid Build Coastguard Worker deps = [ 107*61c4878aSAndroid Build Coastguard Worker ":pw_channel", 108*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:allocator", 109*61c4878aSAndroid Build Coastguard Worker ], 110*61c4878aSAndroid Build Coastguard Worker) 111*61c4878aSAndroid Build Coastguard Worker 112*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 113*61c4878aSAndroid Build Coastguard Worker name = "epoll_channel_test", 114*61c4878aSAndroid Build Coastguard Worker srcs = ["epoll_channel_test.cc"], 115*61c4878aSAndroid Build Coastguard Worker target_compatible_with = ["@platforms//os:linux"], 116*61c4878aSAndroid Build Coastguard Worker deps = [ 117*61c4878aSAndroid Build Coastguard Worker ":epoll_channel", 118*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:testing", 119*61c4878aSAndroid Build Coastguard Worker "//pw_thread:sleep", 120*61c4878aSAndroid Build Coastguard Worker "//pw_thread:thread", 121*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 122*61c4878aSAndroid Build Coastguard Worker ], 123*61c4878aSAndroid Build Coastguard Worker) 124*61c4878aSAndroid Build Coastguard Worker 125*61c4878aSAndroid Build Coastguard Workercc_library( 126*61c4878aSAndroid Build Coastguard Worker name = "rp2_stdio_channel", 127*61c4878aSAndroid Build Coastguard Worker srcs = ["rp2_stdio_channel.cc"], 128*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_channel/rp2_stdio_channel.h"], 129*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 130*61c4878aSAndroid Build Coastguard Worker target_compatible_with = [ 131*61c4878aSAndroid Build Coastguard Worker "//pw_build/constraints/chipset:rp2040", 132*61c4878aSAndroid Build Coastguard Worker ], 133*61c4878aSAndroid Build Coastguard Worker deps = [ 134*61c4878aSAndroid Build Coastguard Worker ":pw_channel", 135*61c4878aSAndroid Build Coastguard Worker "//pw_log", 136*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:allocator", 137*61c4878aSAndroid Build Coastguard Worker "@pico-sdk//src/rp2_common/pico_stdlib", 138*61c4878aSAndroid Build Coastguard Worker ], 139*61c4878aSAndroid Build Coastguard Worker) 140*61c4878aSAndroid Build Coastguard Worker 141*61c4878aSAndroid Build Coastguard Workercc_library( 142*61c4878aSAndroid Build Coastguard Worker name = "stream_channel", 143*61c4878aSAndroid Build Coastguard Worker srcs = ["stream_channel.cc"], 144*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_channel/stream_channel.h"], 145*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 146*61c4878aSAndroid Build Coastguard Worker deps = [ 147*61c4878aSAndroid Build Coastguard Worker ":pw_channel", 148*61c4878aSAndroid Build Coastguard Worker "//pw_log", 149*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:allocator", 150*61c4878aSAndroid Build Coastguard Worker "//pw_stream", 151*61c4878aSAndroid Build Coastguard Worker "//pw_sync:interrupt_spin_lock", 152*61c4878aSAndroid Build Coastguard Worker "//pw_sync:thread_notification", 153*61c4878aSAndroid Build Coastguard Worker "//pw_thread:thread", 154*61c4878aSAndroid Build Coastguard Worker ], 155*61c4878aSAndroid Build Coastguard Worker) 156*61c4878aSAndroid Build Coastguard Worker 157*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 158*61c4878aSAndroid Build Coastguard Worker name = "stream_channel_test", 159*61c4878aSAndroid Build Coastguard Worker srcs = ["stream_channel_test.cc"], 160*61c4878aSAndroid Build Coastguard Worker deps = [ 161*61c4878aSAndroid Build Coastguard Worker ":stream_channel", 162*61c4878aSAndroid Build Coastguard Worker "//pw_async2:pend_func_task", 163*61c4878aSAndroid Build Coastguard Worker "//pw_multibuf:testing", 164*61c4878aSAndroid Build Coastguard Worker "//pw_stream", 165*61c4878aSAndroid Build Coastguard Worker "//pw_stream:mpsc_stream", 166*61c4878aSAndroid Build Coastguard Worker "//pw_thread:test_thread_context", 167*61c4878aSAndroid Build Coastguard Worker "//pw_thread:thread", 168*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 169*61c4878aSAndroid Build Coastguard Worker ], 170*61c4878aSAndroid Build Coastguard Worker) 171*61c4878aSAndroid Build Coastguard Worker 172*61c4878aSAndroid Build Coastguard Workerfilegroup( 173*61c4878aSAndroid Build Coastguard Worker name = "doxygen", 174*61c4878aSAndroid Build Coastguard Worker srcs = [ 175*61c4878aSAndroid Build Coastguard Worker "public/pw_channel/channel.h", 176*61c4878aSAndroid Build Coastguard Worker "public/pw_channel/epoll_channel.h", 177*61c4878aSAndroid Build Coastguard Worker "public/pw_channel/forwarding_channel.h", 178*61c4878aSAndroid Build Coastguard Worker "public/pw_channel/loopback_channel.h", 179*61c4878aSAndroid Build Coastguard Worker "public/pw_channel/rp2_stdio_channel.h", 180*61c4878aSAndroid Build Coastguard Worker "public/pw_channel/stream_channel.h", 181*61c4878aSAndroid Build Coastguard Worker ], 182*61c4878aSAndroid Build Coastguard Worker) 183