blob: 88db5bdb6a7a99f35e0e9ac776f3fe44c42f9f2a [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",
Prashanth Swaminathan16541e72021-06-21 09:22:25 -070030 "$dir_pw_result",
Keir Mierle866cff42020-04-28 22:24:44 -070031 "$dir_pw_status",
32 ]
33 sources = [ "prefixed_entry_ring_buffer.cc" ]
34 public = [ "public/pw_ring_buffer/prefixed_entry_ring_buffer.h" ]
Prashanth Swaminathanbf6e2e92021-02-09 20:12:22 -080035 deps = [
36 "$dir_pw_assert:pw_assert",
37 "$dir_pw_varint",
38 ]
Keir Mierle866cff42020-04-28 22:24:44 -070039}
40
41pw_test_group("tests") {
42 tests = [ ":prefixed_entry_ring_buffer_test" ]
43}
44
45pw_test("prefixed_entry_ring_buffer_test") {
Keir Mierlebcdf4602020-05-07 11:39:45 -070046 deps = [
47 ":pw_ring_buffer",
48 "$dir_pw_assert:pw_assert",
49 ]
Keir Mierle866cff42020-04-28 22:24:44 -070050 sources = [ "prefixed_entry_ring_buffer_test.cc" ]
51}
52
53pw_doc_group("docs") {
54 sources = [ "docs.rst" ]
Prashanth Swaminathan30c97492021-02-11 10:37:38 -080055 report_deps = [ ":ring_buffer_size" ]
56}
57
58pw_size_report("ring_buffer_size") {
59 title = "pw::ring_buffer::PrefixedEntryRingBuffer"
60
61 binaries = [
62 {
63 target = "size_report:ring_buffer_simple"
64 base = "$dir_pw_bloat:bloat_base"
65 label = "Initialize single-reader ring buffer"
66 },
67 {
68 target = "size_report:ring_buffer_multi"
69 base = "$dir_pw_bloat:bloat_base"
70 label = "Initialize multi-reader ring buffer"
71 },
72 {
73 target = "size_report:ring_buffer_multi"
74 base = "size_report:ring_buffer_simple"
75 label = "Initialized multi-reader vs. single-reader"
76 },
77 ]
Keir Mierle866cff42020-04-28 22:24:44 -070078}