• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2022 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
15import("//build_overrides/pigweed.gni")
16import("$dir_pw_build/target_types.gni")
17
18config("public_include_path") {
19  include_dirs = [ "public" ]
20  visibility = [ ":*" ]
21}
22
23pw_source_set("size_report") {
24  public_configs = [ ":public_include_path" ]
25  public = [ "public/pw_containers/size_report/size_report.h" ]
26  public_deps = [ "$dir_pw_bloat:bloat_this_binary" ]
27}
28
29pw_source_set("flat_map") {
30  public_configs = [ ":public_include_path" ]
31  public = [ "public/pw_containers/size_report/flat_map.h" ]
32  public_deps = [
33    ":size_report",
34    "$dir_pw_bloat:bloat_this_binary",
35    "$dir_pw_containers:flat_map",
36  ]
37}
38
39pw_source_set("inline_deque") {
40  public_configs = [ ":public_include_path" ]
41  public = [ "public/pw_containers/size_report/inline_deque.h" ]
42  public_deps = [
43    ":size_report",
44    "$dir_pw_bloat:bloat_this_binary",
45    "$dir_pw_containers:inline_deque",
46  ]
47}
48
49pw_source_set("inline_queue") {
50  public_configs = [ ":public_include_path" ]
51  public = [ "public/pw_containers/size_report/inline_queue.h" ]
52  public_deps = [
53    ":size_report",
54    "$dir_pw_bloat:bloat_this_binary",
55    "$dir_pw_containers:inline_queue",
56  ]
57}
58
59pw_source_set("intrusive_forward_list") {
60  public_configs = [ ":public_include_path" ]
61  public = [ "public/pw_containers/size_report/intrusive_forward_list.h" ]
62  public_deps = [
63    ":size_report",
64    "$dir_pw_bloat:bloat_this_binary",
65    "$dir_pw_containers:intrusive_forward_list",
66  ]
67}
68
69pw_source_set("intrusive_list") {
70  public_configs = [ ":public_include_path" ]
71  public = [ "public/pw_containers/size_report/intrusive_list.h" ]
72  public_deps = [
73    ":size_report",
74    "$dir_pw_bloat:bloat_this_binary",
75    "$dir_pw_containers:intrusive_list",
76  ]
77}
78
79pw_source_set("intrusive_map") {
80  public_configs = [ ":public_include_path" ]
81  public = [ "public/pw_containers/size_report/intrusive_map.h" ]
82  public_deps = [
83    ":size_report",
84    "$dir_pw_bloat:bloat_this_binary",
85    "$dir_pw_containers:intrusive_map",
86  ]
87}
88
89pw_source_set("intrusive_multimap") {
90  public_configs = [ ":public_include_path" ]
91  public = [ "public/pw_containers/size_report/intrusive_multimap.h" ]
92  public_deps = [
93    ":size_report",
94    "$dir_pw_bloat:bloat_this_binary",
95    "$dir_pw_containers:intrusive_multimap",
96  ]
97}
98
99pw_source_set("intrusive_multiset") {
100  public_configs = [ ":public_include_path" ]
101  public = [ "public/pw_containers/size_report/intrusive_multiset.h" ]
102  public_deps = [
103    ":size_report",
104    "$dir_pw_bloat:bloat_this_binary",
105    "$dir_pw_containers:intrusive_multiset",
106  ]
107}
108
109pw_source_set("intrusive_set") {
110  public_configs = [ ":public_include_path" ]
111  public = [ "public/pw_containers/size_report/intrusive_set.h" ]
112  public_deps = [
113    ":size_report",
114    "$dir_pw_bloat:bloat_this_binary",
115    "$dir_pw_containers:intrusive_set",
116  ]
117}
118
119pw_source_set("vector") {
120  public_configs = [ ":public_include_path" ]
121  public = [ "public/pw_containers/size_report/vector.h" ]
122  public_deps = [
123    ":size_report",
124    "$dir_pw_bloat:bloat_this_binary",
125    "$dir_pw_containers:vector",
126  ]
127}
128
129pw_executable("base") {
130  sources = [ "base.cc" ]
131  deps = [
132    ":size_report",
133    "$dir_pw_bloat:bloat_this_binary",
134  ]
135}
136
137pw_executable("flat_map_base") {
138  sources = [ "flat_map.cc" ]
139  deps = [
140    ":flat_map",
141    "$dir_pw_bloat:bloat_this_binary",
142  ]
143}
144
145pw_executable("flat_map_alternate_types") {
146  sources = [ "flat_map.cc" ]
147  defines = [
148    "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_KEY",
149    "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE",
150  ]
151  deps = [
152    ":flat_map",
153    "$dir_pw_bloat:bloat_this_binary",
154  ]
155}
156
157pw_executable("inline_deque_base") {
158  sources = [ "inline_deque.cc" ]
159  deps = [
160    ":inline_deque",
161    "$dir_pw_bloat:bloat_this_binary",
162  ]
163}
164
165pw_executable("inline_deque_alternate_type") {
166  sources = [ "inline_deque.cc" ]
167  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE" ]
168  deps = [
169    ":inline_deque",
170    "$dir_pw_bloat:bloat_this_binary",
171  ]
172}
173
174pw_executable("inline_queue_base") {
175  sources = [ "inline_queue.cc" ]
176  deps = [
177    ":inline_queue",
178    "$dir_pw_bloat:bloat_this_binary",
179  ]
180}
181
182pw_executable("inline_queue_alternate_type") {
183  sources = [ "inline_queue.cc" ]
184  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE" ]
185  deps = [
186    ":inline_queue",
187    "$dir_pw_bloat:bloat_this_binary",
188  ]
189}
190
191pw_executable("inline_deque_and_queue") {
192  sources = [ "inline_deque_and_queue.cc" ]
193  deps = [
194    ":inline_deque",
195    ":inline_queue",
196    "$dir_pw_bloat:bloat_this_binary",
197  ]
198}
199
200pw_executable("intrusive_forward_list_base") {
201  sources = [ "intrusive_forward_list.cc" ]
202  deps = [
203    ":intrusive_forward_list",
204    "$dir_pw_bloat:bloat_this_binary",
205  ]
206}
207
208pw_executable("intrusive_forward_list_alternate_type") {
209  sources = [ "intrusive_forward_list.cc" ]
210  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE" ]
211  deps = [
212    ":intrusive_forward_list",
213    "$dir_pw_bloat:bloat_this_binary",
214  ]
215}
216
217pw_executable("intrusive_list_base") {
218  sources = [ "intrusive_list.cc" ]
219  deps = [
220    ":intrusive_list",
221    "$dir_pw_bloat:bloat_this_binary",
222  ]
223}
224
225pw_executable("intrusive_list_alternate_type") {
226  sources = [ "intrusive_list.cc" ]
227  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE" ]
228  deps = [
229    ":intrusive_list",
230    "$dir_pw_bloat:bloat_this_binary",
231  ]
232}
233
234pw_executable("intrusive_list_and_forward_list") {
235  sources = [ "intrusive_list_and_forward_list.cc" ]
236  deps = [
237    ":intrusive_forward_list",
238    ":intrusive_list",
239    "$dir_pw_bloat:bloat_this_binary",
240  ]
241}
242
243pw_executable("intrusive_map_base") {
244  sources = [ "intrusive_map.cc" ]
245  deps = [
246    ":intrusive_map",
247    "$dir_pw_bloat:bloat_this_binary",
248  ]
249}
250
251pw_executable("intrusive_map_alternate_key") {
252  sources = [ "intrusive_map.cc" ]
253  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_KEY" ]
254  deps = [
255    ":intrusive_map",
256    "$dir_pw_bloat:bloat_this_binary",
257  ]
258}
259
260pw_executable("intrusive_map_alternate_types") {
261  sources = [ "intrusive_map.cc" ]
262  defines = [
263    "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_KEY",
264    "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE",
265  ]
266  deps = [
267    ":intrusive_map",
268    "$dir_pw_bloat:bloat_this_binary",
269  ]
270}
271
272pw_executable("intrusive_multimap_base") {
273  sources = [ "intrusive_multimap.cc" ]
274  deps = [
275    ":intrusive_multimap",
276    "$dir_pw_bloat:bloat_this_binary",
277  ]
278}
279
280pw_executable("intrusive_multimap_alternate_key") {
281  sources = [ "intrusive_multimap.cc" ]
282  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_KEY" ]
283  deps = [
284    ":intrusive_multimap",
285    "$dir_pw_bloat:bloat_this_binary",
286  ]
287}
288
289pw_executable("intrusive_multimap_alternate_types") {
290  sources = [ "intrusive_multimap.cc" ]
291  defines = [
292    "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_KEY",
293    "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE",
294  ]
295  deps = [
296    ":intrusive_multimap",
297    "$dir_pw_bloat:bloat_this_binary",
298  ]
299}
300
301pw_executable("intrusive_map_and_multimap") {
302  sources = [ "intrusive_map_and_multimap.cc" ]
303  deps = [
304    ":intrusive_map",
305    ":intrusive_multimap",
306    "$dir_pw_bloat:bloat_this_binary",
307  ]
308}
309
310pw_executable("intrusive_set_base") {
311  sources = [ "intrusive_set.cc" ]
312  deps = [
313    ":intrusive_set",
314    "$dir_pw_bloat:bloat_this_binary",
315  ]
316}
317
318pw_executable("intrusive_set_alternate_type") {
319  sources = [ "intrusive_set.cc" ]
320  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE" ]
321  deps = [
322    ":intrusive_set",
323    "$dir_pw_bloat:bloat_this_binary",
324  ]
325}
326
327pw_executable("intrusive_multiset_base") {
328  sources = [ "intrusive_multiset.cc" ]
329  deps = [
330    ":intrusive_multiset",
331    "$dir_pw_bloat:bloat_this_binary",
332  ]
333}
334
335pw_executable("intrusive_multiset_alternate_type") {
336  sources = [ "intrusive_multiset.cc" ]
337  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE" ]
338  deps = [
339    ":intrusive_multiset",
340    "$dir_pw_bloat:bloat_this_binary",
341  ]
342}
343
344pw_executable("intrusive_set_and_multiset") {
345  sources = [ "intrusive_set_and_multiset.cc" ]
346  deps = [
347    ":intrusive_multiset",
348    ":intrusive_set",
349    "$dir_pw_bloat:bloat_this_binary",
350  ]
351}
352
353pw_executable("vector_base") {
354  sources = [ "vector.cc" ]
355  deps = [
356    ":vector",
357    "$dir_pw_bloat:bloat_this_binary",
358  ]
359}
360
361pw_executable("vector_alternate_size") {
362  sources = [ "vector.cc" ]
363  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_SIZE" ]
364  deps = [
365    ":vector",
366    "$dir_pw_bloat:bloat_this_binary",
367  ]
368}
369
370pw_executable("vector_alternate_type") {
371  sources = [ "vector.cc" ]
372  defines = [ "PW_CONTAINERS_SIZE_REPORT_ALTERNATE_VALUE" ]
373  deps = [
374    ":vector",
375    "$dir_pw_bloat:bloat_this_binary",
376  ]
377}
378