blob: 8871caa93c0978cc8c3020b244d8fafe90b06bd2 [file] [log] [blame]
Keir Mierle866cff42020-04-28 22:24:44 -07001# 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
Armando Montanezfb3d3fb2020-06-09 18:12:12 -070015import("//build_overrides/pigweed.gni")
16
Prashanth Swaminathan30c97492021-02-11 10:37:38 -080017import("$dir_pw_bloat/bloat.gni")
Alexei Frolovedd2f142020-06-09 19:11:27 -070018import("$dir_pw_build/target_types.gni")
Keir Mierle866cff42020-04-28 22:24:44 -070019import("$dir_pw_docgen/docs.gni")
20import("$dir_pw_unit_test/test.gni")
Wyatt Heplerd49f8fe2020-10-15 10:13:47 -070021
Keir Mierle866cff42020-04-28 22:24:44 -070022config("default_config") {
23 include_dirs = [ "public" ]
24}
25
Alexei Frolovedd2f142020-06-09 19:11:27 -070026pw_source_set("pw_ring_buffer") {
Keir Mierle866cff42020-04-28 22:24:44 -070027 public_configs = [ ":default_config" ]
28 public_deps = [
29 "$dir_pw_containers",
Keir Mierle866cff42020-04-28 22:24:44 -070030 "$dir_pw_status",
31 ]
32 sources = [ "prefixed_entry_ring_buffer.cc" ]
33 public = [ "public/pw_ring_buffer/prefixed_entry_ring_buffer.h" ]
Prashanth Swaminathanbf6e2e92021-02-09 20:12:22 -080034 deps = [
35 "$dir_pw_assert:pw_assert",
36 "$dir_pw_varint",
37 ]
Keir Mierle866cff42020-04-28 22:24:44 -070038}
39
40pw_test_group("tests") {
41 tests = [ ":prefixed_entry_ring_buffer_test" ]
42}
43
44pw_test("prefixed_entry_ring_buffer_test") {
Keir Mierlebcdf4602020-05-07 11:39:45 -070045 deps = [
46 ":pw_ring_buffer",
47 "$dir_pw_assert:pw_assert",
48 ]
Keir Mierle866cff42020-04-28 22:24:44 -070049 sources = [ "prefixed_entry_ring_buffer_test.cc" ]
50}
51
52pw_doc_group("docs") {
53 sources = [ "docs.rst" ]
Prashanth Swaminathan30c97492021-02-11 10:37:38 -080054 report_deps = [ ":ring_buffer_size" ]
55}
56
57pw_size_report("ring_buffer_size") {
58 title = "pw::ring_buffer::PrefixedEntryRingBuffer"
59
60 binaries = [
61 {
62 target = "size_report:ring_buffer_simple"
63 base = "$dir_pw_bloat:bloat_base"
64 label = "Initialize single-reader ring buffer"
65 },
66 {
67 target = "size_report:ring_buffer_multi"
68 base = "$dir_pw_bloat:bloat_base"
69 label = "Initialize multi-reader ring buffer"
70 },
71 {
72 target = "size_report:ring_buffer_multi"
73 base = "size_report:ring_buffer_simple"
74 label = "Initialized multi-reader vs. single-reader"
75 },
76 ]
Keir Mierle866cff42020-04-28 22:24:44 -070077}