1# Copyright 2020 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15load("@rules_cc//cc:cc_library.bzl", "cc_library") 16load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library") 17load("//pw_build:compatibility.bzl", "incompatible_with_mcu") 18load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test") 19 20package( 21 default_visibility = ["//visibility:public"], 22 features = ["-layering_check"], 23) 24 25licenses(["notice"]) 26 27cc_library( 28 name = "pw_varint", 29 srcs = [ 30 "varint.cc", 31 "varint_c.c", 32 ], 33 hdrs = [ 34 "public/pw_varint/varint.h", 35 ], 36 strip_include_prefix = "public", 37 tags = ["noclangtidy"], 38 deps = [ 39 "//pw_preprocessor", 40 "//pw_span", 41 "//third_party/fuchsia:stdcompat", 42 ], 43) 44 45cc_library( 46 name = "stream", 47 srcs = [ 48 "stream.cc", 49 ], 50 hdrs = [ 51 "public/pw_varint/stream.h", 52 ], 53 strip_include_prefix = "public", 54 deps = [ 55 ":pw_varint", 56 "//pw_span", 57 "//pw_status", 58 "//pw_stream", 59 ], 60) 61 62pw_cc_test( 63 name = "varint_test", 64 srcs = [ 65 "varint_test.cc", 66 "varint_test_c.c", 67 ], 68 deps = [ 69 ":pw_varint", 70 "//pw_fuzzer:fuzztest", 71 ], 72) 73 74pw_cc_test( 75 name = "stream_test", 76 srcs = [ 77 "stream_test.cc", 78 ], 79 deps = [":stream"], 80) 81 82filegroup( 83 name = "doxygen", 84 srcs = [ 85 "public/pw_varint/stream.h", 86 "public/pw_varint/varint.h", 87 ], 88) 89 90sphinx_docs_library( 91 name = "docs", 92 srcs = [ 93 "Kconfig", 94 "docs.rst", 95 ], 96 prefix = "pw_varint/", 97 target_compatible_with = incompatible_with_mcu(), 98) 99