diff options
-rw-r--r-- | BUILD.gn | 7 | ||||
-rw-r--r-- | native_client_sdk/src/BUILD.gn | 65 | ||||
-rw-r--r-- | ppapi/native_client/src/untrusted/irt_stub/BUILD.gn | 3 | ||||
-rw-r--r-- | ppapi/native_client/src/untrusted/irt_stub/ppapi_plugin_main.c | 2 |
4 files changed, 74 insertions, 3 deletions
@@ -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" /* |