1*61c4878aSAndroid Build Coastguard Worker# Copyright 2020 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 Workerload("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test") 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"]) 18*61c4878aSAndroid Build Coastguard Worker 19*61c4878aSAndroid Build Coastguard Workerlicenses(["notice"]) 20*61c4878aSAndroid Build Coastguard Worker 21*61c4878aSAndroid Build Coastguard Worker# Module configuration 22*61c4878aSAndroid Build Coastguard Worker 23*61c4878aSAndroid Build Coastguard Workercc_library( 24*61c4878aSAndroid Build Coastguard Worker name = "config", 25*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/config.h"], 26*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 27*61c4878aSAndroid Build Coastguard Worker deps = [":config_override"], 28*61c4878aSAndroid Build Coastguard Worker) 29*61c4878aSAndroid Build Coastguard Worker 30*61c4878aSAndroid Build Coastguard Workerlabel_flag( 31*61c4878aSAndroid Build Coastguard Worker name = "config_override", 32*61c4878aSAndroid Build Coastguard Worker build_setting_default = "//pw_build:default_module_config", 33*61c4878aSAndroid Build Coastguard Worker) 34*61c4878aSAndroid Build Coastguard Worker 35*61c4878aSAndroid Build Coastguard Workercc_library( 36*61c4878aSAndroid Build Coastguard Worker name = "test_config", 37*61c4878aSAndroid Build Coastguard Worker defines = [ 38*61c4878aSAndroid Build Coastguard Worker "PW_ALLOCATOR_STRICT_VALIDATION=1", 39*61c4878aSAndroid Build Coastguard Worker "PW_ALLOCATOR_BLOCK_POISON_INTERVAL=4", 40*61c4878aSAndroid Build Coastguard Worker ], 41*61c4878aSAndroid Build Coastguard Worker) 42*61c4878aSAndroid Build Coastguard Worker 43*61c4878aSAndroid Build Coastguard Worker# Libraries 44*61c4878aSAndroid Build Coastguard Worker 45*61c4878aSAndroid Build Coastguard Workercc_library( 46*61c4878aSAndroid Build Coastguard Worker name = "allocator", 47*61c4878aSAndroid Build Coastguard Worker srcs = [ 48*61c4878aSAndroid Build Coastguard Worker "allocator.cc", 49*61c4878aSAndroid Build Coastguard Worker ], 50*61c4878aSAndroid Build Coastguard Worker hdrs = [ 51*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/allocator.h", 52*61c4878aSAndroid Build Coastguard Worker ], 53*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 54*61c4878aSAndroid Build Coastguard Worker deps = [ 55*61c4878aSAndroid Build Coastguard Worker ":deallocator", 56*61c4878aSAndroid Build Coastguard Worker "//pw_result", 57*61c4878aSAndroid Build Coastguard Worker ], 58*61c4878aSAndroid Build Coastguard Worker) 59*61c4878aSAndroid Build Coastguard Worker 60*61c4878aSAndroid Build Coastguard Workercc_library( 61*61c4878aSAndroid Build Coastguard Worker name = "allocator_as_pool", 62*61c4878aSAndroid Build Coastguard Worker srcs = [ 63*61c4878aSAndroid Build Coastguard Worker "allocator_as_pool.cc", 64*61c4878aSAndroid Build Coastguard Worker ], 65*61c4878aSAndroid Build Coastguard Worker hdrs = [ 66*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/allocator_as_pool.h", 67*61c4878aSAndroid Build Coastguard Worker ], 68*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 69*61c4878aSAndroid Build Coastguard Worker deps = [ 70*61c4878aSAndroid Build Coastguard Worker ":allocator", 71*61c4878aSAndroid Build Coastguard Worker ":pool", 72*61c4878aSAndroid Build Coastguard Worker "//pw_status", 73*61c4878aSAndroid Build Coastguard Worker ], 74*61c4878aSAndroid Build Coastguard Worker) 75*61c4878aSAndroid Build Coastguard Worker 76*61c4878aSAndroid Build Coastguard Workercc_library( 77*61c4878aSAndroid Build Coastguard Worker name = "best_fit", 78*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/best_fit.h"], 79*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 80*61c4878aSAndroid Build Coastguard Worker deps = [ 81*61c4878aSAndroid Build Coastguard Worker ":block_allocator", 82*61c4878aSAndroid Build Coastguard Worker ":config", 83*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:detailed_block", 84*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/bucket:fast_sorted", 85*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/bucket:sorted", 86*61c4878aSAndroid Build Coastguard Worker ], 87*61c4878aSAndroid Build Coastguard Worker) 88*61c4878aSAndroid Build Coastguard Worker 89*61c4878aSAndroid Build Coastguard Workercc_library( 90*61c4878aSAndroid Build Coastguard Worker name = "best_fit_block_allocator", 91*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/best_fit_block_allocator.h"], 92*61c4878aSAndroid Build Coastguard Worker includes = ["public"], 93*61c4878aSAndroid Build Coastguard Worker deps = [ 94*61c4878aSAndroid Build Coastguard Worker ":best_fit", 95*61c4878aSAndroid Build Coastguard Worker ":config", 96*61c4878aSAndroid Build Coastguard Worker ], 97*61c4878aSAndroid Build Coastguard Worker) 98*61c4878aSAndroid Build Coastguard Worker 99*61c4878aSAndroid Build Coastguard Workercc_library( 100*61c4878aSAndroid Build Coastguard Worker name = "block_allocator", 101*61c4878aSAndroid Build Coastguard Worker srcs = ["block_allocator.cc"], 102*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/block_allocator.h"], 103*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 104*61c4878aSAndroid Build Coastguard Worker deps = [ 105*61c4878aSAndroid Build Coastguard Worker ":allocator", 106*61c4878aSAndroid Build Coastguard Worker ":fragmentation", 107*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:allocatable", 108*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:basic", 109*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:iterable", 110*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:poisonable", 111*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:with_layout", 112*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 113*61c4878aSAndroid Build Coastguard Worker "//pw_bytes:alignment", 114*61c4878aSAndroid Build Coastguard Worker "//pw_result", 115*61c4878aSAndroid Build Coastguard Worker "//pw_status", 116*61c4878aSAndroid Build Coastguard Worker ], 117*61c4878aSAndroid Build Coastguard Worker) 118*61c4878aSAndroid Build Coastguard Worker 119*61c4878aSAndroid Build Coastguard Workercc_library( 120*61c4878aSAndroid Build Coastguard Worker name = "bucket_allocator", 121*61c4878aSAndroid Build Coastguard Worker hdrs = [ 122*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/bucket_allocator.h", 123*61c4878aSAndroid Build Coastguard Worker ], 124*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 125*61c4878aSAndroid Build Coastguard Worker deps = [ 126*61c4878aSAndroid Build Coastguard Worker ":block_allocator", 127*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:detailed_block", 128*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/bucket:unordered", 129*61c4878aSAndroid Build Coastguard Worker "//pw_status", 130*61c4878aSAndroid Build Coastguard Worker ], 131*61c4878aSAndroid Build Coastguard Worker) 132*61c4878aSAndroid Build Coastguard Worker 133*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated interfaces. 134*61c4878aSAndroid Build Coastguard Workercc_library( 135*61c4878aSAndroid Build Coastguard Worker name = "bucket_block_allocator", 136*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/bucket_block_allocator.h"], 137*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 138*61c4878aSAndroid Build Coastguard Worker deps = [":bucket_allocator"], 139*61c4878aSAndroid Build Coastguard Worker) 140*61c4878aSAndroid Build Coastguard Worker 141*61c4878aSAndroid Build Coastguard Workercc_library( 142*61c4878aSAndroid Build Coastguard Worker name = "buddy_allocator", 143*61c4878aSAndroid Build Coastguard Worker srcs = [ 144*61c4878aSAndroid Build Coastguard Worker "buddy_allocator.cc", 145*61c4878aSAndroid Build Coastguard Worker ], 146*61c4878aSAndroid Build Coastguard Worker hdrs = [ 147*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/buddy_allocator.h", 148*61c4878aSAndroid Build Coastguard Worker ], 149*61c4878aSAndroid Build Coastguard Worker implementation_deps = [ 150*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 151*61c4878aSAndroid Build Coastguard Worker "//pw_bytes:alignment", 152*61c4878aSAndroid Build Coastguard Worker "//third_party/fuchsia:stdcompat", 153*61c4878aSAndroid Build Coastguard Worker ], 154*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 155*61c4878aSAndroid Build Coastguard Worker deps = [ 156*61c4878aSAndroid Build Coastguard Worker ":allocator", 157*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:basic", 158*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/bucket:unordered", 159*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 160*61c4878aSAndroid Build Coastguard Worker "//pw_containers:vector", 161*61c4878aSAndroid Build Coastguard Worker "//pw_status", 162*61c4878aSAndroid Build Coastguard Worker ], 163*61c4878aSAndroid Build Coastguard Worker) 164*61c4878aSAndroid Build Coastguard Worker 165*61c4878aSAndroid Build Coastguard Workercc_library( 166*61c4878aSAndroid Build Coastguard Worker name = "buffer", 167*61c4878aSAndroid Build Coastguard Worker hdrs = [ 168*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/buffer.h", 169*61c4878aSAndroid Build Coastguard Worker ], 170*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 171*61c4878aSAndroid Build Coastguard Worker deps = [ 172*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 173*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 174*61c4878aSAndroid Build Coastguard Worker "//pw_bytes:alignment", 175*61c4878aSAndroid Build Coastguard Worker "//pw_result", 176*61c4878aSAndroid Build Coastguard Worker ], 177*61c4878aSAndroid Build Coastguard Worker) 178*61c4878aSAndroid Build Coastguard Worker 179*61c4878aSAndroid Build Coastguard Workercc_library( 180*61c4878aSAndroid Build Coastguard Worker name = "bump_allocator", 181*61c4878aSAndroid Build Coastguard Worker srcs = [ 182*61c4878aSAndroid Build Coastguard Worker "bump_allocator.cc", 183*61c4878aSAndroid Build Coastguard Worker ], 184*61c4878aSAndroid Build Coastguard Worker hdrs = [ 185*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/bump_allocator.h", 186*61c4878aSAndroid Build Coastguard Worker ], 187*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 188*61c4878aSAndroid Build Coastguard Worker deps = [ 189*61c4878aSAndroid Build Coastguard Worker ":allocator", 190*61c4878aSAndroid Build Coastguard Worker ":buffer", 191*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 192*61c4878aSAndroid Build Coastguard Worker "//pw_bytes:alignment", 193*61c4878aSAndroid Build Coastguard Worker ], 194*61c4878aSAndroid Build Coastguard Worker) 195*61c4878aSAndroid Build Coastguard Worker 196*61c4878aSAndroid Build Coastguard Workercc_library( 197*61c4878aSAndroid Build Coastguard Worker name = "chunk_pool", 198*61c4878aSAndroid Build Coastguard Worker srcs = [ 199*61c4878aSAndroid Build Coastguard Worker "chunk_pool.cc", 200*61c4878aSAndroid Build Coastguard Worker ], 201*61c4878aSAndroid Build Coastguard Worker hdrs = [ 202*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/chunk_pool.h", 203*61c4878aSAndroid Build Coastguard Worker ], 204*61c4878aSAndroid Build Coastguard Worker implementation_deps = [ 205*61c4878aSAndroid Build Coastguard Worker ":buffer", 206*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 207*61c4878aSAndroid Build Coastguard Worker "//pw_bytes:alignment", 208*61c4878aSAndroid Build Coastguard Worker "//third_party/fuchsia:stdcompat", 209*61c4878aSAndroid Build Coastguard Worker ], 210*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 211*61c4878aSAndroid Build Coastguard Worker deps = [ 212*61c4878aSAndroid Build Coastguard Worker ":pool", 213*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 214*61c4878aSAndroid Build Coastguard Worker "//pw_result", 215*61c4878aSAndroid Build Coastguard Worker ], 216*61c4878aSAndroid Build Coastguard Worker) 217*61c4878aSAndroid Build Coastguard Worker 218*61c4878aSAndroid Build Coastguard Workercc_library( 219*61c4878aSAndroid Build Coastguard Worker name = "deallocator", 220*61c4878aSAndroid Build Coastguard Worker srcs = [ 221*61c4878aSAndroid Build Coastguard Worker "unique_ptr.cc", 222*61c4878aSAndroid Build Coastguard Worker ], 223*61c4878aSAndroid Build Coastguard Worker hdrs = [ 224*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/capability.h", 225*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/deallocator.h", 226*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/layout.h", 227*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/unique_ptr.h", 228*61c4878aSAndroid Build Coastguard Worker ], 229*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 230*61c4878aSAndroid Build Coastguard Worker deps = [ 231*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 232*61c4878aSAndroid Build Coastguard Worker "//pw_preprocessor", 233*61c4878aSAndroid Build Coastguard Worker "//pw_result", 234*61c4878aSAndroid Build Coastguard Worker "//pw_status", 235*61c4878aSAndroid Build Coastguard Worker ], 236*61c4878aSAndroid Build Coastguard Worker) 237*61c4878aSAndroid Build Coastguard Worker 238*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated interfaces. 239*61c4878aSAndroid Build Coastguard Workercc_library( 240*61c4878aSAndroid Build Coastguard Worker name = "dual_first_fit_block_allocator", 241*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/dual_first_fit_block_allocator.h"], 242*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 243*61c4878aSAndroid Build Coastguard Worker deps = [":first_fit"], 244*61c4878aSAndroid Build Coastguard Worker) 245*61c4878aSAndroid Build Coastguard Worker 246*61c4878aSAndroid Build Coastguard Workercc_library( 247*61c4878aSAndroid Build Coastguard Worker name = "fallback_allocator", 248*61c4878aSAndroid Build Coastguard Worker srcs = [ 249*61c4878aSAndroid Build Coastguard Worker "fallback_allocator.cc", 250*61c4878aSAndroid Build Coastguard Worker ], 251*61c4878aSAndroid Build Coastguard Worker hdrs = [ 252*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/fallback_allocator.h", 253*61c4878aSAndroid Build Coastguard Worker ], 254*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 255*61c4878aSAndroid Build Coastguard Worker deps = [ 256*61c4878aSAndroid Build Coastguard Worker ":allocator", 257*61c4878aSAndroid Build Coastguard Worker ":deallocator", 258*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 259*61c4878aSAndroid Build Coastguard Worker "//pw_result", 260*61c4878aSAndroid Build Coastguard Worker "//pw_status", 261*61c4878aSAndroid Build Coastguard Worker ], 262*61c4878aSAndroid Build Coastguard Worker) 263*61c4878aSAndroid Build Coastguard Worker 264*61c4878aSAndroid Build Coastguard Workercc_library( 265*61c4878aSAndroid Build Coastguard Worker name = "first_fit", 266*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/first_fit.h"], 267*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 268*61c4878aSAndroid Build Coastguard Worker deps = [ 269*61c4878aSAndroid Build Coastguard Worker ":block_allocator", 270*61c4878aSAndroid Build Coastguard Worker ":config", 271*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:detailed_block", 272*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/bucket:sequenced", 273*61c4878aSAndroid Build Coastguard Worker ], 274*61c4878aSAndroid Build Coastguard Worker) 275*61c4878aSAndroid Build Coastguard Worker 276*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated interfaces. 277*61c4878aSAndroid Build Coastguard Workercc_library( 278*61c4878aSAndroid Build Coastguard Worker name = "first_fit_block_allocator", 279*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/first_fit_block_allocator.h"], 280*61c4878aSAndroid Build Coastguard Worker includes = ["public"], 281*61c4878aSAndroid Build Coastguard Worker deps = [":first_fit"], 282*61c4878aSAndroid Build Coastguard Worker) 283*61c4878aSAndroid Build Coastguard Worker 284*61c4878aSAndroid Build Coastguard Workercc_library( 285*61c4878aSAndroid Build Coastguard Worker name = "fragmentation", 286*61c4878aSAndroid Build Coastguard Worker srcs = ["fragmentation.cc"], 287*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/fragmentation.h"], 288*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 289*61c4878aSAndroid Build Coastguard Worker) 290*61c4878aSAndroid Build Coastguard Worker 291*61c4878aSAndroid Build Coastguard Workercc_library( 292*61c4878aSAndroid Build Coastguard Worker name = "freelist_heap", 293*61c4878aSAndroid Build Coastguard Worker hdrs = [ 294*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/freelist_heap.h", 295*61c4878aSAndroid Build Coastguard Worker ], 296*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 297*61c4878aSAndroid Build Coastguard Worker deps = [ 298*61c4878aSAndroid Build Coastguard Worker ":bucket_allocator", 299*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 300*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 301*61c4878aSAndroid Build Coastguard Worker "//pw_preprocessor", 302*61c4878aSAndroid Build Coastguard Worker ], 303*61c4878aSAndroid Build Coastguard Worker) 304*61c4878aSAndroid Build Coastguard Worker 305*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated interfaces. 306*61c4878aSAndroid Build Coastguard Workercc_library( 307*61c4878aSAndroid Build Coastguard Worker name = "last_fit_block_allocator", 308*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/last_fit_block_allocator.h"], 309*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 310*61c4878aSAndroid Build Coastguard Worker deps = [":first_fit"], 311*61c4878aSAndroid Build Coastguard Worker) 312*61c4878aSAndroid Build Coastguard Worker 313*61c4878aSAndroid Build Coastguard Workercc_library( 314*61c4878aSAndroid Build Coastguard Worker name = "libc_allocator", 315*61c4878aSAndroid Build Coastguard Worker srcs = [ 316*61c4878aSAndroid Build Coastguard Worker "libc_allocator.cc", 317*61c4878aSAndroid Build Coastguard Worker ], 318*61c4878aSAndroid Build Coastguard Worker hdrs = [ 319*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/libc_allocator.h", 320*61c4878aSAndroid Build Coastguard Worker ], 321*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 322*61c4878aSAndroid Build Coastguard Worker deps = [ 323*61c4878aSAndroid Build Coastguard Worker ":allocator", 324*61c4878aSAndroid Build Coastguard Worker ], 325*61c4878aSAndroid Build Coastguard Worker) 326*61c4878aSAndroid Build Coastguard Worker 327*61c4878aSAndroid Build Coastguard Workercc_library( 328*61c4878aSAndroid Build Coastguard Worker name = "null_allocator", 329*61c4878aSAndroid Build Coastguard Worker srcs = [ 330*61c4878aSAndroid Build Coastguard Worker "null_allocator.cc", 331*61c4878aSAndroid Build Coastguard Worker ], 332*61c4878aSAndroid Build Coastguard Worker hdrs = [ 333*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/null_allocator.h", 334*61c4878aSAndroid Build Coastguard Worker ], 335*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 336*61c4878aSAndroid Build Coastguard Worker deps = [ 337*61c4878aSAndroid Build Coastguard Worker ":allocator", 338*61c4878aSAndroid Build Coastguard Worker ], 339*61c4878aSAndroid Build Coastguard Worker) 340*61c4878aSAndroid Build Coastguard Worker 341*61c4878aSAndroid Build Coastguard Workercc_library( 342*61c4878aSAndroid Build Coastguard Worker name = "pmr_allocator", 343*61c4878aSAndroid Build Coastguard Worker srcs = ["pmr_allocator.cc"], 344*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/pmr_allocator.h"], 345*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 346*61c4878aSAndroid Build Coastguard Worker deps = [ 347*61c4878aSAndroid Build Coastguard Worker ":allocator", 348*61c4878aSAndroid Build Coastguard Worker ":config", 349*61c4878aSAndroid Build Coastguard Worker ], 350*61c4878aSAndroid Build Coastguard Worker) 351*61c4878aSAndroid Build Coastguard Worker 352*61c4878aSAndroid Build Coastguard Workercc_library( 353*61c4878aSAndroid Build Coastguard Worker name = "pool", 354*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/pool.h"], 355*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 356*61c4878aSAndroid Build Coastguard Worker deps = [ 357*61c4878aSAndroid Build Coastguard Worker ":deallocator", 358*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 359*61c4878aSAndroid Build Coastguard Worker "//pw_result", 360*61c4878aSAndroid Build Coastguard Worker ], 361*61c4878aSAndroid Build Coastguard Worker) 362*61c4878aSAndroid Build Coastguard Worker 363*61c4878aSAndroid Build Coastguard Workercc_library( 364*61c4878aSAndroid Build Coastguard Worker name = "synchronized_allocator", 365*61c4878aSAndroid Build Coastguard Worker hdrs = [ 366*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/synchronized_allocator.h", 367*61c4878aSAndroid Build Coastguard Worker ], 368*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 369*61c4878aSAndroid Build Coastguard Worker deps = [ 370*61c4878aSAndroid Build Coastguard Worker ":allocator", 371*61c4878aSAndroid Build Coastguard Worker "//pw_sync:borrow", 372*61c4878aSAndroid Build Coastguard Worker ], 373*61c4878aSAndroid Build Coastguard Worker) 374*61c4878aSAndroid Build Coastguard Worker 375*61c4878aSAndroid Build Coastguard Workercc_library( 376*61c4878aSAndroid Build Coastguard Worker name = "tracking_allocator", 377*61c4878aSAndroid Build Coastguard Worker hdrs = [ 378*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/metrics.h", 379*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/tracking_allocator.h", 380*61c4878aSAndroid Build Coastguard Worker ], 381*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 382*61c4878aSAndroid Build Coastguard Worker deps = [ 383*61c4878aSAndroid Build Coastguard Worker ":allocator", 384*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 385*61c4878aSAndroid Build Coastguard Worker "//pw_metric:metric", 386*61c4878aSAndroid Build Coastguard Worker "//pw_status", 387*61c4878aSAndroid Build Coastguard Worker ], 388*61c4878aSAndroid Build Coastguard Worker) 389*61c4878aSAndroid Build Coastguard Worker 390*61c4878aSAndroid Build Coastguard Workercc_library( 391*61c4878aSAndroid Build Coastguard Worker name = "typed_pool", 392*61c4878aSAndroid Build Coastguard Worker hdrs = [ 393*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/typed_pool.h", 394*61c4878aSAndroid Build Coastguard Worker ], 395*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 396*61c4878aSAndroid Build Coastguard Worker deps = [ 397*61c4878aSAndroid Build Coastguard Worker ":allocator", 398*61c4878aSAndroid Build Coastguard Worker ":chunk_pool", 399*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 400*61c4878aSAndroid Build Coastguard Worker "//pw_result", 401*61c4878aSAndroid Build Coastguard Worker ], 402*61c4878aSAndroid Build Coastguard Worker) 403*61c4878aSAndroid Build Coastguard Worker 404*61c4878aSAndroid Build Coastguard Workercc_library( 405*61c4878aSAndroid Build Coastguard Worker name = "worst_fit", 406*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/worst_fit.h"], 407*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 408*61c4878aSAndroid Build Coastguard Worker deps = [ 409*61c4878aSAndroid Build Coastguard Worker ":block_allocator", 410*61c4878aSAndroid Build Coastguard Worker ":config", 411*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:detailed_block", 412*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/bucket:fast_sorted", 413*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/bucket:sorted", 414*61c4878aSAndroid Build Coastguard Worker ], 415*61c4878aSAndroid Build Coastguard Worker) 416*61c4878aSAndroid Build Coastguard Worker 417*61c4878aSAndroid Build Coastguard Workercc_library( 418*61c4878aSAndroid Build Coastguard Worker name = "worst_fit_block_allocator", 419*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/worst_fit_block_allocator.h"], 420*61c4878aSAndroid Build Coastguard Worker includes = ["public"], 421*61c4878aSAndroid Build Coastguard Worker deps = [ 422*61c4878aSAndroid Build Coastguard Worker ":config", 423*61c4878aSAndroid Build Coastguard Worker ":worst_fit", 424*61c4878aSAndroid Build Coastguard Worker ], 425*61c4878aSAndroid Build Coastguard Worker) 426*61c4878aSAndroid Build Coastguard Worker 427*61c4878aSAndroid Build Coastguard Worker# Test support 428*61c4878aSAndroid Build Coastguard Worker 429*61c4878aSAndroid Build Coastguard Workercc_library( 430*61c4878aSAndroid Build Coastguard Worker name = "testing", 431*61c4878aSAndroid Build Coastguard Worker testonly = True, 432*61c4878aSAndroid Build Coastguard Worker hdrs = [ 433*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/testing.h", 434*61c4878aSAndroid Build Coastguard Worker ], 435*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 436*61c4878aSAndroid Build Coastguard Worker deps = [ 437*61c4878aSAndroid Build Coastguard Worker ":allocator", 438*61c4878aSAndroid Build Coastguard Worker ":buffer", 439*61c4878aSAndroid Build Coastguard Worker ":first_fit", 440*61c4878aSAndroid Build Coastguard Worker ":test_config", 441*61c4878aSAndroid Build Coastguard Worker ":tracking_allocator", 442*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 443*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 444*61c4878aSAndroid Build Coastguard Worker "//pw_result", 445*61c4878aSAndroid Build Coastguard Worker "//pw_status", 446*61c4878aSAndroid Build Coastguard Worker "//pw_sync:interrupt_spin_lock", 447*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 448*61c4878aSAndroid Build Coastguard Worker ], 449*61c4878aSAndroid Build Coastguard Worker) 450*61c4878aSAndroid Build Coastguard Worker 451*61c4878aSAndroid Build Coastguard Workercc_library( 452*61c4878aSAndroid Build Coastguard Worker name = "block_allocator_testing", 453*61c4878aSAndroid Build Coastguard Worker testonly = True, 454*61c4878aSAndroid Build Coastguard Worker srcs = [ 455*61c4878aSAndroid Build Coastguard Worker "block_allocator_testing.cc", 456*61c4878aSAndroid Build Coastguard Worker ], 457*61c4878aSAndroid Build Coastguard Worker hdrs = [ 458*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/block_allocator_testing.h", 459*61c4878aSAndroid Build Coastguard Worker ], 460*61c4878aSAndroid Build Coastguard Worker implementation_deps = [ 461*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 462*61c4878aSAndroid Build Coastguard Worker "//pw_bytes:alignment", 463*61c4878aSAndroid Build Coastguard Worker "//pw_status", 464*61c4878aSAndroid Build Coastguard Worker "//third_party/fuchsia:stdcompat", 465*61c4878aSAndroid Build Coastguard Worker ], 466*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 467*61c4878aSAndroid Build Coastguard Worker deps = [ 468*61c4878aSAndroid Build Coastguard Worker ":block_allocator", 469*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:testing", 470*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 471*61c4878aSAndroid Build Coastguard Worker ], 472*61c4878aSAndroid Build Coastguard Worker) 473*61c4878aSAndroid Build Coastguard Worker 474*61c4878aSAndroid Build Coastguard Workercc_library( 475*61c4878aSAndroid Build Coastguard Worker name = "test_harness", 476*61c4878aSAndroid Build Coastguard Worker testonly = True, 477*61c4878aSAndroid Build Coastguard Worker srcs = [ 478*61c4878aSAndroid Build Coastguard Worker "test_harness.cc", 479*61c4878aSAndroid Build Coastguard Worker ], 480*61c4878aSAndroid Build Coastguard Worker hdrs = [ 481*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/test_harness.h", 482*61c4878aSAndroid Build Coastguard Worker ], 483*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 484*61c4878aSAndroid Build Coastguard Worker deps = [ 485*61c4878aSAndroid Build Coastguard Worker ":allocator", 486*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 487*61c4878aSAndroid Build Coastguard Worker "//pw_containers", 488*61c4878aSAndroid Build Coastguard Worker "//pw_random", 489*61c4878aSAndroid Build Coastguard Worker "//third_party/fuchsia:stdcompat", 490*61c4878aSAndroid Build Coastguard Worker ], 491*61c4878aSAndroid Build Coastguard Worker) 492*61c4878aSAndroid Build Coastguard Worker 493*61c4878aSAndroid Build Coastguard Workercc_library( 494*61c4878aSAndroid Build Coastguard Worker name = "fuzzing", 495*61c4878aSAndroid Build Coastguard Worker testonly = True, 496*61c4878aSAndroid Build Coastguard Worker srcs = [ 497*61c4878aSAndroid Build Coastguard Worker "fuzzing.cc", 498*61c4878aSAndroid Build Coastguard Worker ], 499*61c4878aSAndroid Build Coastguard Worker hdrs = [ 500*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/fuzzing.h", 501*61c4878aSAndroid Build Coastguard Worker ], 502*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 503*61c4878aSAndroid Build Coastguard Worker deps = [ 504*61c4878aSAndroid Build Coastguard Worker ":test_harness", 505*61c4878aSAndroid Build Coastguard Worker "//pw_fuzzer:fuzztest", 506*61c4878aSAndroid Build Coastguard Worker ], 507*61c4878aSAndroid Build Coastguard Worker) 508*61c4878aSAndroid Build Coastguard Worker 509*61c4878aSAndroid Build Coastguard Worker# Tests 510*61c4878aSAndroid Build Coastguard Worker 511*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 512*61c4878aSAndroid Build Coastguard Worker name = "allocator_as_pool_test", 513*61c4878aSAndroid Build Coastguard Worker srcs = [ 514*61c4878aSAndroid Build Coastguard Worker "allocator_as_pool_test.cc", 515*61c4878aSAndroid Build Coastguard Worker ], 516*61c4878aSAndroid Build Coastguard Worker deps = [ 517*61c4878aSAndroid Build Coastguard Worker ":allocator_as_pool", 518*61c4878aSAndroid Build Coastguard Worker ":testing", 519*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 520*61c4878aSAndroid Build Coastguard Worker ], 521*61c4878aSAndroid Build Coastguard Worker) 522*61c4878aSAndroid Build Coastguard Worker 523*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 524*61c4878aSAndroid Build Coastguard Worker name = "allocator_test", 525*61c4878aSAndroid Build Coastguard Worker srcs = [ 526*61c4878aSAndroid Build Coastguard Worker "allocator_test.cc", 527*61c4878aSAndroid Build Coastguard Worker ], 528*61c4878aSAndroid Build Coastguard Worker deps = [ 529*61c4878aSAndroid Build Coastguard Worker ":allocator", 530*61c4878aSAndroid Build Coastguard Worker ":testing", 531*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 532*61c4878aSAndroid Build Coastguard Worker ], 533*61c4878aSAndroid Build Coastguard Worker) 534*61c4878aSAndroid Build Coastguard Worker 535*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 536*61c4878aSAndroid Build Coastguard Worker name = "best_fit_test", 537*61c4878aSAndroid Build Coastguard Worker srcs = ["best_fit_test.cc"], 538*61c4878aSAndroid Build Coastguard Worker deps = [ 539*61c4878aSAndroid Build Coastguard Worker ":best_fit", 540*61c4878aSAndroid Build Coastguard Worker ":best_fit_block_allocator", 541*61c4878aSAndroid Build Coastguard Worker ":block_allocator_testing", 542*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 543*61c4878aSAndroid Build Coastguard Worker ], 544*61c4878aSAndroid Build Coastguard Worker) 545*61c4878aSAndroid Build Coastguard Worker 546*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 547*61c4878aSAndroid Build Coastguard Worker name = "bucket_allocator_test", 548*61c4878aSAndroid Build Coastguard Worker srcs = ["bucket_allocator_test.cc"], 549*61c4878aSAndroid Build Coastguard Worker deps = [ 550*61c4878aSAndroid Build Coastguard Worker ":block_allocator_testing", 551*61c4878aSAndroid Build Coastguard Worker ":bucket_allocator", 552*61c4878aSAndroid Build Coastguard Worker ":bucket_block_allocator", 553*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 554*61c4878aSAndroid Build Coastguard Worker ], 555*61c4878aSAndroid Build Coastguard Worker) 556*61c4878aSAndroid Build Coastguard Worker 557*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 558*61c4878aSAndroid Build Coastguard Worker name = "buddy_allocator_test", 559*61c4878aSAndroid Build Coastguard Worker srcs = [ 560*61c4878aSAndroid Build Coastguard Worker "buddy_allocator_test.cc", 561*61c4878aSAndroid Build Coastguard Worker ], 562*61c4878aSAndroid Build Coastguard Worker deps = [ 563*61c4878aSAndroid Build Coastguard Worker ":buddy_allocator", 564*61c4878aSAndroid Build Coastguard Worker ":testing", 565*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 566*61c4878aSAndroid Build Coastguard Worker ], 567*61c4878aSAndroid Build Coastguard Worker) 568*61c4878aSAndroid Build Coastguard Worker 569*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 570*61c4878aSAndroid Build Coastguard Worker name = "buffer_test", 571*61c4878aSAndroid Build Coastguard Worker srcs = [ 572*61c4878aSAndroid Build Coastguard Worker "buffer_test.cc", 573*61c4878aSAndroid Build Coastguard Worker ], 574*61c4878aSAndroid Build Coastguard Worker deps = [ 575*61c4878aSAndroid Build Coastguard Worker ":buffer", 576*61c4878aSAndroid Build Coastguard Worker ":testing", 577*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 578*61c4878aSAndroid Build Coastguard Worker "//pw_result", 579*61c4878aSAndroid Build Coastguard Worker "//third_party/fuchsia:stdcompat", 580*61c4878aSAndroid Build Coastguard Worker ], 581*61c4878aSAndroid Build Coastguard Worker) 582*61c4878aSAndroid Build Coastguard Worker 583*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 584*61c4878aSAndroid Build Coastguard Worker name = "bump_allocator_test", 585*61c4878aSAndroid Build Coastguard Worker srcs = [ 586*61c4878aSAndroid Build Coastguard Worker "bump_allocator_test.cc", 587*61c4878aSAndroid Build Coastguard Worker ], 588*61c4878aSAndroid Build Coastguard Worker deps = [ 589*61c4878aSAndroid Build Coastguard Worker ":bump_allocator", 590*61c4878aSAndroid Build Coastguard Worker ":testing", 591*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 592*61c4878aSAndroid Build Coastguard Worker "//third_party/fuchsia:stdcompat", 593*61c4878aSAndroid Build Coastguard Worker ], 594*61c4878aSAndroid Build Coastguard Worker) 595*61c4878aSAndroid Build Coastguard Worker 596*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 597*61c4878aSAndroid Build Coastguard Worker name = "chunk_pool_test", 598*61c4878aSAndroid Build Coastguard Worker srcs = [ 599*61c4878aSAndroid Build Coastguard Worker "chunk_pool_test.cc", 600*61c4878aSAndroid Build Coastguard Worker ], 601*61c4878aSAndroid Build Coastguard Worker deps = [ 602*61c4878aSAndroid Build Coastguard Worker ":chunk_pool", 603*61c4878aSAndroid Build Coastguard Worker ":testing", 604*61c4878aSAndroid Build Coastguard Worker ], 605*61c4878aSAndroid Build Coastguard Worker) 606*61c4878aSAndroid Build Coastguard Worker 607*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 608*61c4878aSAndroid Build Coastguard Worker name = "fallback_allocator_test", 609*61c4878aSAndroid Build Coastguard Worker srcs = [ 610*61c4878aSAndroid Build Coastguard Worker "fallback_allocator_test.cc", 611*61c4878aSAndroid Build Coastguard Worker ], 612*61c4878aSAndroid Build Coastguard Worker deps = [ 613*61c4878aSAndroid Build Coastguard Worker ":fallback_allocator", 614*61c4878aSAndroid Build Coastguard Worker ":testing", 615*61c4878aSAndroid Build Coastguard Worker "//pw_status", 616*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 617*61c4878aSAndroid Build Coastguard Worker ], 618*61c4878aSAndroid Build Coastguard Worker) 619*61c4878aSAndroid Build Coastguard Worker 620*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 621*61c4878aSAndroid Build Coastguard Worker name = "first_fit_test", 622*61c4878aSAndroid Build Coastguard Worker srcs = ["first_fit_test.cc"], 623*61c4878aSAndroid Build Coastguard Worker deps = [ 624*61c4878aSAndroid Build Coastguard Worker ":block_allocator_testing", 625*61c4878aSAndroid Build Coastguard Worker ":buffer", 626*61c4878aSAndroid Build Coastguard Worker ":dual_first_fit_block_allocator", 627*61c4878aSAndroid Build Coastguard Worker ":first_fit", 628*61c4878aSAndroid Build Coastguard Worker ":first_fit_block_allocator", 629*61c4878aSAndroid Build Coastguard Worker ":last_fit_block_allocator", 630*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 631*61c4878aSAndroid Build Coastguard Worker "//third_party/fuchsia:stdcompat", 632*61c4878aSAndroid Build Coastguard Worker ], 633*61c4878aSAndroid Build Coastguard Worker) 634*61c4878aSAndroid Build Coastguard Worker 635*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 636*61c4878aSAndroid Build Coastguard Worker name = "fragmentation_test", 637*61c4878aSAndroid Build Coastguard Worker srcs = ["fragmentation_test.cc"], 638*61c4878aSAndroid Build Coastguard Worker deps = [ 639*61c4878aSAndroid Build Coastguard Worker ":fragmentation", 640*61c4878aSAndroid Build Coastguard Worker ":testing", 641*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 642*61c4878aSAndroid Build Coastguard Worker ], 643*61c4878aSAndroid Build Coastguard Worker) 644*61c4878aSAndroid Build Coastguard Worker 645*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 646*61c4878aSAndroid Build Coastguard Worker name = "freelist_heap_test", 647*61c4878aSAndroid Build Coastguard Worker srcs = [ 648*61c4878aSAndroid Build Coastguard Worker "freelist_heap_test.cc", 649*61c4878aSAndroid Build Coastguard Worker ], 650*61c4878aSAndroid Build Coastguard Worker deps = [ 651*61c4878aSAndroid Build Coastguard Worker ":freelist_heap", 652*61c4878aSAndroid Build Coastguard Worker ":testing", 653*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:testing", 654*61c4878aSAndroid Build Coastguard Worker "//pw_bytes:alignment", 655*61c4878aSAndroid Build Coastguard Worker "//third_party/fuchsia:stdcompat", 656*61c4878aSAndroid Build Coastguard Worker ], 657*61c4878aSAndroid Build Coastguard Worker) 658*61c4878aSAndroid Build Coastguard Worker 659*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 660*61c4878aSAndroid Build Coastguard Worker name = "layout_test", 661*61c4878aSAndroid Build Coastguard Worker srcs = ["layout_test.cc"], 662*61c4878aSAndroid Build Coastguard Worker deps = [ 663*61c4878aSAndroid Build Coastguard Worker ":deallocator", 664*61c4878aSAndroid Build Coastguard Worker ":testing", 665*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 666*61c4878aSAndroid Build Coastguard Worker ], 667*61c4878aSAndroid Build Coastguard Worker) 668*61c4878aSAndroid Build Coastguard Worker 669*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 670*61c4878aSAndroid Build Coastguard Worker name = "libc_allocator_test", 671*61c4878aSAndroid Build Coastguard Worker srcs = [ 672*61c4878aSAndroid Build Coastguard Worker "libc_allocator_test.cc", 673*61c4878aSAndroid Build Coastguard Worker ], 674*61c4878aSAndroid Build Coastguard Worker deps = [ 675*61c4878aSAndroid Build Coastguard Worker ":libc_allocator", 676*61c4878aSAndroid Build Coastguard Worker ":testing", 677*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 678*61c4878aSAndroid Build Coastguard Worker ], 679*61c4878aSAndroid Build Coastguard Worker) 680*61c4878aSAndroid Build Coastguard Worker 681*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 682*61c4878aSAndroid Build Coastguard Worker name = "null_allocator_test", 683*61c4878aSAndroid Build Coastguard Worker srcs = [ 684*61c4878aSAndroid Build Coastguard Worker "null_allocator_test.cc", 685*61c4878aSAndroid Build Coastguard Worker ], 686*61c4878aSAndroid Build Coastguard Worker deps = [ 687*61c4878aSAndroid Build Coastguard Worker ":null_allocator", 688*61c4878aSAndroid Build Coastguard Worker ":testing", 689*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 690*61c4878aSAndroid Build Coastguard Worker ], 691*61c4878aSAndroid Build Coastguard Worker) 692*61c4878aSAndroid Build Coastguard Worker 693*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 694*61c4878aSAndroid Build Coastguard Worker name = "pmr_allocator_test", 695*61c4878aSAndroid Build Coastguard Worker srcs = [ 696*61c4878aSAndroid Build Coastguard Worker "pmr_allocator_test.cc", 697*61c4878aSAndroid Build Coastguard Worker ], 698*61c4878aSAndroid Build Coastguard Worker deps = [ 699*61c4878aSAndroid Build Coastguard Worker ":pmr_allocator", 700*61c4878aSAndroid Build Coastguard Worker ":testing", 701*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 702*61c4878aSAndroid Build Coastguard Worker ], 703*61c4878aSAndroid Build Coastguard Worker) 704*61c4878aSAndroid Build Coastguard Worker 705*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 706*61c4878aSAndroid Build Coastguard Worker name = "synchronized_allocator_test", 707*61c4878aSAndroid Build Coastguard Worker srcs = [ 708*61c4878aSAndroid Build Coastguard Worker "synchronized_allocator_test.cc", 709*61c4878aSAndroid Build Coastguard Worker ], 710*61c4878aSAndroid Build Coastguard Worker # TODO: b/358411629 - This test times out on rp2. 711*61c4878aSAndroid Build Coastguard Worker target_compatible_with = select({ 712*61c4878aSAndroid Build Coastguard Worker "@pico-sdk//bazel/constraint:rp2040": ["@platforms//:incompatible"], 713*61c4878aSAndroid Build Coastguard Worker "@pico-sdk//bazel/constraint:rp2350": ["@platforms//:incompatible"], 714*61c4878aSAndroid Build Coastguard Worker "//conditions:default": [], 715*61c4878aSAndroid Build Coastguard Worker }), 716*61c4878aSAndroid Build Coastguard Worker deps = [ 717*61c4878aSAndroid Build Coastguard Worker ":synchronized_allocator", 718*61c4878aSAndroid Build Coastguard Worker ":test_harness", 719*61c4878aSAndroid Build Coastguard Worker ":testing", 720*61c4878aSAndroid Build Coastguard Worker "//pw_random", 721*61c4878aSAndroid Build Coastguard Worker "//pw_sync:binary_semaphore", 722*61c4878aSAndroid Build Coastguard Worker "//pw_sync:interrupt_spin_lock", 723*61c4878aSAndroid Build Coastguard Worker "//pw_sync:mutex", 724*61c4878aSAndroid Build Coastguard Worker "//pw_sync:virtual_basic_lockable", 725*61c4878aSAndroid Build Coastguard Worker "//pw_thread:test_thread_context", 726*61c4878aSAndroid Build Coastguard Worker "//pw_thread:thread", 727*61c4878aSAndroid Build Coastguard Worker "//pw_thread:thread_core", 728*61c4878aSAndroid Build Coastguard Worker "//pw_thread:yield", 729*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 730*61c4878aSAndroid Build Coastguard Worker ], 731*61c4878aSAndroid Build Coastguard Worker) 732*61c4878aSAndroid Build Coastguard Worker 733*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 734*61c4878aSAndroid Build Coastguard Worker name = "tracking_allocator_test", 735*61c4878aSAndroid Build Coastguard Worker srcs = [ 736*61c4878aSAndroid Build Coastguard Worker "tracking_allocator_test.cc", 737*61c4878aSAndroid Build Coastguard Worker ], 738*61c4878aSAndroid Build Coastguard Worker deps = [ 739*61c4878aSAndroid Build Coastguard Worker ":testing", 740*61c4878aSAndroid Build Coastguard Worker ":tracking_allocator", 741*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 742*61c4878aSAndroid Build Coastguard Worker ], 743*61c4878aSAndroid Build Coastguard Worker) 744*61c4878aSAndroid Build Coastguard Worker 745*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 746*61c4878aSAndroid Build Coastguard Worker name = "typed_pool_test", 747*61c4878aSAndroid Build Coastguard Worker srcs = [ 748*61c4878aSAndroid Build Coastguard Worker "typed_pool_test.cc", 749*61c4878aSAndroid Build Coastguard Worker ], 750*61c4878aSAndroid Build Coastguard Worker deps = [ 751*61c4878aSAndroid Build Coastguard Worker ":testing", 752*61c4878aSAndroid Build Coastguard Worker ":typed_pool", 753*61c4878aSAndroid Build Coastguard Worker "//pw_bytes:alignment", 754*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 755*61c4878aSAndroid Build Coastguard Worker ], 756*61c4878aSAndroid Build Coastguard Worker) 757*61c4878aSAndroid Build Coastguard Worker 758*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 759*61c4878aSAndroid Build Coastguard Worker name = "unique_ptr_test", 760*61c4878aSAndroid Build Coastguard Worker srcs = ["unique_ptr_test.cc"], 761*61c4878aSAndroid Build Coastguard Worker deps = [ 762*61c4878aSAndroid Build Coastguard Worker ":allocator", 763*61c4878aSAndroid Build Coastguard Worker ":testing", 764*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 765*61c4878aSAndroid Build Coastguard Worker ], 766*61c4878aSAndroid Build Coastguard Worker) 767*61c4878aSAndroid Build Coastguard Worker 768*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 769*61c4878aSAndroid Build Coastguard Worker name = "worst_fit_test", 770*61c4878aSAndroid Build Coastguard Worker srcs = ["worst_fit_test.cc"], 771*61c4878aSAndroid Build Coastguard Worker deps = [ 772*61c4878aSAndroid Build Coastguard Worker ":block_allocator_testing", 773*61c4878aSAndroid Build Coastguard Worker ":worst_fit", 774*61c4878aSAndroid Build Coastguard Worker ":worst_fit_block_allocator", 775*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test", 776*61c4878aSAndroid Build Coastguard Worker ], 777*61c4878aSAndroid Build Coastguard Worker) 778*61c4878aSAndroid Build Coastguard Worker 779*61c4878aSAndroid Build Coastguard Worker# Docs 780*61c4878aSAndroid Build Coastguard Worker 781*61c4878aSAndroid Build Coastguard Workercc_library( 782*61c4878aSAndroid Build Coastguard Worker name = "size_reporter", 783*61c4878aSAndroid Build Coastguard Worker hdrs = ["public/pw_allocator/size_reporter.h"], 784*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 785*61c4878aSAndroid Build Coastguard Worker deps = [ 786*61c4878aSAndroid Build Coastguard Worker ":null_allocator", 787*61c4878aSAndroid Build Coastguard Worker "//pw_bloat:bloat_this_binary", 788*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 789*61c4878aSAndroid Build Coastguard Worker ], 790*61c4878aSAndroid Build Coastguard Worker) 791*61c4878aSAndroid Build Coastguard Worker 792*61c4878aSAndroid Build Coastguard Workerfilegroup( 793*61c4878aSAndroid Build Coastguard Worker name = "doxygen", 794*61c4878aSAndroid Build Coastguard Worker srcs = [ 795*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/allocator.h", 796*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/allocator_as_pool.h", 797*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/best_fit.h", 798*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/block_allocator.h", 799*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/bucket_allocator.h", 800*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/buddy_allocator.h", 801*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/buffer.h", 802*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/bump_allocator.h", 803*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/capability.h", 804*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/chunk_pool.h", 805*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/config.h", 806*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/deallocator.h", 807*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/fallback_allocator.h", 808*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/first_fit.h", 809*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/fragmentation.h", 810*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/fuzzing.h", 811*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/layout.h", 812*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/libc_allocator.h", 813*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/metrics.h", 814*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/null_allocator.h", 815*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/pmr_allocator.h", 816*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/pool.h", 817*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/size_reporter.h", 818*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/synchronized_allocator.h", 819*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/test_harness.h", 820*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/testing.h", 821*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/tracking_allocator.h", 822*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/typed_pool.h", 823*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/unique_ptr.h", 824*61c4878aSAndroid Build Coastguard Worker "public/pw_allocator/worst_fit.h", 825*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/block:doxygen", 826*61c4878aSAndroid Build Coastguard Worker "//pw_allocator/bucket:doxygen", 827*61c4878aSAndroid Build Coastguard Worker ], 828*61c4878aSAndroid Build Coastguard Worker) 829