1*61c4878aSAndroid Build Coastguard Worker# Copyright 2019 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni") 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_bloat/bloat.gni") 18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/module_config.gni") 19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni") 20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni") 21*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_toolchain/traits.gni") 22*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni") 23*61c4878aSAndroid Build Coastguard Worker 24*61c4878aSAndroid Build Coastguard Worker# Module configuration 25*61c4878aSAndroid Build Coastguard Worker 26*61c4878aSAndroid Build Coastguard Workerdeclare_args() { 27*61c4878aSAndroid Build Coastguard Worker # The build target that overrides the default configuration options for this 28*61c4878aSAndroid Build Coastguard Worker # module. This should point to a source set that provides defines through a 29*61c4878aSAndroid Build Coastguard Worker # public config (which may -include a file or add defines directly). 30*61c4878aSAndroid Build Coastguard Worker pw_containers_CONFIG = pw_build_DEFAULT_MODULE_CONFIG 31*61c4878aSAndroid Build Coastguard Worker} 32*61c4878aSAndroid Build Coastguard Worker 33*61c4878aSAndroid Build Coastguard Workerconfig("public_include_path") { 34*61c4878aSAndroid Build Coastguard Worker include_dirs = [ "public" ] 35*61c4878aSAndroid Build Coastguard Worker visibility = [ ":*" ] 36*61c4878aSAndroid Build Coastguard Worker} 37*61c4878aSAndroid Build Coastguard Worker 38*61c4878aSAndroid Build Coastguard Workerpw_source_set("config") { 39*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/config.h" ] 40*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 41*61c4878aSAndroid Build Coastguard Worker public_deps = [ pw_containers_CONFIG ] 42*61c4878aSAndroid Build Coastguard Worker} 43*61c4878aSAndroid Build Coastguard Worker 44*61c4878aSAndroid Build Coastguard Worker# Libraries 45*61c4878aSAndroid Build Coastguard Worker 46*61c4878aSAndroid Build Coastguard Workergroup("pw_containers") { 47*61c4878aSAndroid Build Coastguard Worker public_deps = [ 48*61c4878aSAndroid Build Coastguard Worker ":algorithm", 49*61c4878aSAndroid Build Coastguard Worker ":flat_map", 50*61c4878aSAndroid Build Coastguard Worker ":inline_deque", 51*61c4878aSAndroid Build Coastguard Worker ":inline_queue", 52*61c4878aSAndroid Build Coastguard Worker ":intrusive_list", 53*61c4878aSAndroid Build Coastguard Worker ":vector", 54*61c4878aSAndroid Build Coastguard Worker ] 55*61c4878aSAndroid Build Coastguard Worker} 56*61c4878aSAndroid Build Coastguard Worker 57*61c4878aSAndroid Build Coastguard Workerpw_source_set("algorithm") { 58*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 59*61c4878aSAndroid Build Coastguard Worker public = [ 60*61c4878aSAndroid Build Coastguard Worker "public/pw_containers/algorithm.h", 61*61c4878aSAndroid Build Coastguard Worker "public/pw_containers/internal/algorithm_internal.h", 62*61c4878aSAndroid Build Coastguard Worker ] 63*61c4878aSAndroid Build Coastguard Worker} 64*61c4878aSAndroid Build Coastguard Worker 65*61c4878aSAndroid Build Coastguard Workerpw_source_set("filtered_view") { 66*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 67*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/filtered_view.h" ] 68*61c4878aSAndroid Build Coastguard Worker public_deps = [ 69*61c4878aSAndroid Build Coastguard Worker dir_pw_assert, 70*61c4878aSAndroid Build Coastguard Worker dir_pw_preprocessor, 71*61c4878aSAndroid Build Coastguard Worker ] 72*61c4878aSAndroid Build Coastguard Worker} 73*61c4878aSAndroid Build Coastguard Worker 74*61c4878aSAndroid Build Coastguard Workerpw_source_set("flat_map") { 75*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 76*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/flat_map.h" ] 77*61c4878aSAndroid Build Coastguard Worker public_deps = [ "$dir_pw_assert:assert" ] 78*61c4878aSAndroid Build Coastguard Worker} 79*61c4878aSAndroid Build Coastguard Worker 80*61c4878aSAndroid Build Coastguard Workerpw_source_set("inline_deque") { 81*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 82*61c4878aSAndroid Build Coastguard Worker public_deps = [ 83*61c4878aSAndroid Build Coastguard Worker ":raw_storage", 84*61c4878aSAndroid Build Coastguard Worker dir_pw_assert, 85*61c4878aSAndroid Build Coastguard Worker dir_pw_preprocessor, 86*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 87*61c4878aSAndroid Build Coastguard Worker ] 88*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/inline_deque.h" ] 89*61c4878aSAndroid Build Coastguard Worker} 90*61c4878aSAndroid Build Coastguard Worker 91*61c4878aSAndroid Build Coastguard Workerpw_source_set("inline_queue") { 92*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 93*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":inline_deque" ] 94*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/inline_queue.h" ] 95*61c4878aSAndroid Build Coastguard Worker} 96*61c4878aSAndroid Build Coastguard Worker 97*61c4878aSAndroid Build Coastguard Workerpw_source_set("iterator") { 98*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 99*61c4878aSAndroid Build Coastguard Worker public_deps = [ dir_pw_polyfill ] 100*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/iterator.h" ] 101*61c4878aSAndroid Build Coastguard Worker} 102*61c4878aSAndroid Build Coastguard Worker 103*61c4878aSAndroid Build Coastguard Workerpw_source_set("raw_storage") { 104*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 105*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/internal/raw_storage.h" ] 106*61c4878aSAndroid Build Coastguard Worker visibility = [ ":*" ] 107*61c4878aSAndroid Build Coastguard Worker} 108*61c4878aSAndroid Build Coastguard Worker 109*61c4878aSAndroid Build Coastguard Workerpw_source_set("test_helpers") { 110*61c4878aSAndroid Build Coastguard Worker public = [ "pw_containers_private/test_helpers.h" ] 111*61c4878aSAndroid Build Coastguard Worker sources = [ "test_helpers.cc" ] 112*61c4878aSAndroid Build Coastguard Worker visibility = [ ":*" ] 113*61c4878aSAndroid Build Coastguard Worker} 114*61c4878aSAndroid Build Coastguard Worker 115*61c4878aSAndroid Build Coastguard Workerpw_source_set("to_array") { 116*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 117*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/to_array.h" ] 118*61c4878aSAndroid Build Coastguard Worker} 119*61c4878aSAndroid Build Coastguard Worker 120*61c4878aSAndroid Build Coastguard Workerpw_source_set("inline_var_len_entry_queue") { 121*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 122*61c4878aSAndroid Build Coastguard Worker public_deps = [ dir_pw_varint ] 123*61c4878aSAndroid Build Coastguard Worker deps = [ dir_pw_assert ] 124*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/inline_var_len_entry_queue.h" ] 125*61c4878aSAndroid Build Coastguard Worker sources = [ "inline_var_len_entry_queue.c" ] 126*61c4878aSAndroid Build Coastguard Worker 127*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 128*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 129*61c4878aSAndroid Build Coastguard Worker} 130*61c4878aSAndroid Build Coastguard Worker 131*61c4878aSAndroid Build Coastguard Workerpw_source_set("vector") { 132*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 133*61c4878aSAndroid Build Coastguard Worker public_deps = [ 134*61c4878aSAndroid Build Coastguard Worker dir_pw_assert, 135*61c4878aSAndroid Build Coastguard Worker dir_pw_preprocessor, 136*61c4878aSAndroid Build Coastguard Worker ] 137*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/vector.h" ] 138*61c4878aSAndroid Build Coastguard Worker} 139*61c4878aSAndroid Build Coastguard Worker 140*61c4878aSAndroid Build Coastguard Workerpw_source_set("wrapped_iterator") { 141*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 142*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/wrapped_iterator.h" ] 143*61c4878aSAndroid Build Coastguard Worker} 144*61c4878aSAndroid Build Coastguard Worker 145*61c4878aSAndroid Build Coastguard Workerpw_source_set("intrusive_item") { 146*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 147*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/internal/intrusive_item.h" ] 148*61c4878aSAndroid Build Coastguard Worker sources = [ "intrusive_item.cc" ] 149*61c4878aSAndroid Build Coastguard Worker deps = [ dir_pw_assert ] 150*61c4878aSAndroid Build Coastguard Worker} 151*61c4878aSAndroid Build Coastguard Worker 152*61c4878aSAndroid Build Coastguard Workerpw_source_set("intrusive_list_common") { 153*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 154*61c4878aSAndroid Build Coastguard Worker public = [ 155*61c4878aSAndroid Build Coastguard Worker "public/pw_containers/internal/intrusive_list.h", 156*61c4878aSAndroid Build Coastguard Worker "public/pw_containers/internal/intrusive_list_item.h", 157*61c4878aSAndroid Build Coastguard Worker "public/pw_containers/internal/intrusive_list_iterator.h", 158*61c4878aSAndroid Build Coastguard Worker ] 159*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":intrusive_item" ] 160*61c4878aSAndroid Build Coastguard Worker} 161*61c4878aSAndroid Build Coastguard Worker 162*61c4878aSAndroid Build Coastguard Workerpw_source_set("intrusive_forward_list") { 163*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 164*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/intrusive_forward_list.h" ] 165*61c4878aSAndroid Build Coastguard Worker public_deps = [ 166*61c4878aSAndroid Build Coastguard Worker ":config", 167*61c4878aSAndroid Build Coastguard Worker ":intrusive_list_common", 168*61c4878aSAndroid Build Coastguard Worker ] 169*61c4878aSAndroid Build Coastguard Worker} 170*61c4878aSAndroid Build Coastguard Worker 171*61c4878aSAndroid Build Coastguard Workerpw_source_set("intrusive_list") { 172*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 173*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/intrusive_list.h" ] 174*61c4878aSAndroid Build Coastguard Worker public_deps = [ 175*61c4878aSAndroid Build Coastguard Worker ":config", 176*61c4878aSAndroid Build Coastguard Worker ":intrusive_list_common", 177*61c4878aSAndroid Build Coastguard Worker ":legacy_intrusive_list", 178*61c4878aSAndroid Build Coastguard Worker ] 179*61c4878aSAndroid Build Coastguard Worker} 180*61c4878aSAndroid Build Coastguard Worker 181*61c4878aSAndroid Build Coastguard Workerpw_source_set("legacy_intrusive_list") { 182*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 183*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/internal/legacy_intrusive_list.h" ] 184*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":intrusive_forward_list" ] 185*61c4878aSAndroid Build Coastguard Worker visibility = [ "./*" ] 186*61c4878aSAndroid Build Coastguard Worker} 187*61c4878aSAndroid Build Coastguard Worker 188*61c4878aSAndroid Build Coastguard Workerpw_source_set("aa_tree") { 189*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 190*61c4878aSAndroid Build Coastguard Worker public = [ 191*61c4878aSAndroid Build Coastguard Worker "public/pw_containers/internal/aa_tree.h", 192*61c4878aSAndroid Build Coastguard Worker "public/pw_containers/internal/aa_tree_item.h", 193*61c4878aSAndroid Build Coastguard Worker "public/pw_containers/internal/aa_tree_iterator.h", 194*61c4878aSAndroid Build Coastguard Worker ] 195*61c4878aSAndroid Build Coastguard Worker public_deps = [ 196*61c4878aSAndroid Build Coastguard Worker ":intrusive_item", 197*61c4878aSAndroid Build Coastguard Worker "$dir_pw_bytes:packed_ptr", 198*61c4878aSAndroid Build Coastguard Worker dir_pw_assert, 199*61c4878aSAndroid Build Coastguard Worker dir_pw_function, 200*61c4878aSAndroid Build Coastguard Worker ] 201*61c4878aSAndroid Build Coastguard Worker sources = [ 202*61c4878aSAndroid Build Coastguard Worker "aa_tree.cc", 203*61c4878aSAndroid Build Coastguard Worker "aa_tree_item.cc", 204*61c4878aSAndroid Build Coastguard Worker ] 205*61c4878aSAndroid Build Coastguard Worker visibility = [ "./*" ] 206*61c4878aSAndroid Build Coastguard Worker} 207*61c4878aSAndroid Build Coastguard Worker 208*61c4878aSAndroid Build Coastguard Workerpw_source_set("intrusive_map") { 209*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 210*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/intrusive_map.h" ] 211*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":aa_tree" ] 212*61c4878aSAndroid Build Coastguard Worker} 213*61c4878aSAndroid Build Coastguard Worker 214*61c4878aSAndroid Build Coastguard Workerpw_source_set("intrusive_multimap") { 215*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 216*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/intrusive_multimap.h" ] 217*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":aa_tree" ] 218*61c4878aSAndroid Build Coastguard Worker} 219*61c4878aSAndroid Build Coastguard Worker 220*61c4878aSAndroid Build Coastguard Workerpw_source_set("intrusive_set") { 221*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 222*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/intrusive_set.h" ] 223*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":aa_tree" ] 224*61c4878aSAndroid Build Coastguard Worker} 225*61c4878aSAndroid Build Coastguard Worker 226*61c4878aSAndroid Build Coastguard Workerpw_source_set("intrusive_multiset") { 227*61c4878aSAndroid Build Coastguard Worker public_configs = [ ":public_include_path" ] 228*61c4878aSAndroid Build Coastguard Worker public = [ "public/pw_containers/intrusive_multiset.h" ] 229*61c4878aSAndroid Build Coastguard Worker public_deps = [ ":aa_tree" ] 230*61c4878aSAndroid Build Coastguard Worker} 231*61c4878aSAndroid Build Coastguard Worker 232*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") { 233*61c4878aSAndroid Build Coastguard Worker tests = [ 234*61c4878aSAndroid Build Coastguard Worker ":algorithm_test", 235*61c4878aSAndroid Build Coastguard Worker ":filtered_view_test", 236*61c4878aSAndroid Build Coastguard Worker ":flat_map_test", 237*61c4878aSAndroid Build Coastguard Worker ":inline_deque_test", 238*61c4878aSAndroid Build Coastguard Worker ":inline_queue_test", 239*61c4878aSAndroid Build Coastguard Worker ":intrusive_forward_list_test", 240*61c4878aSAndroid Build Coastguard Worker ":intrusive_item_test", 241*61c4878aSAndroid Build Coastguard Worker ":intrusive_list_test", 242*61c4878aSAndroid Build Coastguard Worker ":intrusive_map_test", 243*61c4878aSAndroid Build Coastguard Worker ":intrusive_multimap_test", 244*61c4878aSAndroid Build Coastguard Worker ":intrusive_set_test", 245*61c4878aSAndroid Build Coastguard Worker ":intrusive_multiset_test", 246*61c4878aSAndroid Build Coastguard Worker ":raw_storage_test", 247*61c4878aSAndroid Build Coastguard Worker ":to_array_test", 248*61c4878aSAndroid Build Coastguard Worker ":inline_var_len_entry_queue_test", 249*61c4878aSAndroid Build Coastguard Worker ":vector_test", 250*61c4878aSAndroid Build Coastguard Worker ":wrapped_iterator_test", 251*61c4878aSAndroid Build Coastguard Worker ] 252*61c4878aSAndroid Build Coastguard Worker group_deps = [ "examples" ] 253*61c4878aSAndroid Build Coastguard Worker} 254*61c4878aSAndroid Build Coastguard Worker 255*61c4878aSAndroid Build Coastguard Workerpw_test("algorithm_test") { 256*61c4878aSAndroid Build Coastguard Worker sources = [ "algorithm_test.cc" ] 257*61c4878aSAndroid Build Coastguard Worker deps = [ 258*61c4878aSAndroid Build Coastguard Worker ":algorithm", 259*61c4878aSAndroid Build Coastguard Worker ":flat_map", 260*61c4878aSAndroid Build Coastguard Worker ":intrusive_list", 261*61c4878aSAndroid Build Coastguard Worker ":vector", 262*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 263*61c4878aSAndroid Build Coastguard Worker ] 264*61c4878aSAndroid Build Coastguard Worker 265*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 266*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 267*61c4878aSAndroid Build Coastguard Worker} 268*61c4878aSAndroid Build Coastguard Worker 269*61c4878aSAndroid Build Coastguard Workerpw_test("filtered_view_test") { 270*61c4878aSAndroid Build Coastguard Worker sources = [ "filtered_view_test.cc" ] 271*61c4878aSAndroid Build Coastguard Worker deps = [ 272*61c4878aSAndroid Build Coastguard Worker ":algorithm", 273*61c4878aSAndroid Build Coastguard Worker ":filtered_view", 274*61c4878aSAndroid Build Coastguard Worker ":flat_map", 275*61c4878aSAndroid Build Coastguard Worker ":intrusive_list", 276*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 277*61c4878aSAndroid Build Coastguard Worker ] 278*61c4878aSAndroid Build Coastguard Worker 279*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 280*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 281*61c4878aSAndroid Build Coastguard Worker} 282*61c4878aSAndroid Build Coastguard Worker 283*61c4878aSAndroid Build Coastguard Workerpw_test("flat_map_test") { 284*61c4878aSAndroid Build Coastguard Worker sources = [ "flat_map_test.cc" ] 285*61c4878aSAndroid Build Coastguard Worker deps = [ 286*61c4878aSAndroid Build Coastguard Worker ":flat_map", 287*61c4878aSAndroid Build Coastguard Worker dir_pw_polyfill, 288*61c4878aSAndroid Build Coastguard Worker ] 289*61c4878aSAndroid Build Coastguard Worker 290*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 291*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 292*61c4878aSAndroid Build Coastguard Worker} 293*61c4878aSAndroid Build Coastguard Worker 294*61c4878aSAndroid Build Coastguard Workerpw_test("inline_deque_test") { 295*61c4878aSAndroid Build Coastguard Worker sources = [ "inline_deque_test.cc" ] 296*61c4878aSAndroid Build Coastguard Worker deps = [ 297*61c4878aSAndroid Build Coastguard Worker ":algorithm", 298*61c4878aSAndroid Build Coastguard Worker ":inline_deque", 299*61c4878aSAndroid Build Coastguard Worker ":test_helpers", 300*61c4878aSAndroid Build Coastguard Worker ] 301*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 302*61c4878aSAndroid Build Coastguard Worker 303*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 304*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 305*61c4878aSAndroid Build Coastguard Worker} 306*61c4878aSAndroid Build Coastguard Worker 307*61c4878aSAndroid Build Coastguard Workerpw_test("inline_queue_test") { 308*61c4878aSAndroid Build Coastguard Worker sources = [ "inline_queue_test.cc" ] 309*61c4878aSAndroid Build Coastguard Worker deps = [ 310*61c4878aSAndroid Build Coastguard Worker ":algorithm", 311*61c4878aSAndroid Build Coastguard Worker ":inline_queue", 312*61c4878aSAndroid Build Coastguard Worker ":test_helpers", 313*61c4878aSAndroid Build Coastguard Worker ] 314*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 315*61c4878aSAndroid Build Coastguard Worker 316*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 317*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 318*61c4878aSAndroid Build Coastguard Worker} 319*61c4878aSAndroid Build Coastguard Worker 320*61c4878aSAndroid Build Coastguard Workerpw_test("raw_storage_test") { 321*61c4878aSAndroid Build Coastguard Worker sources = [ "raw_storage_test.cc" ] 322*61c4878aSAndroid Build Coastguard Worker deps = [ 323*61c4878aSAndroid Build Coastguard Worker ":raw_storage", 324*61c4878aSAndroid Build Coastguard Worker ":test_helpers", 325*61c4878aSAndroid Build Coastguard Worker ] 326*61c4878aSAndroid Build Coastguard Worker 327*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 328*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 329*61c4878aSAndroid Build Coastguard Worker} 330*61c4878aSAndroid Build Coastguard Worker 331*61c4878aSAndroid Build Coastguard Workerpw_test("to_array_test") { 332*61c4878aSAndroid Build Coastguard Worker sources = [ "to_array_test.cc" ] 333*61c4878aSAndroid Build Coastguard Worker deps = [ ":to_array" ] 334*61c4878aSAndroid Build Coastguard Worker 335*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 336*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 337*61c4878aSAndroid Build Coastguard Worker} 338*61c4878aSAndroid Build Coastguard Worker 339*61c4878aSAndroid Build Coastguard Workerpw_test("inline_var_len_entry_queue_test") { 340*61c4878aSAndroid Build Coastguard Worker sources = [ 341*61c4878aSAndroid Build Coastguard Worker "inline_var_len_entry_queue_test.cc", 342*61c4878aSAndroid Build Coastguard Worker "pw_containers_private/inline_var_len_entry_queue_test_oracle.h", 343*61c4878aSAndroid Build Coastguard Worker ] 344*61c4878aSAndroid Build Coastguard Worker deps = [ 345*61c4878aSAndroid Build Coastguard Worker ":inline_var_len_entry_queue", 346*61c4878aSAndroid Build Coastguard Worker dir_pw_assert, 347*61c4878aSAndroid Build Coastguard Worker dir_pw_bytes, 348*61c4878aSAndroid Build Coastguard Worker ] 349*61c4878aSAndroid Build Coastguard Worker 350*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 351*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 352*61c4878aSAndroid Build Coastguard Worker} 353*61c4878aSAndroid Build Coastguard Worker 354*61c4878aSAndroid Build Coastguard Workerpw_test("vector_test") { 355*61c4878aSAndroid Build Coastguard Worker sources = [ "vector_test.cc" ] 356*61c4878aSAndroid Build Coastguard Worker deps = [ 357*61c4878aSAndroid Build Coastguard Worker ":test_helpers", 358*61c4878aSAndroid Build Coastguard Worker ":vector", 359*61c4878aSAndroid Build Coastguard Worker ] 360*61c4878aSAndroid Build Coastguard Worker 361*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 362*61c4878aSAndroid Build Coastguard Worker 363*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 364*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 365*61c4878aSAndroid Build Coastguard Worker} 366*61c4878aSAndroid Build Coastguard Worker 367*61c4878aSAndroid Build Coastguard Workerpw_test("wrapped_iterator_test") { 368*61c4878aSAndroid Build Coastguard Worker sources = [ "wrapped_iterator_test.cc" ] 369*61c4878aSAndroid Build Coastguard Worker deps = [ ":wrapped_iterator" ] 370*61c4878aSAndroid Build Coastguard Worker 371*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 372*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 373*61c4878aSAndroid Build Coastguard Worker} 374*61c4878aSAndroid Build Coastguard Worker 375*61c4878aSAndroid Build Coastguard Workerpw_test("intrusive_forward_list_test") { 376*61c4878aSAndroid Build Coastguard Worker sources = [ "intrusive_forward_list_test.cc" ] 377*61c4878aSAndroid Build Coastguard Worker deps = [ 378*61c4878aSAndroid Build Coastguard Worker ":intrusive_forward_list", 379*61c4878aSAndroid Build Coastguard Worker ":vector", 380*61c4878aSAndroid Build Coastguard Worker ] 381*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 382*61c4878aSAndroid Build Coastguard Worker 383*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 384*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 385*61c4878aSAndroid Build Coastguard Worker} 386*61c4878aSAndroid Build Coastguard Worker 387*61c4878aSAndroid Build Coastguard Workerpw_test("intrusive_list_test") { 388*61c4878aSAndroid Build Coastguard Worker sources = [ "intrusive_list_test.cc" ] 389*61c4878aSAndroid Build Coastguard Worker deps = [ 390*61c4878aSAndroid Build Coastguard Worker ":intrusive_list", 391*61c4878aSAndroid Build Coastguard Worker ":vector", 392*61c4878aSAndroid Build Coastguard Worker ] 393*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 394*61c4878aSAndroid Build Coastguard Worker 395*61c4878aSAndroid Build Coastguard Worker # TODO: b/259746255 - Remove this when everything compiles with -Wconversion. 396*61c4878aSAndroid Build Coastguard Worker configs = [ "$dir_pw_build:conversion_warnings" ] 397*61c4878aSAndroid Build Coastguard Worker} 398*61c4878aSAndroid Build Coastguard Worker 399*61c4878aSAndroid Build Coastguard Workerpw_test("intrusive_map_test") { 400*61c4878aSAndroid Build Coastguard Worker sources = [ "intrusive_map_test.cc" ] 401*61c4878aSAndroid Build Coastguard Worker deps = [ 402*61c4878aSAndroid Build Coastguard Worker ":intrusive_map", 403*61c4878aSAndroid Build Coastguard Worker ":intrusive_multimap", 404*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 405*61c4878aSAndroid Build Coastguard Worker ] 406*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 407*61c4878aSAndroid Build Coastguard Worker} 408*61c4878aSAndroid Build Coastguard Worker 409*61c4878aSAndroid Build Coastguard Workerpw_test("intrusive_multimap_test") { 410*61c4878aSAndroid Build Coastguard Worker sources = [ "intrusive_multimap_test.cc" ] 411*61c4878aSAndroid Build Coastguard Worker deps = [ 412*61c4878aSAndroid Build Coastguard Worker ":intrusive_map", 413*61c4878aSAndroid Build Coastguard Worker ":intrusive_multimap", 414*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 415*61c4878aSAndroid Build Coastguard Worker ] 416*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 417*61c4878aSAndroid Build Coastguard Worker} 418*61c4878aSAndroid Build Coastguard Worker 419*61c4878aSAndroid Build Coastguard Workerpw_test("intrusive_set_test") { 420*61c4878aSAndroid Build Coastguard Worker sources = [ "intrusive_set_test.cc" ] 421*61c4878aSAndroid Build Coastguard Worker deps = [ 422*61c4878aSAndroid Build Coastguard Worker ":intrusive_multiset", 423*61c4878aSAndroid Build Coastguard Worker ":intrusive_set", 424*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 425*61c4878aSAndroid Build Coastguard Worker ] 426*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 427*61c4878aSAndroid Build Coastguard Worker} 428*61c4878aSAndroid Build Coastguard Worker 429*61c4878aSAndroid Build Coastguard Workerpw_test("intrusive_multiset_test") { 430*61c4878aSAndroid Build Coastguard Worker sources = [ "intrusive_multiset_test.cc" ] 431*61c4878aSAndroid Build Coastguard Worker deps = [ 432*61c4878aSAndroid Build Coastguard Worker ":intrusive_multiset", 433*61c4878aSAndroid Build Coastguard Worker ":intrusive_set", 434*61c4878aSAndroid Build Coastguard Worker dir_pw_span, 435*61c4878aSAndroid Build Coastguard Worker ] 436*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 437*61c4878aSAndroid Build Coastguard Worker} 438*61c4878aSAndroid Build Coastguard Worker 439*61c4878aSAndroid Build Coastguard Workerpw_test("intrusive_item_test") { 440*61c4878aSAndroid Build Coastguard Worker sources = [ "intrusive_item_test.cc" ] 441*61c4878aSAndroid Build Coastguard Worker deps = [ 442*61c4878aSAndroid Build Coastguard Worker ":intrusive_forward_list", 443*61c4878aSAndroid Build Coastguard Worker ":intrusive_list", 444*61c4878aSAndroid Build Coastguard Worker ":intrusive_map", 445*61c4878aSAndroid Build Coastguard Worker ":intrusive_multimap", 446*61c4878aSAndroid Build Coastguard Worker ":intrusive_multiset", 447*61c4878aSAndroid Build Coastguard Worker ":intrusive_set", 448*61c4878aSAndroid Build Coastguard Worker ] 449*61c4878aSAndroid Build Coastguard Worker negative_compilation_tests = true 450*61c4878aSAndroid Build Coastguard Worker} 451*61c4878aSAndroid Build Coastguard Worker 452*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") { 453*61c4878aSAndroid Build Coastguard Worker inputs = [ 454*61c4878aSAndroid Build Coastguard Worker "Kconfig", 455*61c4878aSAndroid Build Coastguard Worker "examples/flat_map.cc", 456*61c4878aSAndroid Build Coastguard Worker "examples/intrusive_forward_list.cc", 457*61c4878aSAndroid Build Coastguard Worker "examples/intrusive_list.cc", 458*61c4878aSAndroid Build Coastguard Worker "examples/intrusive_map.cc", 459*61c4878aSAndroid Build Coastguard Worker "examples/intrusive_multimap.cc", 460*61c4878aSAndroid Build Coastguard Worker "examples/intrusive_multiset.cc", 461*61c4878aSAndroid Build Coastguard Worker "examples/intrusive_set.cc", 462*61c4878aSAndroid Build Coastguard Worker "examples/multiple_containers.cc", 463*61c4878aSAndroid Build Coastguard Worker "examples/wrapped_iterator.cc", 464*61c4878aSAndroid Build Coastguard Worker ] 465*61c4878aSAndroid Build Coastguard Worker sources = [ "docs.rst" ] 466*61c4878aSAndroid Build Coastguard Worker report_deps = [ ":intrusive_list_size_report" ] 467*61c4878aSAndroid Build Coastguard Worker} 468*61c4878aSAndroid Build Coastguard Worker 469*61c4878aSAndroid Build Coastguard Workerpw_size_diff("intrusive_list_size_report") { 470*61c4878aSAndroid Build Coastguard Worker title = "Pigweed containers size report" 471*61c4878aSAndroid Build Coastguard Worker binaries = [ 472*61c4878aSAndroid Build Coastguard Worker { 473*61c4878aSAndroid Build Coastguard Worker target = "size_report:linked_list_one_item" 474*61c4878aSAndroid Build Coastguard Worker base = "size_report:base" 475*61c4878aSAndroid Build Coastguard Worker label = "linked list one item" 476*61c4878aSAndroid Build Coastguard Worker }, 477*61c4878aSAndroid Build Coastguard Worker { 478*61c4878aSAndroid Build Coastguard Worker target = "size_report:linked_list_two_item" 479*61c4878aSAndroid Build Coastguard Worker base = "size_report:base" 480*61c4878aSAndroid Build Coastguard Worker label = "linked list two item" 481*61c4878aSAndroid Build Coastguard Worker }, 482*61c4878aSAndroid Build Coastguard Worker { 483*61c4878aSAndroid Build Coastguard Worker target = "size_report:linked_list_four_item" 484*61c4878aSAndroid Build Coastguard Worker base = "size_report:base" 485*61c4878aSAndroid Build Coastguard Worker label = "linked list four item" 486*61c4878aSAndroid Build Coastguard Worker }, 487*61c4878aSAndroid Build Coastguard Worker { 488*61c4878aSAndroid Build Coastguard Worker target = "size_report:intrusive_forward_list_one_item" 489*61c4878aSAndroid Build Coastguard Worker base = "size_report:base" 490*61c4878aSAndroid Build Coastguard Worker label = "intrusive list one item" 491*61c4878aSAndroid Build Coastguard Worker }, 492*61c4878aSAndroid Build Coastguard Worker { 493*61c4878aSAndroid Build Coastguard Worker target = "size_report:intrusive_forward_list_two_item" 494*61c4878aSAndroid Build Coastguard Worker base = "size_report:base" 495*61c4878aSAndroid Build Coastguard Worker label = "intrusive list two item" 496*61c4878aSAndroid Build Coastguard Worker }, 497*61c4878aSAndroid Build Coastguard Worker { 498*61c4878aSAndroid Build Coastguard Worker target = "size_report:intrusive_forward_list_four_item" 499*61c4878aSAndroid Build Coastguard Worker base = "size_report:base" 500*61c4878aSAndroid Build Coastguard Worker label = "intrusive list four item" 501*61c4878aSAndroid Build Coastguard Worker }, 502*61c4878aSAndroid Build Coastguard Worker ] 503*61c4878aSAndroid Build Coastguard Worker} 504