Index: native_client_sdk/src/BUILD.gn |
diff --git a/native_client_sdk/src/BUILD.gn b/native_client_sdk/src/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9b33bed569cc06d9567530eb52e4a21caf60d85d |
--- /dev/null |
+++ b/native_client_sdk/src/BUILD.gn |
@@ -0,0 +1,65 @@ |
+# Copyright 2016 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import("//build/config/features.gni") |
+ |
+declare_args() { |
+ # Set to true if cross compiling trusted (e.g. building sel_ldr_arm on x86) |
+ # binaries is supported. |
+ enable_cross_trusted = is_linux |
+ |
+ # Build the nacl SDK untrusted components. This is disabled by default since |
+ # not all NaCl untrusted compilers are in goma (e.g arm-nacl-glibc) |
+ nacl_sdk_untrusted = false |
+} |
+ |
+if (enable_nacl) { |
+ group("nacl_core_sdk") { |
+ # Targets that get included in the NaCl SDK |
+ # See: native_client_sdk/src/build_tools/build_sdk.py |
+ deps = [] |
+ if (enable_cross_trusted || |
+ (target_cpu != "arm" && target_cpu != "mipsel")) { |
+ # cross compiling trusted binaries such as sel_ldr is only currently |
+ # supported on linux, and requires specific cross compilers to be |
+ # installed. It can be disabled with 'disable_cross_trusted=1' |
+ deps = [ |
+ "//native_client/src/trusted/service_runtime:sel_ldr", |
+ "//native_client/src/trusted/validator/driver:ncval_new", |
+ ] |
+ if (is_linux) { |
+ deps += [ "//native_client/src/nonsfi/loader:nonsfi_loader" ] |
+ } |
+ } |
+ if (nacl_sdk_untrusted) { |
+ deps += [ |
+ # elf_loader is only used on ARM |
+ "//native_client/src/untrusted/elf_loader:elf_loader(//build/toolchain/nacl:clang_newlib_arm)", |
+ "//native_client/src/untrusted/irt:irt_core(//build/toolchain/nacl:irt_arm)", |
+ "//native_client/src/untrusted/irt:irt_core(//build/toolchain/nacl:irt_x64)", |
+ "//native_client/src/untrusted/irt:irt_core(//build/toolchain/nacl:irt_x86)", |
+ "//ppapi/native_client:ppapi_lib(//build/toolchain/nacl:clang_newlib_arm)", |
+ "//ppapi/native_client:ppapi_lib(//build/toolchain/nacl:clang_newlib_x64)", |
+ "//ppapi/native_client:ppapi_lib(//build/toolchain/nacl:clang_newlib_x86)", |
+ "//ppapi/native_client:ppapi_lib(//build/toolchain/nacl:glibc_arm)", |
+ "//ppapi/native_client:ppapi_lib(//build/toolchain/nacl:glibc_x64)", |
+ "//ppapi/native_client:ppapi_lib(//build/toolchain/nacl:glibc_x86)", |
+ "//ppapi/native_client:ppapi_lib(//build/toolchain/nacl:newlib_pnacl)", |
+ "//ppapi/native_client/src/untrusted/pnacl_irt_shim:aot(//build/toolchain/nacl:clang_newlib_arm)", |
+ "//ppapi/native_client/src/untrusted/pnacl_irt_shim:aot(//build/toolchain/nacl:clang_newlib_x64)", |
+ "//ppapi/native_client/src/untrusted/pnacl_irt_shim:aot(//build/toolchain/nacl:clang_newlib_x86)", |
+ ] |
+ } |
+ |
+ # TODO(binji): dump_syms doesn't currently build on Windows. See |
+ # http://crbug.com/245456 |
+ if (!is_win && target_cpu == "x64") { |
+ deps += [ |
+ "//breakpad:dump_syms($host_toolchain)", |
+ "//breakpad:minidump_dump($host_toolchain)", |
+ "//breakpad:minidump_stackwalk($host_toolchain)", |
+ ] |
+ } |
+ } |
+} |