summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BUILD.gn7
-rw-r--r--native_client_sdk/src/BUILD.gn65
-rw-r--r--ppapi/native_client/src/untrusted/irt_stub/BUILD.gn3
-rw-r--r--ppapi/native_client/src/untrusted/irt_stub/ppapi_plugin_main.c2
4 files changed, 74 insertions, 3 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 57087a3..8c4052f 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -720,9 +720,6 @@ group("gn_only") {
"//third_party/libjpeg_turbo:simd_asm",
]
}
- if (enable_nacl) {
- deps += [ "//native_client/src/trusted/service_runtime:sel_ldr" ]
- }
if (use_ozone) {
deps += [ "//ui/ozone/demo" ]
}
@@ -732,6 +729,10 @@ group("gn_only") {
}
}
+ if (enable_nacl) {
+ deps += [ "//native_client_sdk/src:nacl_core_sdk" ]
+ }
+
if (is_android) {
deps += [
"//build/android/gyp/test:hello_world",
diff --git a/native_client_sdk/src/BUILD.gn b/native_client_sdk/src/BUILD.gn
new file mode 100644
index 0000000..9b33bed
--- /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)",
+ ]
+ }
+ }
+}
diff --git a/ppapi/native_client/src/untrusted/irt_stub/BUILD.gn b/ppapi/native_client/src/untrusted/irt_stub/BUILD.gn
index 862e627..0ce018b 100644
--- a/ppapi/native_client/src/untrusted/irt_stub/BUILD.gn
+++ b/ppapi/native_client/src/untrusted/irt_stub/BUILD.gn
@@ -6,6 +6,8 @@ assert(is_nacl,
"These targets must only be built using the untrusted NaCl toolchains.")
static_library("ppapi_stub_lib") {
+ output_name = "ppapi_stub"
+
# This library is distributed as a part of the SDK and as such has to
# be a static library rather than a source set.
sources = [
@@ -14,6 +16,7 @@ static_library("ppapi_stub_lib") {
"ppapi_plugin_start.c",
"thread_creator.c",
]
+ configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
cflags = [ "-fPIC" ]
deps = [
"//build/config/nacl:nacl_base",
diff --git a/ppapi/native_client/src/untrusted/irt_stub/ppapi_plugin_main.c b/ppapi/native_client/src/untrusted/irt_stub/ppapi_plugin_main.c
index 3d50738..1998c5f 100644
--- a/ppapi/native_client/src/untrusted/irt_stub/ppapi_plugin_main.c
+++ b/ppapi/native_client/src/untrusted/irt_stub/ppapi_plugin_main.c
@@ -4,6 +4,8 @@
* found in the LICENSE file.
*/
+#include "ppapi/native_client/src/shared/ppapi_proxy/ppruntime.h"
+
#include "ppapi/native_client/src/untrusted/irt_stub/ppapi_start.h"
/*