# Copyright 2020 The Pigweed Authors # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. load( "//pw_build:pigweed.bzl", "pw_cc_test", ) load("//pw_build:selects.bzl", "TARGET_COMPATIBLE_WITH_HOST_SELECT") package(default_visibility = ["//visibility:public"]) licenses(["notice"]) cc_library( name = "pw_stream", srcs = [ "memory_stream.cc", ], hdrs = [ "public/pw_stream/memory_stream.h", "public/pw_stream/null_stream.h", "public/pw_stream/seek.h", "public/pw_stream/stream.h", ], includes = ["public"], deps = [ "//pw_assert", "//pw_bytes", "//pw_polyfill", "//pw_result", "//pw_span", "//pw_status", "//pw_toolchain:sibling_cast", ], ) cc_library( name = "socket_stream", srcs = ["socket_stream.cc"], hdrs = ["public/pw_stream/socket_stream.h"], # TODO: b/343481391 - get this building on supporting targets target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT), deps = [ ":pw_stream", "//pw_log", "//pw_string", "//pw_sync:mutex", "//pw_sys_io", ], ) cc_library( name = "sys_io_stream", hdrs = ["public/pw_stream/sys_io_stream.h"], deps = [ "//pw_stream", "//pw_sys_io", ], ) cc_library( name = "std_file_stream", srcs = ["std_file_stream.cc"], hdrs = ["public/pw_stream/std_file_stream.h"], deps = [ ":pw_stream", "//pw_assert", ], ) cc_library( name = "interval_reader", srcs = ["interval_reader.cc"], hdrs = ["public/pw_stream/interval_reader.h"], deps = [":pw_stream"], ) cc_library( name = "mpsc_stream", srcs = ["mpsc_stream.cc"], hdrs = ["public/pw_stream/mpsc_stream.h"], deps = [ ":pw_stream", "//pw_assert", "//pw_bytes", "//pw_chrono:system_clock_facade", "//pw_containers:intrusive_list", "//pw_function", "//pw_status", "//pw_sync:lock_annotations", "//pw_sync:mutex", "//pw_sync:timed_thread_notification", ], ) pw_cc_test( name = "memory_stream_test", srcs = ["memory_stream_test.cc"], deps = [ ":pw_stream", "//pw_assert", "//pw_status", "//pw_unit_test", ], ) pw_cc_test( name = "null_stream_test", srcs = ["null_stream_test.cc"], deps = [ ":pw_stream", "//pw_unit_test", ], ) pw_cc_test( name = "std_file_stream_test", srcs = ["std_file_stream_test.cc"], target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT), deps = [ ":std_file_stream", "//pw_assert", "//pw_bytes", "//pw_containers", "//pw_random", "//pw_result", "//pw_status", "//pw_string", "//pw_unit_test", ], ) pw_cc_test( name = "seek_test", srcs = ["seek_test.cc"], deps = [ ":pw_stream", "//pw_unit_test", ], ) pw_cc_test( name = "stream_test", srcs = ["stream_test.cc"], deps = [ ":pw_stream", "//pw_unit_test", ], ) pw_cc_test( name = "interval_reader_test", srcs = ["interval_reader_test.cc"], deps = [ ":interval_reader", "//pw_unit_test", ], ) pw_cc_test( name = "socket_stream_test", srcs = ["socket_stream_test.cc"], deps = [ ":socket_stream", "//pw_unit_test", ], ) pw_cc_test( name = "mpsc_stream_test", srcs = ["mpsc_stream_test.cc"], deps = [ ":mpsc_stream", "//pw_containers:vector", "//pw_fuzzer:fuzztest", "//pw_random", "//pw_thread:test_thread_context", "//pw_thread:thread", "//pw_unit_test", ], )