• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2023 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_binary",
18)
19
20package(default_visibility = ["//visibility:public"])
21
22licenses(["notice"])
23
24pw_cc_binary(
25    name = "base",
26    srcs = ["base.cc"],
27    defines = ["PW_ALLOCATOR_SIZE_REPORTER_BASE"],
28    deps = ["//pw_allocator:size_reporter"],
29)
30
31pw_cc_binary(
32    name = "as_pmr_allocator_base",
33    srcs = ["as_pmr_allocator_base.cc"],
34    deps = [
35        "//pw_allocator:block_allocator",
36        "//pw_allocator:size_reporter",
37    ],
38)
39
40pw_cc_binary(
41    name = "as_pmr_allocator",
42    srcs = ["as_pmr_allocator.cc"],
43    deps = [
44        "//pw_allocator:allocator",
45        "//pw_allocator:block_allocator",
46        "//pw_allocator:size_reporter",
47    ],
48)
49
50pw_cc_binary(
51    name = "best_fit_block_allocator",
52    srcs = ["best_fit_block_allocator.cc"],
53    deps = [
54        "//pw_allocator:block_allocator",
55        "//pw_allocator:size_reporter",
56    ],
57)
58
59pw_cc_binary(
60    name = "bucket_block_allocator",
61    srcs = ["bucket_block_allocator.cc"],
62    deps = [
63        "//pw_allocator:bucket_block_allocator",
64        "//pw_allocator:size_reporter",
65    ],
66)
67
68pw_cc_binary(
69    name = "buddy_allocator",
70    srcs = ["buddy_allocator.cc"],
71    deps = [
72        "//pw_allocator:buddy_allocator",
73        "//pw_allocator:size_reporter",
74    ],
75)
76
77pw_cc_binary(
78    name = "bump_allocator",
79    srcs = ["bump_allocator.cc"],
80    deps = [
81        "//pw_allocator:bump_allocator",
82        "//pw_allocator:size_reporter",
83    ],
84)
85
86pw_cc_binary(
87    name = "dual_first_fit_block_allocator",
88    srcs = ["dual_first_fit_block_allocator.cc"],
89    deps = [
90        "//pw_allocator:block_allocator",
91        "//pw_allocator:size_reporter",
92    ],
93)
94
95pw_cc_binary(
96    name = "fallback_allocator_base",
97    srcs = ["fallback_allocator_base.cc"],
98    deps = [
99        "//pw_allocator:block_allocator",
100        "//pw_allocator:size_reporter",
101    ],
102)
103
104pw_cc_binary(
105    name = "fallback_allocator",
106    srcs = ["fallback_allocator.cc"],
107    deps = [
108        "//pw_allocator:block_allocator",
109        "//pw_allocator:fallback_allocator",
110        "//pw_allocator:size_reporter",
111    ],
112)
113
114pw_cc_binary(
115    name = "first_fit_block_allocator",
116    srcs = ["first_fit_block_allocator.cc"],
117    deps = [
118        "//pw_allocator:block_allocator",
119        "//pw_allocator:size_reporter",
120    ],
121)
122
123pw_cc_binary(
124    name = "last_fit_block_allocator",
125    srcs = ["last_fit_block_allocator.cc"],
126    deps = [
127        "//pw_allocator:block_allocator",
128        "//pw_allocator:size_reporter",
129    ],
130)
131
132pw_cc_binary(
133    name = "libc_allocator",
134    srcs = ["libc_allocator.cc"],
135    deps = [
136        "//pw_allocator:libc_allocator",
137        "//pw_allocator:size_reporter",
138    ],
139)
140
141pw_cc_binary(
142    name = "null_allocator",
143    srcs = ["null_allocator.cc"],
144    deps = [
145        "//pw_allocator:null_allocator",
146        "//pw_allocator:size_reporter",
147    ],
148)
149
150pw_cc_binary(
151    name = "synchronized_allocator_isl",
152    srcs = ["synchronized_allocator_isl.cc"],
153    deps = [
154        "//pw_allocator:block_allocator",
155        "//pw_allocator:size_reporter",
156        "//pw_allocator:synchronized_allocator",
157        "//pw_sync:interrupt_spin_lock",
158    ],
159)
160
161pw_cc_binary(
162    name = "synchronized_allocator_mutex",
163    srcs = ["synchronized_allocator_mutex.cc"],
164    deps = [
165        "//pw_allocator:block_allocator",
166        "//pw_allocator:size_reporter",
167        "//pw_allocator:synchronized_allocator",
168        "//pw_sync:mutex",
169    ],
170)
171
172pw_cc_binary(
173    name = "tracking_allocator_all_metrics",
174    srcs = ["tracking_allocator_all_metrics.cc"],
175    deps = [
176        "//pw_allocator:block_allocator",
177        "//pw_allocator:size_reporter",
178        "//pw_allocator:tracking_allocator",
179    ],
180)
181
182pw_cc_binary(
183    name = "tracking_allocator_no_metrics",
184    srcs = ["tracking_allocator_no_metrics.cc"],
185    deps = [
186        "//pw_allocator:block_allocator",
187        "//pw_allocator:size_reporter",
188        "//pw_allocator:tracking_allocator",
189    ],
190)
191
192pw_cc_binary(
193    name = "worst_fit_block_allocator",
194    srcs = ["worst_fit_block_allocator.cc"],
195    deps = [
196        "//pw_allocator:block_allocator",
197        "//pw_allocator:size_reporter",
198    ],
199)
200