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_build:pw_facade.bzl", "pw_facade") 16*61c4878aSAndroid Build Coastguard Workerload("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test") 17*61c4878aSAndroid Build Coastguard Worker 18*61c4878aSAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"]) 19*61c4878aSAndroid Build Coastguard Worker 20*61c4878aSAndroid Build Coastguard Workerlicenses(["notice"]) 21*61c4878aSAndroid Build Coastguard Worker 22*61c4878aSAndroid Build Coastguard Workerconstraint_setting( 23*61c4878aSAndroid Build Coastguard Worker name = "backend_constraint_setting", 24*61c4878aSAndroid Build Coastguard Worker) 25*61c4878aSAndroid Build Coastguard Worker 26*61c4878aSAndroid Build Coastguard Worker# TODO: pwbug.dev/328679085 - Remove this alias once no-one uses it. 27*61c4878aSAndroid Build Coastguard Workeralias( 28*61c4878aSAndroid Build Coastguard Worker name = "facade", 29*61c4878aSAndroid Build Coastguard Worker actual = "pw_malloc.facade", 30*61c4878aSAndroid Build Coastguard Worker) 31*61c4878aSAndroid Build Coastguard Worker 32*61c4878aSAndroid Build Coastguard Worker_COMMON_SRCS = ["malloc.cc"] 33*61c4878aSAndroid Build Coastguard Worker 34*61c4878aSAndroid Build Coastguard Worker_COMMON_HDRS = [ 35*61c4878aSAndroid Build Coastguard Worker "public/pw_malloc/config.h", 36*61c4878aSAndroid Build Coastguard Worker "public/pw_malloc/malloc.h", 37*61c4878aSAndroid Build Coastguard Worker] 38*61c4878aSAndroid Build Coastguard Worker 39*61c4878aSAndroid Build Coastguard Workercc_library( 40*61c4878aSAndroid Build Coastguard Worker name = "common", 41*61c4878aSAndroid Build Coastguard Worker linkopts = [ 42*61c4878aSAndroid Build Coastguard Worker # Link options that replace dynamic memory operations in standard 43*61c4878aSAndroid Build Coastguard Worker # library with the pigweed malloc. 44*61c4878aSAndroid Build Coastguard Worker "-Wl,--wrap=malloc", 45*61c4878aSAndroid Build Coastguard Worker "-Wl,--wrap=free", 46*61c4878aSAndroid Build Coastguard Worker "-Wl,--wrap=realloc", 47*61c4878aSAndroid Build Coastguard Worker "-Wl,--wrap=calloc", 48*61c4878aSAndroid Build Coastguard Worker "-Wl,--wrap=_malloc_r", 49*61c4878aSAndroid Build Coastguard Worker "-Wl,--wrap=_realloc_r", 50*61c4878aSAndroid Build Coastguard Worker "-Wl,--wrap=_free_r", 51*61c4878aSAndroid Build Coastguard Worker "-Wl,--wrap=_calloc_r", 52*61c4878aSAndroid Build Coastguard Worker ], 53*61c4878aSAndroid Build Coastguard Worker visibility = ["//visibility:private"], 54*61c4878aSAndroid Build Coastguard Worker deps = [ 55*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:allocator", 56*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:synchronized_allocator", 57*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:tracking_allocator", 58*61c4878aSAndroid Build Coastguard Worker "//pw_assert", 59*61c4878aSAndroid Build Coastguard Worker "//pw_bytes", 60*61c4878aSAndroid Build Coastguard Worker "//pw_preprocessor", 61*61c4878aSAndroid Build Coastguard Worker ], 62*61c4878aSAndroid Build Coastguard Worker) 63*61c4878aSAndroid Build Coastguard Worker 64*61c4878aSAndroid Build Coastguard Workerpw_facade( 65*61c4878aSAndroid Build Coastguard Worker name = "pw_malloc", 66*61c4878aSAndroid Build Coastguard Worker srcs = _COMMON_SRCS, 67*61c4878aSAndroid Build Coastguard Worker hdrs = _COMMON_HDRS, 68*61c4878aSAndroid Build Coastguard Worker backend = ":backend", 69*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 70*61c4878aSAndroid Build Coastguard Worker deps = [ 71*61c4878aSAndroid Build Coastguard Worker ":common", 72*61c4878aSAndroid Build Coastguard Worker ":config_override", 73*61c4878aSAndroid Build Coastguard Worker ], 74*61c4878aSAndroid Build Coastguard Worker) 75*61c4878aSAndroid Build Coastguard Worker 76*61c4878aSAndroid Build Coastguard Workerlabel_flag( 77*61c4878aSAndroid Build Coastguard Worker name = "config_override", 78*61c4878aSAndroid Build Coastguard Worker build_setting_default = "//pw_build:default_module_config", 79*61c4878aSAndroid Build Coastguard Worker) 80*61c4878aSAndroid Build Coastguard Worker 81*61c4878aSAndroid Build Coastguard Workerlabel_flag( 82*61c4878aSAndroid Build Coastguard Worker name = "backend", 83*61c4878aSAndroid Build Coastguard Worker build_setting_default = ":backend_multiplexer", 84*61c4878aSAndroid Build Coastguard Worker) 85*61c4878aSAndroid Build Coastguard Worker 86*61c4878aSAndroid Build Coastguard Workerconstraint_value( 87*61c4878aSAndroid Build Coastguard Worker name = "best_fit_backend", 88*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 89*61c4878aSAndroid Build Coastguard Worker) 90*61c4878aSAndroid Build Coastguard Worker 91*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 92*61c4878aSAndroid Build Coastguard Workerconstraint_value( 93*61c4878aSAndroid Build Coastguard Worker name = "best_fit_block_allocator_backend", 94*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 95*61c4878aSAndroid Build Coastguard Worker) 96*61c4878aSAndroid Build Coastguard Worker 97*61c4878aSAndroid Build Coastguard Workerconstraint_value( 98*61c4878aSAndroid Build Coastguard Worker name = "bucket_allocator_backend", 99*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 100*61c4878aSAndroid Build Coastguard Worker) 101*61c4878aSAndroid Build Coastguard Worker 102*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 103*61c4878aSAndroid Build Coastguard Workerconstraint_value( 104*61c4878aSAndroid Build Coastguard Worker name = "bucket_block_allocator_backend", 105*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 106*61c4878aSAndroid Build Coastguard Worker) 107*61c4878aSAndroid Build Coastguard Worker 108*61c4878aSAndroid Build Coastguard Workerconstraint_value( 109*61c4878aSAndroid Build Coastguard Worker name = "first_fit_backend", 110*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 111*61c4878aSAndroid Build Coastguard Worker) 112*61c4878aSAndroid Build Coastguard Worker 113*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 114*61c4878aSAndroid Build Coastguard Workerconstraint_value( 115*61c4878aSAndroid Build Coastguard Worker name = "dual_first_fit_block_allocator_backend", 116*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 117*61c4878aSAndroid Build Coastguard Worker) 118*61c4878aSAndroid Build Coastguard Worker 119*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 120*61c4878aSAndroid Build Coastguard Workerconstraint_value( 121*61c4878aSAndroid Build Coastguard Worker name = "first_fit_block_allocator_backend", 122*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 123*61c4878aSAndroid Build Coastguard Worker) 124*61c4878aSAndroid Build Coastguard Worker 125*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 126*61c4878aSAndroid Build Coastguard Workerconstraint_value( 127*61c4878aSAndroid Build Coastguard Worker name = "last_fit_block_allocator_backend", 128*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 129*61c4878aSAndroid Build Coastguard Worker) 130*61c4878aSAndroid Build Coastguard Worker 131*61c4878aSAndroid Build Coastguard Workerconstraint_value( 132*61c4878aSAndroid Build Coastguard Worker name = "freelist_backend", 133*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 134*61c4878aSAndroid Build Coastguard Worker) 135*61c4878aSAndroid Build Coastguard Worker 136*61c4878aSAndroid Build Coastguard Workerconstraint_value( 137*61c4878aSAndroid Build Coastguard Worker name = "worst_fit_backend", 138*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 139*61c4878aSAndroid Build Coastguard Worker) 140*61c4878aSAndroid Build Coastguard Worker 141*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 142*61c4878aSAndroid Build Coastguard Workerconstraint_value( 143*61c4878aSAndroid Build Coastguard Worker name = "worst_fit_block_allocator_backend", 144*61c4878aSAndroid Build Coastguard Worker constraint_setting = "//pw_malloc:backend_constraint_setting", 145*61c4878aSAndroid Build Coastguard Worker) 146*61c4878aSAndroid Build Coastguard Worker 147*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 148*61c4878aSAndroid Build Coastguard Workeralias( 149*61c4878aSAndroid Build Coastguard Worker name = "backend_multiplexer", 150*61c4878aSAndroid Build Coastguard Worker actual = select({ 151*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:best_fit_block_allocator_backend": "//pw_malloc:best_fit", 152*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:bucket_allocator_backend": "//pw_malloc:bucket_allocator", 153*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:bucket_block_allocator_backend": "//pw_malloc:bucket_allocator", 154*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:dual_first_fit_block_allocator_backend": "//pw_malloc:first_fit", 155*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:first_fit_block_allocator_backend": "//pw_malloc:first_fit", 156*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:last_fit_block_allocator_backend": "//pw_malloc:first_fit", 157*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:worst_fit_block_allocator_backend": "//pw_malloc:worst_fit", 158*61c4878aSAndroid Build Coastguard Worker "//pw_malloc_freelist:backend": "//pw_malloc:bucket_allocator", 159*61c4878aSAndroid Build Coastguard Worker "//pw_malloc_freertos:backend": "//pw_malloc_freertos", 160*61c4878aSAndroid Build Coastguard Worker "//conditions:default": "//pw_build:unspecified_backend", 161*61c4878aSAndroid Build Coastguard Worker }), 162*61c4878aSAndroid Build Coastguard Worker visibility = ["//targets:__pkg__"], 163*61c4878aSAndroid Build Coastguard Worker) 164*61c4878aSAndroid Build Coastguard Worker 165*61c4878aSAndroid Build Coastguard Workercc_library( 166*61c4878aSAndroid Build Coastguard Worker name = "best_fit", 167*61c4878aSAndroid Build Coastguard Worker srcs = ["best_fit.cc"], 168*61c4878aSAndroid Build Coastguard Worker deps = [ 169*61c4878aSAndroid Build Coastguard Worker ":pw_malloc.facade", 170*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:best_fit", 171*61c4878aSAndroid Build Coastguard Worker ], 172*61c4878aSAndroid Build Coastguard Worker) 173*61c4878aSAndroid Build Coastguard Worker 174*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 175*61c4878aSAndroid Build Coastguard Workercc_library( 176*61c4878aSAndroid Build Coastguard Worker name = "best_fit_block_allocator", 177*61c4878aSAndroid Build Coastguard Worker deps = [":best_fit"], 178*61c4878aSAndroid Build Coastguard Worker) 179*61c4878aSAndroid Build Coastguard Worker 180*61c4878aSAndroid Build Coastguard Workercc_library( 181*61c4878aSAndroid Build Coastguard Worker name = "bucket_allocator", 182*61c4878aSAndroid Build Coastguard Worker srcs = ["bucket_allocator.cc"], 183*61c4878aSAndroid Build Coastguard Worker deps = [ 184*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:bucket_allocator", 185*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:facade", 186*61c4878aSAndroid Build Coastguard Worker ], 187*61c4878aSAndroid Build Coastguard Worker) 188*61c4878aSAndroid Build Coastguard Worker 189*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 190*61c4878aSAndroid Build Coastguard Workercc_library( 191*61c4878aSAndroid Build Coastguard Worker name = "bucket_block_allocator", 192*61c4878aSAndroid Build Coastguard Worker deps = [":bucket_allocator"], 193*61c4878aSAndroid Build Coastguard Worker) 194*61c4878aSAndroid Build Coastguard Worker 195*61c4878aSAndroid Build Coastguard Workercc_library( 196*61c4878aSAndroid Build Coastguard Worker name = "first_fit", 197*61c4878aSAndroid Build Coastguard Worker srcs = ["first_fit.cc"], 198*61c4878aSAndroid Build Coastguard Worker deps = [ 199*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:first_fit", 200*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:facade", 201*61c4878aSAndroid Build Coastguard Worker ], 202*61c4878aSAndroid Build Coastguard Worker) 203*61c4878aSAndroid Build Coastguard Worker 204*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 205*61c4878aSAndroid Build Coastguard Workercc_library( 206*61c4878aSAndroid Build Coastguard Worker name = "dual_first_fit_block_allocator", 207*61c4878aSAndroid Build Coastguard Worker deps = [":first_fit"], 208*61c4878aSAndroid Build Coastguard Worker) 209*61c4878aSAndroid Build Coastguard Worker 210*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 211*61c4878aSAndroid Build Coastguard Workercc_library( 212*61c4878aSAndroid Build Coastguard Worker name = "first_fit_block_allocator", 213*61c4878aSAndroid Build Coastguard Worker deps = [":first_fit"], 214*61c4878aSAndroid Build Coastguard Worker) 215*61c4878aSAndroid Build Coastguard Worker 216*61c4878aSAndroid Build Coastguard Worker# TODO(b/376730645): Remove deprecated backends. 217*61c4878aSAndroid Build Coastguard Workercc_library( 218*61c4878aSAndroid Build Coastguard Worker name = "last_fit_block_allocator", 219*61c4878aSAndroid Build Coastguard Worker deps = [":first_fit"], 220*61c4878aSAndroid Build Coastguard Worker) 221*61c4878aSAndroid Build Coastguard Worker 222*61c4878aSAndroid Build Coastguard Workercc_library( 223*61c4878aSAndroid Build Coastguard Worker name = "worst_fit", 224*61c4878aSAndroid Build Coastguard Worker srcs = ["worst_fit.cc"], 225*61c4878aSAndroid Build Coastguard Worker deps = [ 226*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:worst_fit", 227*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:facade", 228*61c4878aSAndroid Build Coastguard Worker ], 229*61c4878aSAndroid Build Coastguard Worker) 230*61c4878aSAndroid Build Coastguard Worker 231*61c4878aSAndroid Build Coastguard Workercc_library( 232*61c4878aSAndroid Build Coastguard Worker name = "testing", 233*61c4878aSAndroid Build Coastguard Worker testonly = True, 234*61c4878aSAndroid Build Coastguard Worker srcs = _COMMON_SRCS, 235*61c4878aSAndroid Build Coastguard Worker hdrs = _COMMON_HDRS + ["public/pw_malloc/internal/testing.h"], 236*61c4878aSAndroid Build Coastguard Worker defines = [ 237*61c4878aSAndroid Build Coastguard Worker "PW_MALLOC_METRICS_INCLUDE=\\\"pw_malloc/internal/testing.h\\\"", 238*61c4878aSAndroid Build Coastguard Worker "PW_MALLOC_METRICS_TYPE=::pw::malloc::internal::TestMetrics", 239*61c4878aSAndroid Build Coastguard Worker "PW_MALLOC_BLOCK_OFFSET_TYPE=uint16_t", 240*61c4878aSAndroid Build Coastguard Worker "PW_MALLOC_MIN_BUCKET_SIZE=64", 241*61c4878aSAndroid Build Coastguard Worker "PW_MALLOC_NUM_BUCKETS=4", 242*61c4878aSAndroid Build Coastguard Worker ], 243*61c4878aSAndroid Build Coastguard Worker implementation_deps = [ 244*61c4878aSAndroid Build Coastguard Worker "//pw_tokenizer:decoder", 245*61c4878aSAndroid Build Coastguard Worker ], 246*61c4878aSAndroid Build Coastguard Worker strip_include_prefix = "public", 247*61c4878aSAndroid Build Coastguard Worker 248*61c4878aSAndroid Build Coastguard Worker # Only run the test if no backend is set to ensure there is no system 249*61c4878aSAndroid Build Coastguard Worker # allocator. 250*61c4878aSAndroid Build Coastguard Worker target_compatible_with = select({ 251*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:best_fit_block_allocator_backend": ["@platforms//:incompatible"], 252*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:bucket_allocator_backend": ["@platforms//:incompatible"], 253*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:bucket_block_allocator_backend": ["@platforms//:incompatible"], 254*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:dual_first_fit_block_allocator_backend": ["@platforms//:incompatible"], 255*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:first_fit_block_allocator_backend": ["@platforms//:incompatible"], 256*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:last_fit_block_allocator_backend": ["@platforms//:incompatible"], 257*61c4878aSAndroid Build Coastguard Worker "//pw_malloc:worst_fit_block_allocator_backend": ["@platforms//:incompatible"], 258*61c4878aSAndroid Build Coastguard Worker "//pw_malloc_freelist:backend": ["@platforms//:incompatible"], 259*61c4878aSAndroid Build Coastguard Worker "//pw_malloc_freertos:backend": ["@platforms//:incompatible"], 260*61c4878aSAndroid Build Coastguard Worker "//conditions:default": [], 261*61c4878aSAndroid Build Coastguard Worker }) + 262*61c4878aSAndroid Build Coastguard Worker 263*61c4878aSAndroid Build Coastguard Worker # Currently only supported for host unit tests on Linux. 264*61c4878aSAndroid Build Coastguard Worker select({ 265*61c4878aSAndroid Build Coastguard Worker "@platforms//os:linux": [], 266*61c4878aSAndroid Build Coastguard Worker "//conditions:default": ["@platforms//:incompatible"], 267*61c4878aSAndroid Build Coastguard Worker }) + 268*61c4878aSAndroid Build Coastguard Worker 269*61c4878aSAndroid Build Coastguard Worker # Only run using the light framework, since gtest allocates objects before 270*61c4878aSAndroid Build Coastguard Worker # the test fixture initializes the heap. 271*61c4878aSAndroid Build Coastguard Worker select({ 272*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test:light_setting": [], 273*61c4878aSAndroid Build Coastguard Worker "//conditions:default": ["@platforms//:incompatible"], 274*61c4878aSAndroid Build Coastguard Worker }) + 275*61c4878aSAndroid Build Coastguard Worker 276*61c4878aSAndroid Build Coastguard Worker # Don't run with ASAN or TSAN, since they wrap malloc. 277*61c4878aSAndroid Build Coastguard Worker select({ 278*61c4878aSAndroid Build Coastguard Worker "//pw_toolchain/host_clang:asan_enabled": ["@platforms//:incompatible"], 279*61c4878aSAndroid Build Coastguard Worker "//pw_toolchain/host_clang:tsan_enabled": ["@platforms//:incompatible"], 280*61c4878aSAndroid Build Coastguard Worker "//conditions:default": [], 281*61c4878aSAndroid Build Coastguard Worker }), 282*61c4878aSAndroid Build Coastguard Worker visibility = ["//visibility:private"], 283*61c4878aSAndroid Build Coastguard Worker deps = [ 284*61c4878aSAndroid Build Coastguard Worker ":common", 285*61c4878aSAndroid Build Coastguard Worker "//pw_tokenizer:decoder", 286*61c4878aSAndroid Build Coastguard Worker "//pw_unit_test:light", 287*61c4878aSAndroid Build Coastguard Worker ], 288*61c4878aSAndroid Build Coastguard Worker) 289*61c4878aSAndroid Build Coastguard Worker 290*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 291*61c4878aSAndroid Build Coastguard Worker name = "best_fit_test", 292*61c4878aSAndroid Build Coastguard Worker srcs = [ 293*61c4878aSAndroid Build Coastguard Worker "best_fit.cc", 294*61c4878aSAndroid Build Coastguard Worker "malloc_test.cc", 295*61c4878aSAndroid Build Coastguard Worker ], 296*61c4878aSAndroid Build Coastguard Worker # TODO: b/379937425 - Enable when internal toolchains are sorted out. 297*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 298*61c4878aSAndroid Build Coastguard Worker deps = [ 299*61c4878aSAndroid Build Coastguard Worker ":testing", 300*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:best_fit", 301*61c4878aSAndroid Build Coastguard Worker ], 302*61c4878aSAndroid Build Coastguard Worker) 303*61c4878aSAndroid Build Coastguard Worker 304*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 305*61c4878aSAndroid Build Coastguard Worker name = "bucket_allocator_test", 306*61c4878aSAndroid Build Coastguard Worker srcs = [ 307*61c4878aSAndroid Build Coastguard Worker "bucket_allocator.cc", 308*61c4878aSAndroid Build Coastguard Worker "malloc_test.cc", 309*61c4878aSAndroid Build Coastguard Worker ], 310*61c4878aSAndroid Build Coastguard Worker # TODO: b/379937425 - Enable when internal toolchains are sorted out. 311*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 312*61c4878aSAndroid Build Coastguard Worker deps = [ 313*61c4878aSAndroid Build Coastguard Worker ":testing", 314*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:bucket_allocator", 315*61c4878aSAndroid Build Coastguard Worker ], 316*61c4878aSAndroid Build Coastguard Worker) 317*61c4878aSAndroid Build Coastguard Worker 318*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 319*61c4878aSAndroid Build Coastguard Worker name = "first_fit_test", 320*61c4878aSAndroid Build Coastguard Worker srcs = [ 321*61c4878aSAndroid Build Coastguard Worker "first_fit.cc", 322*61c4878aSAndroid Build Coastguard Worker "malloc_test.cc", 323*61c4878aSAndroid Build Coastguard Worker ], 324*61c4878aSAndroid Build Coastguard Worker # TODO: b/379937425 - Enable when internal toolchains are sorted out. 325*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 326*61c4878aSAndroid Build Coastguard Worker deps = [ 327*61c4878aSAndroid Build Coastguard Worker ":testing", 328*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:first_fit", 329*61c4878aSAndroid Build Coastguard Worker ], 330*61c4878aSAndroid Build Coastguard Worker) 331*61c4878aSAndroid Build Coastguard Worker 332*61c4878aSAndroid Build Coastguard Workerpw_cc_test( 333*61c4878aSAndroid Build Coastguard Worker name = "worst_fit_test", 334*61c4878aSAndroid Build Coastguard Worker srcs = [ 335*61c4878aSAndroid Build Coastguard Worker "malloc_test.cc", 336*61c4878aSAndroid Build Coastguard Worker "worst_fit.cc", 337*61c4878aSAndroid Build Coastguard Worker ], 338*61c4878aSAndroid Build Coastguard Worker # TODO: b/379937425 - Enable when internal toolchains are sorted out. 339*61c4878aSAndroid Build Coastguard Worker tags = ["manual"], 340*61c4878aSAndroid Build Coastguard Worker deps = [ 341*61c4878aSAndroid Build Coastguard Worker ":testing", 342*61c4878aSAndroid Build Coastguard Worker "//pw_allocator:worst_fit", 343*61c4878aSAndroid Build Coastguard Worker ], 344*61c4878aSAndroid Build Coastguard Worker) 345*61c4878aSAndroid Build Coastguard Worker 346*61c4878aSAndroid Build Coastguard Workerfilegroup( 347*61c4878aSAndroid Build Coastguard Worker name = "doxygen", 348*61c4878aSAndroid Build Coastguard Worker srcs = [ 349*61c4878aSAndroid Build Coastguard Worker "public/pw_malloc/config.h", 350*61c4878aSAndroid Build Coastguard Worker "public/pw_malloc/malloc.h", 351*61c4878aSAndroid Build Coastguard Worker ], 352*61c4878aSAndroid Build Coastguard Worker) 353