Avi Drissman | db497b3 | 2022-09-15 19:47:28 | [diff] [blame] | 1 | # Copyright 2015 The Chromium Authors |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
Dirk Pranke | ccc0c36 | 2017-09-28 22:15:11 | [diff] [blame] | 5 | import("//build/config/nacl/config.gni") |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 6 | import("//build/config/nacl/rules.gni") |
Dirk Pranke | ccc0c36 | 2017-09-28 22:15:11 | [diff] [blame] | 7 | import("//components/nacl/features.gni") |
Mark Seaborn | c4d6112 | 2022-03-25 01:32:25 | [diff] [blame] | 8 | import("//components/nacl/target_cpu.gni") |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 9 | |
| 10 | assert(enable_nacl) |
| 11 | |
| 12 | if (current_cpu == "pnacl") { |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 13 | nacl_toolchain_variant = "pnacl" |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 14 | } else if (is_nacl_glibc) { |
| 15 | nacl_toolchain_variant = "glibc" |
Daniel Cheng | 073353a1 | 2023-06-08 17:52:01 | [diff] [blame] | 16 | } else if (is_nacl_saigo) { |
| 17 | nacl_toolchain_variant = "test_irt" |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 18 | } else { |
| 19 | nacl_toolchain_variant = "newlib" |
| 20 | } |
| 21 | |
| 22 | # Assemble data for Native Client based test |
| 23 | # |
| 24 | # Build a Native Client based test, including any additional support files |
| 25 | # and copy them over to a toolchain-specific target directory. |
| 26 | # |
| 27 | # Variables: |
| 28 | # output_name: name of the ouput file other than the default |
| 29 | # sources: source files for a target |
| 30 | # generate_nmf: whether to generate a manifest (default true) |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 31 | # pretranslate_pexe: whether to pre-translate pexe to nexe during build |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 32 | # nonstable_pexe: use non-finalized pexe (default false) |
| 33 | # debug_pexe: copy both non-finalized and finalized pexe (default false) |
| 34 | # destination_dir: the output directory relative to the $root_build_dir, |
| 35 | # if ommitted the output directory is $root_build_dir and the manifest |
| 36 | # will be suffixed with the name of the toolchain (optional) |
| 37 | # test_files: additional test files to copy to $destination_dir (optional) |
| 38 | # nmfflags: additional flags for the nmf generator (optional) |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 39 | template("nacl_test_data") { |
| 40 | assert(defined(invoker.sources)) |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 41 | forward_variables_from(invoker, [ "destination_dir" ]) |
| 42 | |
| 43 | if (defined(invoker.output_name)) { |
| 44 | output_name = invoker.output_name |
| 45 | } else { |
| 46 | output_name = target_name |
| 47 | } |
| 48 | |
| 49 | if (current_cpu == "x64") { |
| 50 | nmf_cpu = "x86_64" |
| 51 | } else if (current_cpu == "x86") { |
| 52 | nmf_cpu = "x86_32" |
| 53 | } else { |
| 54 | nmf_cpu = current_cpu |
| 55 | } |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 56 | |
Hidehiko Abe | 0f70124 | 2022-01-19 02:57:57 | [diff] [blame] | 57 | if (current_cpu == "pnacl" && defined(invoker.pretranslate_pexe)) { |
| 58 | pretranslate_pexe = invoker.pretranslate_pexe |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 59 | } else { |
| 60 | pretranslate_pexe = false |
| 61 | } |
| 62 | |
| 63 | # Note this can't test "is_win" because it's evaluated in the NaCl |
| 64 | # toolchain context where is_win==false because current_os=="nacl". |
| 65 | # It tests target_cpu rather than current_cpu because it's also |
| 66 | # needed in the current_cpu=="pnacl" && pretranslate_pexe case. |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 67 | if (target_os == "win" && target_cpu == "x86" && |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 68 | (current_cpu == "x86" || pretranslate_pexe)) { |
| 69 | # x86 Windows builds of Chrome run on both x86 Windows and x64 |
| 70 | # Windows. On x64 Windows, only x64 NaCl is supported, so those |
| 71 | # tests are needed too. |
| 72 | extra_tc_cpu = "x64" |
| 73 | if (current_cpu == "x86") { |
| 74 | extra_nmf_cpu = "x86_64" |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 75 | } |
| 76 | } |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 77 | |
| 78 | if (is_nacl_glibc) { |
| 79 | suffix = "glibc_${nmf_cpu}" |
| 80 | if (defined(extra_nmf_cpu)) { |
| 81 | extra_suffix = "glibc_${extra_nmf_cpu}" |
| 82 | glibc_tc = "//build/toolchain/nacl:glibc" |
| 83 | assert(current_toolchain == "${glibc_tc}_${current_cpu}") |
| 84 | extra_toolchain = "${glibc_tc}_${extra_tc_cpu}" |
| 85 | } |
| 86 | } else { |
| 87 | suffix = "newlib_${nmf_cpu}" |
| 88 | if (defined(extra_nmf_cpu)) { |
| 89 | extra_suffix = "newlib_${extra_nmf_cpu}" |
| 90 | newlib_tc = "//build/toolchain/nacl:clang_newlib" |
Daniel Cheng | 073353a1 | 2023-06-08 17:52:01 | [diff] [blame] | 91 | if (is_nacl_saigo) { |
| 92 | newlib_tc = "//build/toolchain/nacl:test_irt" |
| 93 | } |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 94 | assert(current_toolchain == "${newlib_tc}_${current_cpu}") |
| 95 | extra_toolchain = "${newlib_tc}_${extra_tc_cpu}" |
| 96 | } |
| 97 | } |
| 98 | suffixed_output_name = "${output_name}_${suffix}" |
| 99 | if (defined(extra_nmf_cpu)) { |
| 100 | extra_suffixed_output_name = "${output_name}_${extra_suffix}" |
| 101 | } |
| 102 | if (pretranslate_pexe) { |
| 103 | pexe_translate_target_name = target_name + "_translate_pexe_" |
| 104 | if (defined(extra_tc_cpu)) { |
| 105 | # There will be an extra pretranslation done below for the |
| 106 | # extra CPU (i.e. for x64 on x86 Windows). |
| 107 | extra_pexe_translate_target_name = |
| 108 | pexe_translate_target_name + extra_tc_cpu |
| 109 | } |
Mark Seaborn | c4d6112 | 2022-03-25 01:32:25 | [diff] [blame] | 110 | pexe_translate_target_name += nacl_target_cpu |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 111 | } |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 112 | if (defined(invoker.generate_nmf)) { |
| 113 | generate_nmf = invoker.generate_nmf |
| 114 | } else { |
| 115 | generate_nmf = true |
| 116 | } |
| 117 | nexe_target_name = target_name + "_nexe" |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 118 | nexe_copy_target_name = target_name + "_copy_nexe" |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 119 | if (current_cpu == "pnacl") { |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 120 | if (defined(invoker.debug_pexe) && invoker.debug_pexe) { |
| 121 | pexe_copy_debug_target_name = target_name + "_copy_pexe_debug" |
| 122 | } |
| 123 | } |
| 124 | if (generate_nmf) { |
| 125 | nmf_target_name = target_name + "_nmf" |
| 126 | } |
| 127 | if (defined(invoker.test_files)) { |
| 128 | test_files_target_name = target_name + "_test_files" |
| 129 | } |
| 130 | final_target_name = target_name |
| 131 | |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 132 | # When the destination_dir is specified, the build artifacts end up |
| 133 | # in the that directory and the manifest is the same as the target name. |
| 134 | # When the destination_dir is not specified, the artifacts end up |
| 135 | # in the root build directory and the manifests are suffixed to ensure |
| 136 | # they do not overlap in case when we build the same test using multiple |
| 137 | # different toolchains. |
| 138 | if (defined(invoker.destination_dir)) { |
| 139 | target_dir = |
| 140 | "${root_build_dir}/${destination_dir}/${nacl_toolchain_variant}" |
| 141 | if (generate_nmf) { |
| 142 | nmf_name = output_name |
| 143 | } |
| 144 | } else { |
| 145 | target_dir = root_build_dir |
| 146 | if (generate_nmf) { |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 147 | nacl_toolchain_name = nacl_toolchain_variant |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 148 | nmf_name = "${output_name}_${nacl_toolchain_name}" |
| 149 | } |
| 150 | } |
| 151 | |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 152 | executable(nexe_target_name) { |
| 153 | visibility = [ ":*" ] |
| 154 | output_name = suffixed_output_name |
| 155 | sources = invoker.sources |
| 156 | forward_variables_from(invoker, |
| 157 | [ |
Nico Weber | 287adb2 | 2021-11-25 03:34:16 | [diff] [blame] | 158 | "assert_no_deps", |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 159 | "cflags", |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 160 | "defines", |
| 161 | "include_dirs", |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 162 | "ldflags", |
| 163 | "libs", |
| 164 | ]) |
| 165 | deps = [ |
phosek | d07c771 | 2016-01-14 23:22:51 | [diff] [blame] | 166 | "//build/config/nacl:nacl_base", |
Clark DuVall | 5446e67 | 2020-11-14 01:56:55 | [diff] [blame] | 167 | "//ppapi/c", |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 168 | "//ppapi/native_client:ppapi_lib", |
| 169 | ] |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 170 | ldflags = [ "-pthread" ] |
| 171 | if (defined(invoker.deps)) { |
| 172 | deps += invoker.deps |
| 173 | } |
| 174 | } |
| 175 | |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 176 | if (current_cpu == "pnacl" && pretranslate_pexe) { |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 177 | # This is a template so it can be invoked twice in the |
| 178 | # defined(extra_tc_cpu) case below. |
| 179 | template("nacl_test_data_pretranslate_pexe") { |
Fabian Sommer | 3b46bc7 | 2021-07-15 16:59:58 | [diff] [blame] | 180 | action(target_name) { |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 181 | translate_cpu = invoker.translate_cpu |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 182 | |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 183 | visibility = [ ":$nexe_copy_target_name" ] |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 184 | |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 185 | # We specify the toolchain explicitly because in the Non-SFI case, we |
| 186 | # still want to use the pexe built using the newlib_pnacl toolchain. |
| 187 | tests = ":ppapi_nacl_tests_nexe(//build/toolchain/nacl:newlib_pnacl)" |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 188 | |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 189 | pexe = get_label_info(tests, "root_out_dir") + |
| 190 | "/${suffixed_output_name}.pexe" |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 191 | if (translate_cpu == "x86") { |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 192 | nmf_cpu = "x32" |
| 193 | } else { |
| 194 | nmf_cpu = translate_cpu |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 195 | } |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 196 | suffix = "pnacl_newlib_${nmf_cpu}" |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 197 | nexe = "${root_out_dir}/${output_name}_${suffix}.nexe" |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 198 | |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 199 | script = "${nacl_toolchain_bindir}/pydir/loader.py" |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 200 | sources = [ pexe ] |
| 201 | outputs = [ nexe ] |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 202 | |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 203 | # TODO(phosek): remove the following once change 1360243003 is rolled |
| 204 | # into Chrome and use translate_cpu directly. |
| 205 | if (translate_cpu == "x86") { |
| 206 | arch = "i686" |
| 207 | } else if (translate_cpu == "x64") { |
| 208 | arch = "x86-64" |
| 209 | } else if (translate_cpu == "arm") { |
| 210 | arch = "armv7" |
| 211 | } else if (translate_cpu == "mipsel") { |
| 212 | arch = "mipsel" |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 213 | } |
| 214 | |
| 215 | # The pre-translated object file has to be linked with an IRT shim to |
| 216 | # get a runnable nexe. This is handled by pnacl-translate, which passes |
| 217 | # -l:libpnacl_irt_shim.a to native linker, and we need to ensure the |
| 218 | # linker can find the correct library. |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 219 | pnacl_irt_shim = "//ppapi/native_client/src/untrusted/pnacl_irt_shim:aot(//build/toolchain/nacl:clang_newlib_${translate_cpu})" |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 220 | |
| 221 | args = [ |
| 222 | "pnacl-translate", |
| 223 | rebase_path(pexe, root_build_dir), |
| 224 | "-o", |
| 225 | rebase_path(nexe, root_build_dir), |
| 226 | "-arch", |
| 227 | arch, |
| 228 | "-Wl,-L" + |
wychen | 5e1f725 | 2017-05-30 08:05:10 | [diff] [blame] | 229 | rebase_path(get_label_info(pnacl_irt_shim, "target_out_dir"), |
| 230 | root_build_dir), |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 231 | ] |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 232 | deps = [ ":$nexe_target_name(//build/toolchain/nacl:newlib_pnacl)" ] |
| 233 | data_deps = [ pnacl_irt_shim ] |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 234 | } |
| 235 | } |
| 236 | |
| 237 | nacl_test_data_pretranslate_pexe(pexe_translate_target_name) { |
Mark Seaborn | c4d6112 | 2022-03-25 01:32:25 | [diff] [blame] | 238 | translate_cpu = nacl_target_cpu |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 239 | } |
| 240 | if (defined(extra_tc_cpu)) { |
| 241 | nacl_test_data_pretranslate_pexe(extra_pexe_translate_target_name) { |
| 242 | translate_cpu = extra_tc_cpu |
| 243 | } |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 244 | } |
| 245 | } |
| 246 | |
| 247 | copy(nexe_copy_target_name) { |
| 248 | visibility = [ ":$final_target_name" ] |
| 249 | if (generate_nmf) { |
| 250 | visibility += [ ":$nmf_target_name" ] |
| 251 | } |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 252 | if (current_cpu == "pnacl") { |
| 253 | if (pretranslate_pexe) { |
| 254 | sources = get_target_outputs(":${pexe_translate_target_name}") |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 255 | if (defined(extra_tc_cpu)) { |
| 256 | sources += get_target_outputs(":${extra_pexe_translate_target_name}") |
| 257 | } |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 258 | } else if (defined(invoker.nonstable_pexe) && invoker.nonstable_pexe) { |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 259 | sources = |
| 260 | [ "${root_out_dir}/exe.unstripped/${suffixed_output_name}.pexe" ] |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 261 | } else { |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 262 | sources = [ "${root_out_dir}/${suffixed_output_name}.pexe" ] |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 263 | } |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 264 | } else { |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 265 | sources = [ "${root_out_dir}/${suffixed_output_name}.nexe" ] |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 266 | if (defined(extra_nmf_cpu)) { |
| 267 | extra_root_out_dir = |
| 268 | get_label_info(":${nexe_target_name}(${extra_toolchain})", |
| 269 | "root_out_dir") |
| 270 | sources += |
| 271 | [ "${extra_root_out_dir}/${extra_suffixed_output_name}.nexe" ] |
| 272 | } |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 273 | } |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 274 | outputs = [ "${target_dir}/{{source_file_part}}" ] |
phosek | e19dffc | 2016-05-09 07:03:49 | [diff] [blame] | 275 | if (current_cpu == "pnacl" && pretranslate_pexe) { |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 276 | deps = [ ":$pexe_translate_target_name" ] |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 277 | if (defined(extra_tc_cpu)) { |
| 278 | deps += [ ":$extra_pexe_translate_target_name" ] |
| 279 | } |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 280 | } else { |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 281 | deps = [ ":$nexe_target_name" ] |
mcgrathr | a03f119 | 2016-05-13 02:22:48 | [diff] [blame] | 282 | if (defined(extra_nmf_cpu)) { |
| 283 | deps += [ ":${nexe_target_name}(${extra_toolchain})" ] |
| 284 | } |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 285 | } |
| 286 | } |
| 287 | |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 288 | if (current_cpu == "pnacl") { |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 289 | if (defined(invoker.debug_pexe) && invoker.debug_pexe) { |
| 290 | copy(pexe_copy_debug_target_name) { |
| 291 | visibility = [ ":$final_target_name" ] |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 292 | sources = |
| 293 | [ "${root_out_dir}/exe.unstripped/${suffixed_output_name}.pexe" ] |
| 294 | outputs = [ "${target_dir}/{{source_name_part}}.pexe.debug" ] |
| 295 | deps = [ ":$nexe_target_name" ] |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 296 | } |
| 297 | } |
| 298 | } |
| 299 | |
| 300 | if (generate_nmf) { |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 301 | generate_nmf(nmf_target_name) { |
| 302 | visibility = [ ":$final_target_name" ] |
| 303 | forward_variables_from(invoker, [ "nmfflags" ]) |
| 304 | nmf = "${target_dir}/${nmf_name}.nmf" |
| 305 | executables = get_target_outputs(":$nexe_copy_target_name") |
| 306 | if (is_nacl_glibc) { |
| 307 | lib_prefix = "${output_name}_libs" |
| 308 | stage_dependencies = target_dir |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 309 | } |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 310 | deps = [ ":$nexe_copy_target_name" ] |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 311 | } |
| 312 | } |
| 313 | |
| 314 | if (defined(invoker.test_files)) { |
| 315 | copy(test_files_target_name) { |
| 316 | visibility = [ ":$final_target_name" ] |
| 317 | sources = invoker.test_files |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 318 | outputs = [ "${target_dir}/{{source_file_part}}" ] |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 319 | } |
| 320 | } |
| 321 | |
| 322 | group(final_target_name) { |
Nico Weber | 9efa623 | 2020-01-13 19:08:51 | [diff] [blame] | 323 | data_deps = [ ":$nexe_copy_target_name" ] |
Nico Weber | 7c271e9 | 2021-11-30 04:21:09 | [diff] [blame] | 324 | if (current_cpu == "pnacl") { |
phosek | b460625 | 2015-12-15 23:00:35 | [diff] [blame] | 325 | if (defined(invoker.debug_pexe) && invoker.debug_pexe) { |
| 326 | data_deps += [ ":$pexe_copy_debug_target_name" ] |
| 327 | } |
| 328 | } |
| 329 | if (generate_nmf) { |
| 330 | data_deps += [ ":$nmf_target_name" ] |
| 331 | } |
| 332 | if (defined(invoker.test_files)) { |
| 333 | data_deps += [ ":$test_files_target_name" ] |
| 334 | } |
| 335 | } |
| 336 | } |