Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 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 | |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 15 | import("//build_overrides/pigweed.gni") |
| 16 | |
Wyatt Hepler | ae93f42 | 2020-12-14 11:46:19 -0800 | [diff] [blame] | 17 | import("$dir_pw_chrono/backend.gni") |
Armando Montanez | ccc3ee1 | 2020-06-11 16:36:11 -0700 | [diff] [blame] | 18 | import("$dir_pw_protobuf_compiler/proto.gni") |
Wyatt Hepler | ae93f42 | 2020-12-14 11:46:19 -0800 | [diff] [blame] | 19 | import("$dir_pw_rpc/system_server/backend.gni") |
| 20 | import("$dir_pw_sync/backend.gni") |
Wyatt Hepler | cb9a892 | 2020-12-16 10:19:41 -0800 | [diff] [blame] | 21 | import("$dir_pw_sys_io/backend.gni") |
Armando Montanez | 2c042f9 | 2021-12-15 14:55:36 -0800 | [diff] [blame^] | 22 | import("$dir_pw_system/backend.gni") |
Alexei Frolov | dd6fa5c | 2020-08-11 10:04:01 -0700 | [diff] [blame] | 23 | import("$dir_pw_third_party/nanopb/nanopb.gni") |
Ewout van Bekkum | e3b5603 | 2020-12-22 12:00:18 -0800 | [diff] [blame] | 24 | import("$dir_pw_thread/backend.gni") |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 25 | import("$dir_pw_toolchain/host_clang/toolchains.gni") |
| 26 | import("$dir_pw_toolchain/host_gcc/toolchains.gni") |
Armando Montanez | 8104e8f | 2021-03-06 15:09:52 -0800 | [diff] [blame] | 27 | import("$dir_pw_trace/backend.gni") |
| 28 | import("$dir_pw_trace_tokenized/config.gni") |
Wyatt Hepler | d49f8fe | 2020-10-15 10:13:47 -0700 | [diff] [blame] | 29 | |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 30 | _host_common = { |
| 31 | # Use logging-based test output on host. |
| 32 | pw_unit_test_MAIN = "$dir_pw_unit_test:logging_main" |
| 33 | |
| 34 | # Configure backend for assert facade. |
| 35 | pw_assert_BACKEND = "$dir_pw_assert_basic" |
| 36 | |
| 37 | # Configure backend for logging facade. |
| 38 | pw_log_BACKEND = "$dir_pw_log_basic" |
| 39 | |
Ewout van Bekkum | 5890193 | 2020-11-09 12:46:52 -0800 | [diff] [blame] | 40 | # Configure backends for pw_sync's facades. |
Ewout van Bekkum | da2a62d | 2021-03-12 11:34:47 -0800 | [diff] [blame] | 41 | pw_sync_INTERRUPT_SPIN_LOCK_BACKEND = "$dir_pw_sync_stl:interrupt_spin_lock" |
Anthony DiGirolamo | cce560d | 2021-04-29 19:02:51 -0700 | [diff] [blame] | 42 | pw_sync_BINARY_SEMAPHORE_BACKEND = "$dir_pw_sync_stl:binary_semaphore_backend" |
| 43 | pw_sync_COUNTING_SEMAPHORE_BACKEND = |
| 44 | "$dir_pw_sync_stl:counting_semaphore_backend" |
| 45 | pw_sync_MUTEX_BACKEND = "$dir_pw_sync_stl:mutex_backend" |
| 46 | pw_sync_TIMED_MUTEX_BACKEND = "$dir_pw_sync_stl:timed_mutex_backend" |
Ewout van Bekkum | f010606 | 2021-05-06 14:08:33 -0700 | [diff] [blame] | 47 | pw_sync_THREAD_NOTIFICATION_BACKEND = |
| 48 | "$dir_pw_sync:binary_semaphore_thread_notification_backend" |
| 49 | pw_sync_TIMED_THREAD_NOTIFICATION_BACKEND = |
| 50 | "$dir_pw_sync:binary_semaphore_timed_thread_notification_backend" |
Ewout van Bekkum | 5890193 | 2020-11-09 12:46:52 -0800 | [diff] [blame] | 51 | |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 52 | # Configure backend for pw_sys_io facade. |
| 53 | pw_sys_io_BACKEND = "$dir_pw_sys_io_stdio" |
Armando Montanez | ccc3ee1 | 2020-06-11 16:36:11 -0700 | [diff] [blame] | 54 | |
Jiaming Wang | 35b4ea3 | 2020-10-06 15:23:48 -0700 | [diff] [blame] | 55 | # Configure backend for pw_rpc_system_server. |
Alexei Frolov | eb94e96 | 2020-12-29 16:15:40 -0800 | [diff] [blame] | 56 | pw_rpc_system_server_BACKEND = "$dir_pigweed/targets/host:system_rpc_server" |
Wyatt Hepler | fb4453f | 2021-11-10 08:56:17 -0800 | [diff] [blame] | 57 | pw_rpc_CONFIG = "$dir_pw_rpc:use_global_mutex" |
Jiaming Wang | 35b4ea3 | 2020-10-06 15:23:48 -0700 | [diff] [blame] | 58 | |
Robert Oliver | 21dcf27 | 2020-05-12 15:41:52 -0400 | [diff] [blame] | 59 | # Configure backend for trace facade. |
| 60 | pw_trace_BACKEND = "$dir_pw_trace_tokenized" |
| 61 | |
Robert Oliver | 6d05de1 | 2020-07-13 15:10:42 -0400 | [diff] [blame] | 62 | # Tokenizer trace time. |
| 63 | pw_trace_tokenizer_time = "$dir_pw_trace_tokenized:host_trace_time" |
Robert Oliver | 21dcf27 | 2020-05-12 15:41:52 -0400 | [diff] [blame] | 64 | |
Ewout van Bekkum | 2140484 | 2021-06-08 11:06:17 -0700 | [diff] [blame] | 65 | # Configure backend for pw_chrono's facades. |
Ewout van Bekkum | 3c61ae9 | 2020-10-30 15:52:25 -0700 | [diff] [blame] | 66 | pw_chrono_SYSTEM_CLOCK_BACKEND = "$dir_pw_chrono_stl:system_clock" |
Ewout van Bekkum | 2140484 | 2021-06-08 11:06:17 -0700 | [diff] [blame] | 67 | pw_chrono_SYSTEM_TIMER_BACKEND = "$dir_pw_chrono_stl:system_timer" |
Ewout van Bekkum | 3c61ae9 | 2020-10-30 15:52:25 -0700 | [diff] [blame] | 68 | |
Anthony DiGirolamo | cce560d | 2021-04-29 19:02:51 -0700 | [diff] [blame] | 69 | # Configure backends for pw_thread's facades. |
| 70 | pw_thread_ID_BACKEND = "$dir_pw_thread_stl:id" |
| 71 | pw_thread_YIELD_BACKEND = "$dir_pw_thread_stl:yield" |
Ewout van Bekkum | 9e29fbb | 2021-07-13 14:06:07 -0700 | [diff] [blame] | 72 | pw_thread_SLEEP_BACKEND = "$dir_pw_thread_stl:sleep" |
Anthony DiGirolamo | cce560d | 2021-04-29 19:02:51 -0700 | [diff] [blame] | 73 | pw_thread_THREAD_BACKEND = "$dir_pw_thread_stl:thread" |
| 74 | |
Armando Montanez | 2c042f9 | 2021-12-15 14:55:36 -0800 | [diff] [blame^] | 75 | pw_system_BACKEND = "$dir_pw_system:stl_target_hooks" |
| 76 | |
Wyatt Hepler | 8bd4fb0 | 2021-05-03 15:30:58 -0700 | [diff] [blame] | 77 | pw_build_LINK_DEPS = [] # Explicit list overwrite required by GN |
Ewout van Bekkum | eac9440 | 2021-05-07 16:58:42 -0700 | [diff] [blame] | 78 | pw_build_LINK_DEPS = [ |
| 79 | "$dir_pw_assert:impl", |
| 80 | "$dir_pw_log:impl", |
| 81 | ] |
Wyatt Hepler | 8bd4fb0 | 2021-05-03 15:30:58 -0700 | [diff] [blame] | 82 | |
Michael Spang | 6a84595 | 2020-08-13 19:04:19 -0400 | [diff] [blame] | 83 | # Specify builtin GN variables. |
| 84 | current_os = host_os |
| 85 | current_cpu = host_cpu |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 86 | } |
| 87 | |
| 88 | # Linux-specific target configuration. |
| 89 | _linux_config = { |
| 90 | pw_bloat_BLOATY_CONFIG = get_path_info("linux.bloaty", "abspath") |
| 91 | pw_unit_test_AUTOMATIC_RUNNER = get_path_info("run_test", "abspath") |
| 92 | } |
| 93 | |
| 94 | # macOS-specific target configuration. |
| 95 | _mac_config = { |
| 96 | pw_bloat_BLOATY_CONFIG = get_path_info("macos.bloaty", "abspath") |
| 97 | pw_unit_test_AUTOMATIC_RUNNER = get_path_info("run_test", "abspath") |
| 98 | } |
| 99 | |
| 100 | # Windows-specific target configuration. |
| 101 | _win_config = { |
| 102 | # This is here as bloaty_config_file cannot be an empty string or GN fails. |
| 103 | # TODO(frolv): Add this file and enable size reports on Windows. |
| 104 | pw_bloat_BLOATY_CONFIG = get_path_info("windows.bloaty", "abspath") |
| 105 | pw_unit_test_AUTOMATIC_RUNNER = get_path_info("run_test.bat", "abspath") |
| 106 | } |
| 107 | |
| 108 | _os_specific_config = { |
| 109 | if (host_os == "linux") { |
| 110 | forward_variables_from(_linux_config, "*") |
| 111 | } else if (host_os == "mac") { |
| 112 | forward_variables_from(_mac_config, "*") |
| 113 | } else if (host_os == "win") { |
| 114 | forward_variables_from(_win_config, "*") |
| 115 | } |
| 116 | } |
| 117 | |
Ewout van Bekkum | cc9ef83 | 2021-04-08 08:51:16 -0700 | [diff] [blame] | 118 | _clang_default_configs = [ |
| 119 | "$dir_pw_build:extra_strict_warnings", |
| 120 | "$dir_pw_build:clang_thread_safety_warnings", |
| 121 | ] |
Wyatt Hepler | a77e5e7 | 2021-04-09 17:38:39 -0700 | [diff] [blame] | 122 | _gcc_default_configs = [ |
| 123 | "$dir_pw_build:extra_strict_warnings", |
| 124 | "$dir_pw_toolchain/host_gcc:threading_support", |
| 125 | ] |
Ewout van Bekkum | fa1fc66 | 2020-10-16 16:11:13 -0700 | [diff] [blame] | 126 | |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 127 | pw_target_toolchain_host = { |
Armando Montanez | d9a8a34 | 2020-06-11 13:42:03 -0700 | [diff] [blame] | 128 | _excluded_members = [ |
| 129 | "defaults", |
| 130 | "name", |
| 131 | ] |
| 132 | |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 133 | clang_debug = { |
Armando Montanez | d9a8a34 | 2020-06-11 13:42:03 -0700 | [diff] [blame] | 134 | name = "host_clang_debug" |
| 135 | _toolchain_base = pw_toolchain_host_clang.debug |
| 136 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 137 | defaults = { |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 138 | forward_variables_from(_toolchain_base.defaults, "*") |
| 139 | forward_variables_from(_host_common, "*") |
| 140 | forward_variables_from(_os_specific_config, "*") |
Ewout van Bekkum | cc9ef83 | 2021-04-08 08:51:16 -0700 | [diff] [blame] | 141 | default_configs += _clang_default_configs |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 142 | } |
| 143 | } |
| 144 | |
| 145 | clang_speed_optimized = { |
Armando Montanez | d9a8a34 | 2020-06-11 13:42:03 -0700 | [diff] [blame] | 146 | name = "host_clang_speed_optimized" |
| 147 | _toolchain_base = pw_toolchain_host_clang.speed_optimized |
| 148 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 149 | defaults = { |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 150 | forward_variables_from(_toolchain_base.defaults, "*") |
| 151 | forward_variables_from(_host_common, "*") |
| 152 | forward_variables_from(_os_specific_config, "*") |
Ewout van Bekkum | cc9ef83 | 2021-04-08 08:51:16 -0700 | [diff] [blame] | 153 | default_configs += _clang_default_configs |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 154 | } |
| 155 | } |
| 156 | |
| 157 | clang_size_optimized = { |
Armando Montanez | d9a8a34 | 2020-06-11 13:42:03 -0700 | [diff] [blame] | 158 | name = "host_clang_size_optimized" |
| 159 | _toolchain_base = pw_toolchain_host_clang.size_optimized |
| 160 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 161 | defaults = { |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 162 | forward_variables_from(_toolchain_base.defaults, "*") |
| 163 | forward_variables_from(_host_common, "*") |
| 164 | forward_variables_from(_os_specific_config, "*") |
Ewout van Bekkum | cc9ef83 | 2021-04-08 08:51:16 -0700 | [diff] [blame] | 165 | default_configs += _clang_default_configs |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 166 | } |
| 167 | } |
| 168 | |
Ali Zhang | 5876558 | 2021-01-29 12:04:06 -0800 | [diff] [blame] | 169 | clang_fuzz = { |
| 170 | name = "host_clang_fuzz" |
| 171 | _toolchain_base = pw_toolchain_host_clang.fuzz |
| 172 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
| 173 | defaults = { |
| 174 | forward_variables_from(_toolchain_base.defaults, "*") |
| 175 | forward_variables_from(_host_common, "*") |
| 176 | forward_variables_from(_os_specific_config, "*") |
Ewout van Bekkum | cc9ef83 | 2021-04-08 08:51:16 -0700 | [diff] [blame] | 177 | default_configs += _clang_default_configs |
Ali Zhang | 5876558 | 2021-01-29 12:04:06 -0800 | [diff] [blame] | 178 | } |
| 179 | } |
| 180 | |
Dmitry Yatsushkevich | f3b9d0d | 2021-10-20 13:49:36 -0700 | [diff] [blame] | 181 | clang_asan = { |
| 182 | name = "host_clang_asan" |
| 183 | _toolchain_base = pw_toolchain_host_clang.asan |
| 184 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
| 185 | defaults = { |
| 186 | forward_variables_from(_toolchain_base.defaults, "*") |
| 187 | forward_variables_from(_host_common, "*") |
| 188 | forward_variables_from(_os_specific_config, "*") |
| 189 | default_configs += _clang_default_configs |
| 190 | } |
| 191 | } |
| 192 | |
| 193 | clang_ubsan = { |
| 194 | name = "host_clang_ubsan" |
| 195 | _toolchain_base = pw_toolchain_host_clang.ubsan |
| 196 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
| 197 | defaults = { |
| 198 | forward_variables_from(_toolchain_base.defaults, "*") |
| 199 | forward_variables_from(_host_common, "*") |
| 200 | forward_variables_from(_os_specific_config, "*") |
| 201 | default_configs += _clang_default_configs |
| 202 | } |
| 203 | } |
| 204 | |
Ted Pudlik | 4c8206b | 2021-11-04 22:26:31 +0000 | [diff] [blame] | 205 | clang_ubsan_heuristic = { |
| 206 | name = "host_clang_ubsan_heuristic" |
| 207 | _toolchain_base = pw_toolchain_host_clang.ubsan_heuristic |
| 208 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
| 209 | defaults = { |
| 210 | forward_variables_from(_toolchain_base.defaults, "*") |
| 211 | forward_variables_from(_host_common, "*") |
| 212 | forward_variables_from(_os_specific_config, "*") |
| 213 | default_configs += _clang_default_configs |
| 214 | } |
| 215 | } |
| 216 | |
Dmitry Yatsushkevich | f3b9d0d | 2021-10-20 13:49:36 -0700 | [diff] [blame] | 217 | clang_msan = { |
| 218 | name = "host_clang_msan" |
| 219 | _toolchain_base = pw_toolchain_host_clang.msan |
| 220 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
| 221 | defaults = { |
| 222 | forward_variables_from(_toolchain_base.defaults, "*") |
| 223 | forward_variables_from(_host_common, "*") |
| 224 | forward_variables_from(_os_specific_config, "*") |
| 225 | default_configs += _clang_default_configs |
| 226 | } |
| 227 | } |
| 228 | |
| 229 | clang_tsan = { |
| 230 | name = "host_clang_tsan" |
| 231 | _toolchain_base = pw_toolchain_host_clang.tsan |
| 232 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
| 233 | defaults = { |
| 234 | forward_variables_from(_toolchain_base.defaults, "*") |
| 235 | forward_variables_from(_host_common, "*") |
| 236 | forward_variables_from(_os_specific_config, "*") |
| 237 | default_configs += _clang_default_configs |
| 238 | } |
| 239 | } |
| 240 | |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 241 | gcc_debug = { |
Armando Montanez | d9a8a34 | 2020-06-11 13:42:03 -0700 | [diff] [blame] | 242 | name = "host_gcc_debug" |
| 243 | _toolchain_base = pw_toolchain_host_gcc.debug |
| 244 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 245 | defaults = { |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 246 | forward_variables_from(_toolchain_base.defaults, "*") |
| 247 | forward_variables_from(_host_common, "*") |
| 248 | forward_variables_from(_os_specific_config, "*") |
Ewout van Bekkum | cc9ef83 | 2021-04-08 08:51:16 -0700 | [diff] [blame] | 249 | default_configs += _gcc_default_configs |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 250 | } |
| 251 | } |
| 252 | |
| 253 | gcc_speed_optimized = { |
Armando Montanez | d9a8a34 | 2020-06-11 13:42:03 -0700 | [diff] [blame] | 254 | name = "host_gcc_speed_optimized" |
| 255 | _toolchain_base = pw_toolchain_host_gcc.speed_optimized |
| 256 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 257 | defaults = { |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 258 | forward_variables_from(_toolchain_base.defaults, "*") |
| 259 | forward_variables_from(_host_common, "*") |
| 260 | forward_variables_from(_os_specific_config, "*") |
Ewout van Bekkum | cc9ef83 | 2021-04-08 08:51:16 -0700 | [diff] [blame] | 261 | default_configs += _gcc_default_configs |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 262 | } |
| 263 | } |
| 264 | |
| 265 | gcc_size_optimized = { |
Armando Montanez | d9a8a34 | 2020-06-11 13:42:03 -0700 | [diff] [blame] | 266 | name = "host_gcc_size_optimized" |
| 267 | _toolchain_base = pw_toolchain_host_gcc.size_optimized |
| 268 | forward_variables_from(_toolchain_base, "*", _excluded_members) |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 269 | defaults = { |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 270 | forward_variables_from(_toolchain_base.defaults, "*") |
| 271 | forward_variables_from(_host_common, "*") |
| 272 | forward_variables_from(_os_specific_config, "*") |
Ewout van Bekkum | cc9ef83 | 2021-04-08 08:51:16 -0700 | [diff] [blame] | 273 | default_configs += _gcc_default_configs |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 274 | } |
| 275 | } |
| 276 | } |
| 277 | |
Armando Montanez | d9a8a34 | 2020-06-11 13:42:03 -0700 | [diff] [blame] | 278 | # This list just contains the members of the above scope for convenience to make |
| 279 | # it trivial to generate all the toolchains in this file via a |
| 280 | # `generate_toolchains` target. |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 281 | pw_target_toolchain_host_list = [ |
| 282 | pw_target_toolchain_host.clang_debug, |
| 283 | pw_target_toolchain_host.clang_speed_optimized, |
| 284 | pw_target_toolchain_host.clang_size_optimized, |
Ali Zhang | 5876558 | 2021-01-29 12:04:06 -0800 | [diff] [blame] | 285 | pw_target_toolchain_host.clang_fuzz, |
Dmitry Yatsushkevich | f3b9d0d | 2021-10-20 13:49:36 -0700 | [diff] [blame] | 286 | pw_target_toolchain_host.clang_asan, |
| 287 | pw_target_toolchain_host.clang_ubsan, |
Ted Pudlik | 4c8206b | 2021-11-04 22:26:31 +0000 | [diff] [blame] | 288 | pw_target_toolchain_host.clang_ubsan_heuristic, |
Dmitry Yatsushkevich | f3b9d0d | 2021-10-20 13:49:36 -0700 | [diff] [blame] | 289 | pw_target_toolchain_host.clang_msan, |
| 290 | pw_target_toolchain_host.clang_tsan, |
Armando Montanez | 164624f | 2020-06-10 15:00:29 -0700 | [diff] [blame] | 291 | pw_target_toolchain_host.gcc_debug, |
| 292 | pw_target_toolchain_host.gcc_speed_optimized, |
| 293 | pw_target_toolchain_host.gcc_size_optimized, |
| 294 | ] |