OLD | NEW |
---|---|
(Empty) | |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 import("//build/config/features.gni") | |
6 import("//build/config/nacl/config.gni") | |
7 import("//build/config/nacl/rules.gni") | |
8 | |
9 group("nacl") { | |
10 newlib = "//build/toolchain/nacl:clang_newlib_${target_cpu}" | |
11 glibc = "//build/toolchain/nacl:glibc_${target_cpu}" | |
12 pnacl = "//build/toolchain/nacl:newlib_pnacl" | |
13 deps = [ | |
14 ":shared_test_files($newlib)", | |
15 ":shared_test_files($glibc)", | |
16 ":shared_test_files($pnacl)", | |
17 ":simple_test($newlib)", | |
18 ":simple_test($glibc)", | |
19 ":simple_test($pnacl)", | |
20 ":exit_status_test($newlib)", | |
21 ":exit_status_test($glibc)", | |
22 ":exit_status_test($pnacl)", | |
23 ":extension_validation_cache($newlib)", | |
24 ":extension_validation_cache($glibc)", | |
25 ":sysconf_nprocessors_onln_test($newlib)", | |
26 ":sysconf_nprocessors_onln_test($glibc)", | |
27 ":sysconf_nprocessors_onln_test($pnacl)", | |
28 ":ppapi_progress_events($newlib)", | |
29 ":ppapi_progress_events($glibc)", | |
30 ":ppapi_progress_events($pnacl)", | |
31 ":ppapi_bad_ppp_initialize($newlib)", | |
32 ":ppapi_bad_ppp_initialize_crash($newlib)", | |
33 ":ppapi_bad_no_ppp_instance($newlib)", | |
34 ":ppapi_bad_get_ppp_instance_crash($newlib)", | |
35 ":ppapi_bad_ppp_instance_didcreate($newlib)", | |
36 ":ppapi_bad_ppp_instance_didcreate_crash($newlib)", | |
37 ":ppapi_crash_via_check_failure($newlib)", | |
38 ":ppapi_crash_via_check_failure($glibc)", | |
39 ":ppapi_crash_via_check_failure($pnacl)", | |
40 ":ppapi_crash_via_exit_call($newlib)", | |
41 ":ppapi_crash_via_exit_call($glibc)", | |
42 ":ppapi_crash_via_exit_call($pnacl)", | |
43 ":ppapi_crash_in_callback($newlib)", | |
44 ":ppapi_crash_in_callback($glibc)", | |
45 ":ppapi_crash_in_callback($pnacl)", | |
46 ":ppapi_crash_off_main_thread($newlib)", | |
47 ":ppapi_crash_off_main_thread($glibc)", | |
48 ":ppapi_crash_off_main_thread($pnacl)", | |
49 ":ppapi_crash_ppapi_off_main_thread($newlib)", | |
50 ":ppapi_crash_ppapi_off_main_thread($glibc)", | |
51 ":ppapi_crash_ppapi_off_main_thread($pnacl)", | |
52 ":irt_manifest_file($newlib)", | |
53 ":irt_exception_test($newlib)", | |
54 ":irt_exception_test($glibc)", | |
55 ":irt_exception_test($pnacl)", | |
56 ":ppapi_extension_mime_handler($newlib)", | |
57 ":pnacl_debug_url_test($pnacl)", | |
58 ":pnacl_error_handling_test($pnacl)", | |
59 ":pnacl_mime_type_test($newlib)", | |
60 ":pnacl_mime_type_test($glibc)", | |
61 ":pnacl_mime_type_test($pnacl)", | |
62 ":pnacl_options_test($pnacl)", | |
63 ":pnacl_dyncode_syscall_disabled_test($pnacl)", | |
64 ":pnacl_hw_eh_disabled_test($pnacl)", | |
65 ":ppapi_ppb_core($newlib)", | |
66 ":ppapi_ppb_core($glibc)", | |
67 ":ppapi_ppb_core($pnacl)", | |
68 ":ppapi_ppb_instance($newlib)", | |
69 ":ppapi_ppb_instance($glibc)", | |
70 ":ppapi_ppb_instance($pnacl)", | |
71 ":ppapi_ppp_instance($newlib)", | |
72 ":ppapi_ppp_instance($glibc)", | |
73 ":ppapi_ppp_instance($pnacl)", | |
74 ":partly_invalid($newlib)", | |
75 ] | |
76 } | |
77 | |
78 if (is_nacl) { | |
79 template("nacl_test_data") { | |
80 if (current_cpu == "pnacl") { | |
81 variant = "pnacl" | |
82 } else if (is_nacl_glibc) { | |
83 variant = "glibc" | |
84 } else { | |
85 variant = "newlib" | |
86 } | |
87 | |
88 if (defined(invoker.sources)) { | |
89 if (defined(invoker.output_name)) { | |
90 base_target_name = invoker.output_name | |
91 } else { | |
92 base_target_name = target_name | |
93 } | |
94 | |
95 if (current_cpu == "x64") { | |
96 nmf_cpu = "x86_64" | |
97 } else { | |
98 nmf_cpu = current_cpu | |
Roland McGrath
2015/11/18 20:36:58
Is this right for x86? I thought we used x86_32 i
Petr Hosek
2015/11/18 23:05:33
Done.
| |
99 } | |
100 if (is_nacl_glibc) { | |
101 suffix = "glibc_${nmf_cpu}" | |
102 } else { | |
103 suffix = "newlib_${nmf_cpu}" | |
104 } | |
105 suffixed_target_name = "${base_target_name}_${suffix}" | |
106 | |
107 if (defined(invoker.generate_nmf)) { | |
108 generate_nmf = invoker.generate_nmf | |
109 } else { | |
110 generate_nmf = true | |
111 } | |
112 | |
113 nexe_target_name = target_name + "_nexe" | |
114 nexe_copy_target_name = target_name + "_copy_nexe" | |
115 if (generate_nmf) { | |
116 nmf_target_name = target_name + "_nmf" | |
117 } | |
118 } | |
119 | |
120 if (defined(invoker.test_files)) { | |
121 test_files_target_name = target_name + "_test_files" | |
122 } | |
123 | |
124 destination_dir = "nacl_test_data" | |
125 if (defined(invoker.destination_dir)) { | |
126 destination_dir += "/${invoker.destination_dir}" | |
127 } | |
128 | |
129 if (defined(invoker.sources)) { | |
130 executable(nexe_target_name) { | |
131 output_name = suffixed_target_name | |
132 sources = invoker.sources | |
133 forward_variables_from(invoker, | |
134 [ | |
135 "cflags", | |
136 "ldflags", | |
137 ]) | |
138 deps = [ | |
139 "//ppapi:ppapi_cpp_lib", | |
140 "//ppapi/native_client:ppapi_lib", | |
141 ] | |
142 if (is_nacl_glibc) { | |
143 ldflags = [ "-pthread" ] | |
144 } else { | |
145 deps += [ | |
146 "//native_client/src/untrusted/nacl", | |
147 "//native_client/src/untrusted/pthread", | |
148 ] | |
149 } | |
150 if (defined(invoker.deps)) { | |
151 deps += invoker.deps | |
152 } | |
153 } | |
154 | |
155 copy(nexe_copy_target_name) { | |
156 if (current_cpu == "pnacl") { | |
157 if (defined(invoker.nonstable_pexe) && invoker.nonstable_pexe) { | |
158 sources = [ | |
159 "${root_out_dir}/exe.unstripped/${suffixed_target_name}.pexe", | |
160 ] | |
161 } else { | |
162 sources = [ | |
163 "${root_out_dir}/${suffixed_target_name}.pexe", | |
164 ] | |
165 } | |
166 } else { | |
167 sources = [ | |
168 "${root_out_dir}/${suffixed_target_name}.nexe", | |
169 ] | |
170 } | |
171 outputs = [ | |
172 "${root_build_dir}/${destination_dir}/${variant}/{{source_file_part}}" , | |
173 ] | |
174 deps = [ | |
175 ":${nexe_target_name}", | |
176 ] | |
177 } | |
178 } | |
179 | |
180 if (defined(invoker.sources) && generate_nmf) { | |
181 generate_nmf(nmf_target_name) { | |
182 nmf = "${root_build_dir}/${destination_dir}/${variant}/${base_target_nam e}.nmf" | |
183 if (current_cpu == "pnacl") { | |
184 executables = [ "${root_build_dir}/${destination_dir}/${variant}/${suf fixed_target_name}.pexe" ] | |
185 } else { | |
186 executables = [ "${root_build_dir}/${destination_dir}/${variant}/${suf fixed_target_name}.nexe" ] | |
187 } | |
188 if (is_nacl_glibc) { | |
189 lib_prefix = "${base_target_name}_libs" | |
190 stage_dependencies = "${root_build_dir}/${destination_dir}/${variant}" | |
191 } | |
192 if (defined(invoker.nmfflags)) { | |
193 nmfflags = invoker.nmfflags | |
194 } | |
195 deps = [ | |
196 ":${nexe_copy_target_name}", | |
197 ] | |
198 } | |
199 } | |
200 | |
201 if (defined(invoker.test_files)) { | |
202 copy(test_files_target_name) { | |
203 sources = invoker.test_files | |
204 outputs = [ | |
205 "${root_build_dir}/${destination_dir}/${variant}/{{source_file_part}}" , | |
206 ] | |
207 if (defined(invoker.sources)) { | |
208 deps = [ | |
209 ":${nexe_target_name}", | |
210 ] | |
211 } | |
212 } | |
213 } | |
214 | |
215 group(target_name) { | |
216 data_deps = [] | |
217 if (defined(invoker.sources)) { | |
218 data_deps += [ ":${nexe_copy_target_name}" ] | |
219 if (generate_nmf) { | |
220 data_deps += [ ":${nmf_target_name}" ] | |
221 } | |
222 } | |
223 if (defined(invoker.test_files)) { | |
224 data_deps += [ ":${test_files_target_name}" ] | |
225 } | |
226 } | |
227 } | |
228 | |
229 nacl_test_data("shared_test_files") { | |
230 test_files = [ | |
231 # TODO(ncbray) move into chrome/test/data/nacl when all tests are | |
232 # converted. | |
233 "//ppapi/native_client/tools/browser_tester/browserdata/nacltest.js", | |
234 | |
235 # files that aren't assosiated with any particular executable. | |
Roland McGrath
2015/11/18 20:36:58
"associated". Capitalize the sentence.
Petr Hosek
2015/11/18 23:05:33
Done.
| |
236 "bad/ppapi_bad.html", | |
237 "bad/ppapi_bad.js", | |
238 "bad/ppapi_bad_native.html", | |
239 "bad/ppapi_bad_doesnotexist.nmf", | |
240 "bad/ppapi_bad_magic.nmf", | |
241 "bad/ppapi_bad_manifest_uses_nexes.nmf", | |
242 "bad/ppapi_bad_manifest_bad_files.nmf", | |
243 "bad/ppapi_bad_manifest_nexe_arch.nmf", | |
244 "crash/ppapi_crash.js", | |
245 "crash/ppapi_crash_via_check_failure.html", | |
246 "crash/ppapi_crash_via_exit_call.html", | |
247 "crash/ppapi_crash_in_callback.html", | |
248 "crash/ppapi_crash_ppapi_off_main_thread.html", | |
249 "crash/ppapi_crash_off_main_thread.html", | |
250 "load_util.js", | |
251 "manifest_file/test_file.txt", | |
252 "progress_event_listener.js", | |
253 "simple_cc.js", | |
254 ] | |
255 } | |
256 | |
257 nacl_test_data("simple_test") { | |
258 output_name = "simple" | |
259 sources = [ | |
260 "simple.cc", | |
261 ] | |
262 test_files = [ "nacl_load_test.html" ] | |
263 } | |
264 | |
265 nacl_test_data("exit_status_test") { | |
266 output_name = "pm_exit_status_test" | |
267 sources = [ | |
268 "exit_status/pm_exit_status_test.cc", | |
269 ] | |
270 test_files = [ "exit_status/pm_exit_status_test.html" ] | |
271 } | |
272 | |
273 nacl_test_data("extension_validation_cache") { | |
274 sources = [ | |
275 "simple.cc", | |
276 ] | |
277 | |
278 # Need a new directory to not clash with with other extension | |
279 # tests's files (e.g., manifest.json). | |
280 destination_dir = "extension_vcache_test" | |
281 test_files = [ | |
282 # TODO(ncbray) move into chrome/test/data/nacl when all tests are | |
283 # converted. | |
284 "//ppapi/native_client/tools/browser_tester/browserdata/nacltest.js", | |
285 "extension_validation_cache/extension_validation_cache.html", | |
286 "extension_validation_cache/extension_validation_cache.js", | |
287 | |
288 # Turns the test data directory into an extension. | |
289 # Use a different nexe_destination_dir to isolate the files. | |
290 # Note that the .nexe names are embedded in this file. | |
291 "extension_validation_cache/manifest.json", | |
292 "load_util.js", | |
293 "simple_cc.js", | |
294 ] | |
295 } | |
296 | |
297 nacl_test_data("sysconf_nprocessors_onln_test") { | |
298 sources = [ | |
299 "sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.cc", | |
300 ] | |
301 test_files = | |
302 [ "sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.html" ] | |
303 } | |
304 | |
305 source_set("ppapi_test_lib") { | |
306 sources = [ | |
307 # TODO(ncbray) move these files once SCons no longer depends on them. | |
308 "//ppapi/native_client/tests/ppapi_test_lib/get_browser_interface.cc", | |
309 "//ppapi/native_client/tests/ppapi_test_lib/get_browser_interface.h", | |
310 "//ppapi/native_client/tests/ppapi_test_lib/internal_utils.cc", | |
311 "//ppapi/native_client/tests/ppapi_test_lib/internal_utils.h", | |
312 "//ppapi/native_client/tests/ppapi_test_lib/module_instance.cc", | |
313 "//ppapi/native_client/tests/ppapi_test_lib/test_interface.cc", | |
314 "//ppapi/native_client/tests/ppapi_test_lib/test_interface.h", | |
315 "//ppapi/native_client/tests/ppapi_test_lib/testable_callback.cc", | |
316 "//ppapi/native_client/tests/ppapi_test_lib/testable_callback.h", | |
317 ] | |
318 deps = [ | |
319 "//native_client/src/shared/platform", | |
320 "//native_client/src/shared/gio", | |
321 "//ppapi/native_client:ppapi_lib", | |
322 ] | |
323 } | |
324 | |
325 nacl_test_data("ppapi_progress_events") { | |
326 sources = [ | |
327 "progress_events/ppapi_progress_events.cc", | |
328 ] | |
329 test_files = [ "progress_events/ppapi_progress_events.html" ] | |
330 deps = [ | |
331 ":ppapi_test_lib", | |
332 ] | |
333 } | |
334 | |
335 nacl_test_data("ppapi_bad_ppp_initialize") { | |
336 sources = [ | |
337 "bad/ppapi_bad_ppp_initialize.cc", | |
338 ] | |
339 } | |
340 | |
341 nacl_test_data("ppapi_bad_ppp_initialize_crash") { | |
342 sources = [ | |
343 "bad/ppapi_bad_ppp_initialize_crash.cc", | |
344 ] | |
345 } | |
346 | |
347 nacl_test_data("ppapi_bad_no_ppp_instance") { | |
348 sources = [ | |
349 "bad/ppapi_bad_no_ppp_instance.cc", | |
350 ] | |
351 deps = [ | |
352 "//native_client/src/shared/platform", | |
353 ] | |
354 } | |
355 | |
356 nacl_test_data("ppapi_bad_get_ppp_instance_crash") { | |
357 sources = [ | |
358 "bad/ppapi_bad_get_ppp_instance_crash.cc", | |
359 ] | |
360 } | |
361 | |
362 nacl_test_data("ppapi_bad_ppp_instance_didcreate") { | |
363 sources = [ | |
364 "bad/ppapi_bad_ppp_instance_didcreate.cc", | |
365 ] | |
366 } | |
367 | |
368 nacl_test_data("ppapi_bad_ppp_instance_didcreate_crash") { | |
369 sources = [ | |
370 "bad/ppapi_bad_ppp_instance_didcreate_crash.cc", | |
371 ] | |
372 } | |
373 | |
374 nacl_test_data("ppapi_crash_via_check_failure") { | |
375 sources = [ | |
376 "crash/ppapi_crash_via_check_failure.cc", | |
377 ] | |
378 deps = [ | |
379 ":ppapi_test_lib", | |
380 ] | |
381 } | |
382 | |
383 nacl_test_data("ppapi_crash_via_exit_call") { | |
384 sources = [ | |
385 "crash/ppapi_crash_via_exit_call.cc", | |
386 ] | |
387 deps = [ | |
388 ":ppapi_test_lib", | |
389 ] | |
390 } | |
391 | |
392 nacl_test_data("ppapi_crash_in_callback") { | |
393 sources = [ | |
394 "crash/ppapi_crash_in_callback.cc", | |
395 ] | |
396 deps = [ | |
397 ":ppapi_test_lib", | |
398 ] | |
399 } | |
400 | |
401 nacl_test_data("ppapi_crash_off_main_thread") { | |
402 sources = [ | |
403 "crash/ppapi_crash_off_main_thread.cc", | |
404 ] | |
405 deps = [ | |
406 ":ppapi_test_lib", | |
407 ] | |
408 } | |
409 | |
410 nacl_test_data("ppapi_crash_ppapi_off_main_thread") { | |
411 sources = [ | |
412 "crash/ppapi_crash_ppapi_off_main_thread.cc", | |
413 ] | |
414 deps = [ | |
415 ":ppapi_test_lib", | |
416 ] | |
417 } | |
418 | |
419 nacl_test_data("irt_manifest_file") { | |
420 sources = [ | |
421 "manifest_file/irt_manifest_file_test.cc", | |
422 ] | |
423 nmfflags = [ | |
424 "-xtest_file:test_file.txt", | |
425 "-xnmf says hello world:test_file.txt", | |
426 | |
427 # There is no dummy_test_file.txt file intentionally. This is just for | |
428 # a test case where there is a manifest entry, but no actual file. | |
429 "-xdummy_test_file:dummy_test_file.txt", | |
430 ] | |
431 test_files = [ "manifest_file/irt_manifest_file_test.html" ] | |
432 } | |
433 | |
434 nacl_test_data("irt_exception_test") { | |
435 sources = [ | |
436 "irt_exception/irt_exception_test.cc", | |
437 ] | |
438 deps = [ | |
439 ":ppapi_test_lib", | |
440 "//native_client/src/untrusted/nacl:nacl_exception", | |
441 ] | |
442 test_files = [ "irt_exception/irt_exception_test.html" ] | |
443 } | |
444 | |
445 nacl_test_data("ppapi_extension_mime_handler") { | |
446 sources = [ | |
447 "extension_mime_handler/ppapi_extension_mime_handler.cc", | |
448 ] | |
449 deps = [ | |
450 ":ppapi_test_lib", | |
451 ] | |
452 test_files = [ | |
453 "extension_mime_handler/ppapi_extension_mime_handler.html", | |
454 "extension_mime_handler/mime_test_data.dat", | |
455 | |
456 # For faking the file's MIME type. | |
457 "extension_mime_handler/mime_test_data.dat.mock-http-headers", | |
458 | |
459 # Turns the test data directory into an extension. Hackish. | |
460 # Note that the .nexe names are embedded in this file. | |
461 "extension_mime_handler/manifest.json", | |
462 ] | |
463 } | |
464 | |
465 nacl_test_data("pnacl_debug_url_test") { | |
466 output_name = "pnacl_debug_url" | |
467 sources = [ | |
468 "simple.cc", | |
469 ] | |
470 generate_nmf = false | |
471 test_files = [ | |
472 "pnacl_debug_url/pnacl_debug_url.html", | |
473 "pnacl_debug_url/pnacl_has_debug.nmf", | |
474 "pnacl_debug_url/pnacl_has_debug_flag_off.nmf", | |
475 "pnacl_debug_url/pnacl_no_debug.nmf", | |
476 ] | |
477 } | |
478 | |
479 nacl_test_data("pnacl_error_handling_test") { | |
480 output_name = "pnacl_errors" | |
481 sources = [ | |
482 "simple.cc", | |
483 ] | |
484 generate_nmf = false | |
485 if (current_cpu == "pnacl") { | |
486 nonstable_pexe = true | |
487 } | |
488 test_files = [ | |
489 "pnacl_error_handling/pnacl_error_handling.html", | |
490 "pnacl_error_handling/bad.pexe", | |
491 "pnacl_error_handling/pnacl_bad_pexe.nmf", | |
492 "pnacl_error_handling/pnacl_bad_pexe_O0.nmf", | |
493 "pnacl_error_handling/pnacl_bad_doesnotexist.nmf", | |
494 "pnacl_error_handling/pnacl_illformed_manifest.nmf", | |
495 "pnacl_error_handling/pnacl_nonfinal_pexe_O0.nmf", | |
496 ] | |
497 } | |
498 | |
499 nacl_test_data("pnacl_mime_type_test") { | |
500 test_files = [ "pnacl_mime_type/pnacl_mime_type.html" ] | |
501 } | |
502 | |
503 nacl_test_data("pnacl_options_test") { | |
504 output_name = "pnacl_options" | |
505 sources = [ | |
506 "simple.cc", | |
507 ] | |
508 generate_nmf = false | |
509 test_files = [ | |
510 "pnacl_nmf_options/pnacl_options.html", | |
511 "pnacl_nmf_options/pnacl_o_0.nmf", | |
512 "pnacl_nmf_options/pnacl_o_2.nmf", | |
513 "pnacl_nmf_options/pnacl_o_large.nmf", | |
514 ] | |
515 } | |
516 | |
517 nacl_test_data("pnacl_dyncode_syscall_disabled_test") { | |
518 output_name = "pnacl_dyncode_syscall_disabled" | |
519 sources = [ | |
520 "pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.cc", | |
521 ] | |
522 deps = [ | |
523 ":ppapi_test_lib", | |
524 "//native_client/src/untrusted/nacl:nacl_dyncode_private", | |
525 ] | |
526 test_files = | |
527 [ "pnacl_dyncode_syscall_disabled/pnacl_dyncode_syscall_disabled.html" ] | |
528 } | |
529 | |
530 nacl_test_data("pnacl_hw_eh_disabled_test") { | |
531 output_name = "pnacl_hw_eh_disabled" | |
532 sources = [ | |
533 "pnacl_hw_eh_disabled/pnacl_hw_eh_disabled.cc", | |
534 ] | |
535 deps = [ | |
536 ":ppapi_test_lib", | |
537 "//native_client/src/untrusted/nacl:nacl_exception_private", | |
538 ] | |
539 test_files = [ "pnacl_hw_eh_disabled/pnacl_hw_eh_disabled.html" ] | |
540 } | |
541 | |
542 # Legacy NaCl PPAPI interface tests being here. | |
543 nacl_test_data("ppapi_ppb_core") { | |
544 sources = [ | |
545 "ppapi/ppb_core/ppapi_ppb_core.cc", | |
546 ] | |
547 deps = [ | |
548 ":ppapi_test_lib", | |
549 ] | |
550 test_files = [ "ppapi/ppb_core/ppapi_ppb_core.html" ] | |
551 } | |
552 | |
553 nacl_test_data("ppapi_ppb_instance") { | |
554 sources = [ | |
555 "ppapi/ppb_instance/ppapi_ppb_instance.cc", | |
556 ] | |
557 deps = [ | |
558 ":ppapi_test_lib", | |
559 ] | |
560 test_files = [ "ppapi/ppb_instance/ppapi_ppb_instance.html" ] | |
561 } | |
562 | |
563 nacl_test_data("ppapi_ppp_instance") { | |
564 sources = [ | |
565 "ppapi/ppp_instance/ppapi_ppp_instance.cc", | |
566 ] | |
567 deps = [ | |
568 ":ppapi_test_lib", | |
569 ] | |
570 test_files = [ | |
571 "ppapi/ppp_instance/ppapi_ppp_instance.html", | |
572 "ppapi/ppp_instance/ppapi_ppp_instance.js", | |
573 ] | |
574 } | |
575 | |
576 if (target_cpu != "arm") { | |
577 # Source file does not have asm for ARM. | |
578 nacl_test_data("partly_invalid") { | |
579 sources = [ | |
580 "//native_client/tests/stubout_mode/partly_invalid.c", | |
581 ] | |
582 if (target_cpu == "mipsel") { | |
583 cflags = [ | |
584 "--pnacl-mips-bias", | |
585 "-arch", | |
586 "mips32", | |
587 "--pnacl-allow-translate", | |
588 ] | |
589 ldflags = [ "--pnacl-allow-native" ] | |
590 } | |
591 } | |
592 } | |
593 | |
594 # TODO(phosek): convert the non-SFI tests. | |
595 } | |
OLD | NEW |