1# Copyright 2020 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15load( 16 "//pw_build:pigweed.bzl", 17 "pw_cc_library", 18 "pw_cc_test", 19) 20 21package(default_visibility = ["//visibility:public"]) 22 23licenses(["notice"]) # Apache License 2.0 24 25pw_cc_library( 26 name = "block", 27 srcs = [ 28 "block.cc", 29 ], 30 hdrs = [ 31 "public/pw_allocator/block.h", 32 ], 33 includes = ["public"], 34 deps = [ 35 "//pw_span", 36 "//pw_status", 37 ], 38) 39 40pw_cc_library( 41 name = "freelist", 42 srcs = [ 43 "freelist.cc", 44 ], 45 hdrs = [ 46 "public/pw_allocator/freelist.h", 47 ], 48 includes = ["public"], 49 deps = [ 50 "//pw_containers", 51 "//pw_span", 52 "//pw_status", 53 ], 54) 55 56pw_cc_library( 57 name = "freelist_heap", 58 srcs = [ 59 "freelist_heap.cc", 60 ], 61 hdrs = [ 62 "public/pw_allocator/freelist_heap.h", 63 ], 64 deps = [ 65 ":block", 66 ":freelist", 67 ], 68) 69 70pw_cc_test( 71 name = "block_test", 72 srcs = [ 73 "block_test.cc", 74 ], 75 deps = [ 76 ":block", 77 "//pw_span", 78 "//pw_unit_test", 79 ], 80) 81 82pw_cc_test( 83 name = "freelist_test", 84 srcs = [ 85 "freelist_test.cc", 86 ], 87 deps = [ 88 ":freelist", 89 "//pw_span", 90 "//pw_status", 91 "//pw_unit_test", 92 ], 93) 94 95pw_cc_test( 96 name = "freelist_heap_test", 97 srcs = [ 98 "freelist_heap_test.cc", 99 ], 100 deps = [ 101 ":freelist_heap", 102 ], 103) 104