• 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
15import("//build_overrides/pigweed.gni")
16
17import("$dir_pw_build/target_types.gni")
18
19pw_executable("base") {
20  sources = [ "base.cc" ]
21  defines = [ "PW_ALLOCATOR_SIZE_REPORTER_BASE" ]
22  deps = [
23    "$dir_pw_bloat:bloat_this_binary",
24    "..:size_reporter",
25    dir_pw_bytes,
26  ]
27}
28
29pw_executable("as_pmr_allocator_base") {
30  sources = [ "as_pmr_allocator_base.cc" ]
31  deps = [
32    "..:block_allocator",
33    "..:size_reporter",
34  ]
35}
36
37pw_executable("as_pmr_allocator") {
38  sources = [ "as_pmr_allocator.cc" ]
39  deps = [
40    "..:allocator",
41    "..:block_allocator",
42    "..:size_reporter",
43  ]
44}
45
46pw_executable("best_fit_block_allocator") {
47  include_dirs = [ "../public" ]
48  sources = [ "best_fit_block_allocator.cc" ]
49  deps = [
50    "..:block_allocator",
51    "..:size_reporter",
52  ]
53}
54
55pw_executable("bucket_block_allocator") {
56  include_dirs = [ "../public" ]
57  sources = [ "bucket_block_allocator.cc" ]
58  deps = [
59    "..:bucket_block_allocator",
60    "..:size_reporter",
61  ]
62}
63
64pw_executable("buddy_allocator") {
65  include_dirs = [ "../public" ]
66  sources = [ "buddy_allocator.cc" ]
67  deps = [
68    "..:buddy_allocator",
69    "..:size_reporter",
70  ]
71}
72
73pw_executable("bump_allocator") {
74  include_dirs = [ "../public" ]
75  sources = [ "bump_allocator.cc" ]
76  deps = [
77    "..:bump_allocator",
78    "..:size_reporter",
79  ]
80}
81
82pw_executable("dual_first_fit_block_allocator") {
83  sources = [ "dual_first_fit_block_allocator.cc" ]
84  deps = [
85    "..:block_allocator",
86    "..:size_reporter",
87  ]
88}
89
90pw_executable("fallback_allocator_base") {
91  sources = [ "fallback_allocator_base.cc" ]
92  deps = [
93    "..:block_allocator",
94    "..:fallback_allocator",
95    "..:size_reporter",
96  ]
97}
98
99pw_executable("fallback_allocator") {
100  sources = [ "fallback_allocator.cc" ]
101  deps = [
102    "..:block_allocator",
103    "..:fallback_allocator",
104    "..:size_reporter",
105  ]
106}
107
108pw_executable("first_fit_block_allocator") {
109  sources = [ "first_fit_block_allocator.cc" ]
110  deps = [
111    "..:block_allocator",
112    "..:size_reporter",
113  ]
114}
115
116pw_executable("last_fit_block_allocator") {
117  sources = [ "last_fit_block_allocator.cc" ]
118  deps = [
119    "..:block_allocator",
120    "..:size_reporter",
121  ]
122}
123
124pw_executable("libc_allocator") {
125  sources = [ "libc_allocator.cc" ]
126  deps = [
127    "..:libc_allocator",
128    "..:size_reporter",
129  ]
130}
131
132pw_executable("null_allocator") {
133  sources = [ "null_allocator.cc" ]
134  deps = [
135    "..:null_allocator",
136    "..:size_reporter",
137  ]
138}
139
140pw_executable("synchronized_allocator_isl") {
141  sources = [ "synchronized_allocator_isl.cc" ]
142  deps = [
143    "$dir_pw_sync:interrupt_spin_lock",
144    "..:block_allocator",
145    "..:size_reporter",
146    "..:synchronized_allocator",
147  ]
148}
149
150pw_executable("synchronized_allocator_mutex") {
151  sources = [ "synchronized_allocator_mutex.cc" ]
152  deps = [
153    "$dir_pw_sync:mutex",
154    "..:block_allocator",
155    "..:size_reporter",
156    "..:synchronized_allocator",
157  ]
158}
159
160pw_executable("tracking_allocator_all_metrics") {
161  sources = [ "tracking_allocator_all_metrics.cc" ]
162  deps = [
163    "..:block_allocator",
164    "..:size_reporter",
165    "..:tracking_allocator",
166  ]
167}
168
169pw_executable("tracking_allocator_no_metrics") {
170  sources = [ "tracking_allocator_no_metrics.cc" ]
171  deps = [
172    "..:block_allocator",
173    "..:size_reporter",
174    "..:tracking_allocator",
175  ]
176}
177
178pw_executable("worst_fit_block_allocator") {
179  sources = [ "worst_fit_block_allocator.cc" ]
180  deps = [
181    "..:block_allocator",
182    "..:size_reporter",
183  ]
184}
185