• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2024 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
15package {
16    default_applicable_licenses: ["external_pigweed_license"],
17}
18
19filegroup {
20    name: "pw_multibuf_src_files",
21}
22
23cc_library_static {
24    name: "pw_multibuf",
25    srcs: [
26        "chunk.cc",
27        "from_span.cc",
28        "multibuf.cc",
29    ],
30    cpp_std: "c++20",
31    export_include_dirs: [
32        "public",
33    ],
34    defaults: [
35        "pw_android_common_backends",
36    ],
37    header_libs: [
38        "pw_assert",
39        "pw_log",
40        "pw_sync",
41    ],
42    export_header_lib_headers: [
43        "pw_assert",
44        "pw_log",
45        "pw_sync",
46    ],
47    vendor_available: true,
48    host_supported: true,
49    static_libs: [
50        "pw_allocator",
51        "pw_bytes",
52        "pw_function",
53        "pw_span",
54        "pw_status",
55    ],
56    export_static_lib_headers: [
57        "pw_allocator",
58        "pw_bytes",
59        "pw_function",
60        "pw_span",
61        "pw_status",
62    ],
63}
64
65cc_library_static {
66    name: "pw_multibuf_allocator",
67    srcs: [
68        "allocator.cc",
69        "simple_allocator.cc",
70    ],
71    cpp_std: "c++20",
72    export_include_dirs: [
73        "public",
74    ],
75    defaults: [
76        "pw_android_common_backends",
77    ],
78    header_libs: [
79        "pw_sync",
80    ],
81    export_header_lib_headers: [
82        "pw_sync",
83    ],
84    static_libs: [
85        "pw_containers",
86        "pw_multibuf",
87        "pw_result",
88    ],
89    export_static_lib_headers: [
90        "pw_containers",
91        "pw_multibuf",
92        "pw_result",
93    ],
94    vendor_available: true,
95    host_supported: true,
96}
97
98// # TODO: https://pwbug.dev/384615147 - Add targets for other multibuf targets
99// including allocator_async.
100