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