| Index: components/nacl/BUILD.gn
|
| diff --git a/components/nacl/BUILD.gn b/components/nacl/BUILD.gn
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b64c15700416221b698f655eee9b48384e81287e
|
| --- /dev/null
|
| +++ b/components/nacl/BUILD.gn
|
| @@ -0,0 +1,268 @@
|
| +# Copyright (c) 2015 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")
|
| +import("//build/config/ui.gni")
|
| +
|
| +if (enable_nacl) {
|
| + source_set("nacl") {
|
| + sources = [
|
| + "loader/nacl_ipc_adapter.cc",
|
| + "loader/nacl_ipc_adapter.h",
|
| + "loader/nacl_main.cc",
|
| + "loader/nacl_main_platform_delegate.h",
|
| + "loader/nacl_main_platform_delegate_linux.cc",
|
| + "loader/nacl_main_platform_delegate_mac.mm",
|
| + "loader/nacl_main_platform_delegate_win.cc",
|
| + "loader/nacl_listener.cc",
|
| + "loader/nacl_listener.h",
|
| + "loader/nacl_trusted_listener.cc",
|
| + "loader/nacl_trusted_listener.h",
|
| + "loader/nacl_validation_db.h",
|
| + "loader/nacl_validation_query.cc",
|
| + "loader/nacl_validation_query.h",
|
| + ]
|
| +
|
| + deps = [
|
| + "//base",
|
| + "//base:base_static",
|
| + "//ipc",
|
| + "//mojo/nacl:monacl_sel",
|
| + "//native_client/src/trusted/service_runtime:sel_main_chrome",
|
| + "//ppapi/proxy:ipc",
|
| + "//ppapi/shared_impl",
|
| + ]
|
| +
|
| + if (enable_nacl_untrusted) {
|
| + data_deps = [
|
| + # TODO(GYP): handle other cpu_arch's correctly.
|
| + "//ppapi/native_client:nacl_irt(//native_client/build/toolchain/nacl:irt_x64)",
|
| + ]
|
| + }
|
| + if (enable_pnacl) {
|
| + data_deps += [
|
| + # TODO(GYP): handle other cpu_arch's correctly.
|
| + "//ppapi/native_client/src/untrusted/pnacl_support_extension",
|
| + ]
|
| + }
|
| + }
|
| +
|
| + source_set("nacl_browser") {
|
| + sources = [
|
| + "browser/nacl_broker_host_win.cc",
|
| + "browser/nacl_broker_host_win.h",
|
| + "browser/nacl_broker_service_win.cc",
|
| + "browser/nacl_broker_service_win.h",
|
| + "browser/nacl_browser.cc",
|
| + "browser/nacl_browser.h",
|
| + "browser/nacl_file_host.cc",
|
| + "browser/nacl_file_host.h",
|
| + "browser/nacl_host_message_filter.cc",
|
| + "browser/nacl_host_message_filter.h",
|
| + "browser/nacl_process_host.cc",
|
| + "browser/nacl_process_host.h",
|
| + "browser/nacl_validation_cache.cc",
|
| + "browser/nacl_validation_cache.h",
|
| + "browser/pnacl_host.cc",
|
| + "browser/pnacl_host.h",
|
| + "browser/pnacl_translation_cache.cc",
|
| + "browser/pnacl_translation_cache.h",
|
| + "common/nacl_debug_exception_handler_win.cc",
|
| + "common/nacl_debug_exception_handler_win.h",
|
| + ]
|
| +
|
| + deps = [
|
| + ":nacl_common",
|
| + ":nacl_switches",
|
| + "//native_client/src/trusted/service_runtime:sel_main_chrome",
|
| + "//content//public/browser",
|
| + ]
|
| +
|
| + if (is_linux) {
|
| + sources += [
|
| + "zygote/nacl_fork_delegate_linux.cc",
|
| + "zygote/nacl_fork_delegate_linux.h",
|
| + ]
|
| +
|
| + deps += [ "//sandbox/linux:suid_sandbox_client" ]
|
| + }
|
| + }
|
| +
|
| + source_set("nacl_renderer") {
|
| + sources = [
|
| + "renderer/file_downloader.cc",
|
| + "renderer/file_downloader.h",
|
| + "renderer/histogram.cc",
|
| + "renderer/histogram.h",
|
| + "renderer/manifest_downloader.cc",
|
| + "renderer/manifest_downloader.h",
|
| + "renderer/manifest_service_channel.cc",
|
| + "renderer/manifest_service_channel.h",
|
| + "renderer/nacl_helper.cc",
|
| + "renderer/nacl_helper.h",
|
| + "renderer/json_manifest.cc",
|
| + "renderer/json_manifest.h",
|
| + "renderer/nexe_load_manager.cc",
|
| + "renderer/nexe_load_manager.h",
|
| + "renderer/platform_info.cc",
|
| + "renderer/platform_info.h",
|
| + "renderer/pnacl_translation_resource_host.cc",
|
| + "renderer/pnacl_translation_resource_host.h",
|
| + "renderer/ppb_nacl_private_impl.cc",
|
| + "renderer/ppb_nacl_private_impl.h",
|
| + "renderer/progress_event.cc",
|
| + "renderer/progress_event.h",
|
| + "renderer/trusted_plugin_channel.cc",
|
| + "renderer/trusted_plugin_channel.h",
|
| + ]
|
| +
|
| + deps = [
|
| + ":nacl_common",
|
| + "renderer/plugin:nacl_trusted_plugin",
|
| + "//content/public/renderer",
|
| + "//third_party/jsoncpp",
|
| + "//third_party/WebKit/public:blink",
|
| + ]
|
| + }
|
| +
|
| + executable("nacl_loader_unittests") {
|
| + testonly = true
|
| + sources = [
|
| + "loader/run_all_unittests.cc",
|
| + ]
|
| +
|
| + deps = [
|
| + ":nacl",
|
| + "//base/test:test_support",
|
| + "//testing/gtest",
|
| + ]
|
| + }
|
| +
|
| + if (is_linux) {
|
| + executable("nacl_helper") {
|
| + sources = [
|
| + "loader/nacl_helper_linux.cc",
|
| + "loader/nacl_helper_linux.h",
|
| + ]
|
| +
|
| + deps = [
|
| + ":nacl_linux",
|
| + "//mojo/nacl:monacl_sel",
|
| + ]
|
| +
|
| + cflags = [ "-fPIE" ]
|
| +
|
| + ldflags = [ "-pie" ]
|
| + }
|
| +
|
| + source_set("nacl_linux") {
|
| + sources = [
|
| + "loader/nonsfi/abi_conversion.cc",
|
| + "loader/nonsfi/abi_conversion.h",
|
| + "loader/nonsfi/elf_loader.cc",
|
| + "loader/nonsfi/elf_loader.h",
|
| + "loader/nonsfi/irt_basic.cc",
|
| + "loader/nonsfi/irt_clock.cc",
|
| + "loader/nonsfi/irt_exception_handling.cc",
|
| + "loader/nonsfi/irt_fdio.cc",
|
| + "loader/nonsfi/irt_futex.cc",
|
| + "loader/nonsfi/irt_icache.cc",
|
| + "loader/nonsfi/irt_interfaces.cc",
|
| + "loader/nonsfi/irt_interfaces.h",
|
| + "loader/nonsfi/irt_memory.cc",
|
| + "loader/nonsfi/irt_ppapi.cc",
|
| + "loader/nonsfi/irt_random.cc",
|
| + "loader/nonsfi/irt_resource_open.cc",
|
| + "loader/nonsfi/irt_thread.cc",
|
| + "loader/nonsfi/irt_util.h",
|
| + "loader/nonsfi/nonsfi_listener.cc",
|
| + "loader/nonsfi/nonsfi_listener.h",
|
| + "loader/nonsfi/nonsfi_main.cc",
|
| + "loader/nonsfi/nonsfi_main.h",
|
| + "loader/nonsfi/nonsfi_sandbox.cc",
|
| + "loader/nonsfi/nonsfi_sandbox.h",
|
| + "loader/sandbox_linux/nacl_bpf_sandbox_linux.cc",
|
| + "loader/sandbox_linux/nacl_sandbox_linux.cc",
|
| + "//ppapi/nacl_irt/irt_manifest.h",
|
| + "//ppapi/nacl_irt/manifest_service.cc",
|
| + "//ppapi/nacl_irt/manifest_service.h",
|
| + "//ppapi/nacl_irt/plugin_main.cc",
|
| + "//ppapi/nacl_irt/plugin_main.h",
|
| + "//ppapi/nacl_irt/plugin_startup.cc",
|
| + "//ppapi/nacl_irt/plugin_startup.h",
|
| + "//ppapi/nacl_irt/ppapi_dispatcher.cc",
|
| + "//ppapi/nacl_irt/ppapi_dispatcher.h",
|
| + ]
|
| +
|
| + defines = [ "IN_NACL_HELPER=1" ]
|
| +
|
| + deps = [
|
| + ":nacl",
|
| + ":nacl_common",
|
| + ":nacl_switches",
|
| + "//components/tracing",
|
| + "//crypto",
|
| + "//ppapi/proxy",
|
| + "//sandbox/linux:libc_urandom_override",
|
| + "//sandbox",
|
| + ]
|
| +
|
| + if (use_glib) {
|
| + configs += [ "//build/config/linux:glib" ]
|
| + }
|
| +
|
| + if (use_seccomp_bpf) {
|
| + defines += [ "USE_SECCOMP_BPF" ]
|
| + }
|
| + }
|
| + }
|
| +} else {
|
| + group("nacl") {
|
| + }
|
| +}
|
| +
|
| +source_set("nacl_switches") {
|
| + sources = [
|
| + "common/nacl_switches.cc",
|
| + "common/nacl_switches.h",
|
| + ]
|
| +}
|
| +
|
| +source_set("nacl_common") {
|
| + sources = [
|
| + "common/nacl_cmd_line.cc",
|
| + "common/nacl_cmd_line.h",
|
| + "common/nacl_constants.cc",
|
| + "common/nacl_constants.h",
|
| + "common/nacl_host_messages.h",
|
| + "common/nacl_host_messages.cc",
|
| + "common/nacl_messages.cc",
|
| + "common/nacl_messages.h",
|
| + "common/nacl_nonsfi_util.cc",
|
| + "common/nacl_nonsfi_util.h",
|
| + "common/nacl_process_type.h",
|
| + "common/nacl_renderer_messages.h",
|
| + "common/nacl_renderer_messages.cc",
|
| + "common/nacl_sandbox_type_mac.h",
|
| + "common/nacl_types.cc",
|
| + "common/nacl_types.h",
|
| + "common/nacl_types_param_traits.cc",
|
| + "common/nacl_types_param_traits.h",
|
| + "common/pnacl_types.cc",
|
| + "common/pnacl_types.h",
|
| + ]
|
| +
|
| + deps = [
|
| + "//content/public/common",
|
| + ]
|
| +
|
| + if (is_linux) {
|
| + sources += [
|
| + "common/nacl_paths.cc",
|
| + "common/nacl_paths.h",
|
| + ]
|
| +
|
| + defines = [ "__STDC_LIMIT_MACROS=1" ]
|
| + }
|
| +}
|
|
|