• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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