OLD | NEW |
(Empty) | |
| 1 # Copyright (c) 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/ui.gni") |
| 7 import("//components/nacl/nacl_defines.gni") |
| 8 |
| 9 if (enable_nacl) { |
| 10 static_library("nacl") { |
| 11 sources = [ |
| 12 "loader/nacl_ipc_adapter.cc", |
| 13 "loader/nacl_ipc_adapter.h", |
| 14 "loader/nacl_main.cc", |
| 15 "loader/nacl_main_platform_delegate.h", |
| 16 "loader/nacl_main_platform_delegate_linux.cc", |
| 17 "loader/nacl_main_platform_delegate_mac.mm", |
| 18 "loader/nacl_main_platform_delegate_win.cc", |
| 19 "loader/nacl_listener.cc", |
| 20 "loader/nacl_listener.h", |
| 21 "loader/nacl_trusted_listener.cc", |
| 22 "loader/nacl_trusted_listener.h", |
| 23 "loader/nacl_validation_db.h", |
| 24 "loader/nacl_validation_query.cc", |
| 25 "loader/nacl_validation_query.h", |
| 26 ] |
| 27 |
| 28 defines = nacl_defines |
| 29 deps = [ |
| 30 "//base", |
| 31 "//base:base_static", |
| 32 "//ipc", |
| 33 "//ppapi:ppapi_ipc", |
| 34 "//ppapi:ppapi_shared", |
| 35 "//native_client/src/trusted/service_runtime:sel_main_chrome", |
| 36 ] |
| 37 |
| 38 include_dirs = [ "//third_party/mojo/src" ] |
| 39 |
| 40 if (enable_nacl_untrusted) { |
| 41 data_deps = [ |
| 42 # TODO(GYP): handle other cpu_arch's correctly. |
| 43 "//ppapi/native_client:nacl_irt(//native_client/build/toolchain/nacl:irt
_x64)", |
| 44 "//ppapi/native_client/src/untrusted/pnacl_support_extension", |
| 45 ] |
| 46 } |
| 47 } |
| 48 |
| 49 static_library("nacl_browser") { |
| 50 sources = [ |
| 51 "browser/nacl_broker_host_win.cc", |
| 52 "browser/nacl_broker_host_win.h", |
| 53 "browser/nacl_broker_service_win.cc", |
| 54 "browser/nacl_broker_service_win.h", |
| 55 "browser/nacl_browser.cc", |
| 56 "browser/nacl_browser.h", |
| 57 "browser/nacl_file_host.cc", |
| 58 "browser/nacl_file_host.h", |
| 59 "browser/nacl_host_message_filter.cc", |
| 60 "browser/nacl_host_message_filter.h", |
| 61 "browser/nacl_process_host.cc", |
| 62 "browser/nacl_process_host.h", |
| 63 "browser/nacl_validation_cache.cc", |
| 64 "browser/nacl_validation_cache.h", |
| 65 "browser/pnacl_host.cc", |
| 66 "browser/pnacl_host.h", |
| 67 "browser/pnacl_translation_cache.cc", |
| 68 "browser/pnacl_translation_cache.h", |
| 69 "common/nacl_debug_exception_handler_win.cc", |
| 70 "common/nacl_debug_exception_handler_win.h", |
| 71 ] |
| 72 |
| 73 defines = nacl_defines |
| 74 |
| 75 deps = [ |
| 76 ":nacl_common", |
| 77 ":nacl_switches", |
| 78 "//native_client/src/trusted/service_runtime:sel_main_chrome", |
| 79 "//content//public/browser", |
| 80 ] |
| 81 |
| 82 if (is_linux) { |
| 83 sources += [ |
| 84 "//components/nacl/zygote/nacl_fork_delegate_linux.cc", |
| 85 "//components/nacl/zygote/nacl_fork_delegate_linux.h", |
| 86 ] |
| 87 |
| 88 deps += [ "//sandbox/linux:suid_sandbox_client" ] |
| 89 } |
| 90 } |
| 91 |
| 92 static_library("nacl_renderer") { |
| 93 sources = [ |
| 94 "renderer/file_downloader.cc", |
| 95 "renderer/file_downloader.h", |
| 96 "renderer/histogram.cc", |
| 97 "renderer/histogram.h", |
| 98 "renderer/manifest_downloader.cc", |
| 99 "renderer/manifest_downloader.h", |
| 100 "renderer/manifest_service_channel.cc", |
| 101 "renderer/manifest_service_channel.h", |
| 102 "renderer/nacl_helper.cc", |
| 103 "renderer/nacl_helper.h", |
| 104 "renderer/json_manifest.cc", |
| 105 "renderer/json_manifest.h", |
| 106 "renderer/nexe_load_manager.cc", |
| 107 "renderer/nexe_load_manager.h", |
| 108 "renderer/platform_info.cc", |
| 109 "renderer/platform_info.h", |
| 110 "renderer/pnacl_translation_resource_host.cc", |
| 111 "renderer/pnacl_translation_resource_host.h", |
| 112 "renderer/ppb_nacl_private_impl.cc", |
| 113 "renderer/ppb_nacl_private_impl.h", |
| 114 "renderer/progress_event.cc", |
| 115 "renderer/progress_event.h", |
| 116 "renderer/trusted_plugin_channel.cc", |
| 117 "renderer/trusted_plugin_channel.h", |
| 118 ] |
| 119 |
| 120 defines = nacl_defines |
| 121 |
| 122 deps = [ |
| 123 ":nacl_common", |
| 124 "renderer/plugin:nacl_trusted_plugin", |
| 125 "//content/public/renderer", |
| 126 "//third_party/jsoncpp", |
| 127 "//third_party/WebKit/public:blink", |
| 128 ] |
| 129 } |
| 130 |
| 131 executable("nacl_loader_unittests") { |
| 132 testonly = true |
| 133 sources = [ |
| 134 "loader/run_all_unittests.cc", |
| 135 ] |
| 136 |
| 137 deps = [ |
| 138 ":nacl", |
| 139 "//base/test:test_support", |
| 140 "//testing/gtest", |
| 141 ] |
| 142 } |
| 143 |
| 144 if (is_linux) { |
| 145 executable("nacl_helper") { |
| 146 sources = [ |
| 147 "loader/nacl_helper_linux.cc", |
| 148 "loader/nacl_helper_linux.h", |
| 149 ] |
| 150 |
| 151 defines = nacl_defines |
| 152 |
| 153 deps = [ |
| 154 ":nacl_linux", |
| 155 "//mojo/nacl:monacl_sel", |
| 156 ] |
| 157 |
| 158 cflags = [ "-fPIE" ] |
| 159 |
| 160 ldflags = [ "-pie" ] |
| 161 } |
| 162 |
| 163 static_library("nacl_linux") { |
| 164 sources = [ |
| 165 "loader/nonsfi/abi_conversion.cc", |
| 166 "loader/nonsfi/abi_conversion.h", |
| 167 "loader/nonsfi/elf_loader.cc", |
| 168 "loader/nonsfi/elf_loader.h", |
| 169 "loader/nonsfi/irt_basic.cc", |
| 170 "loader/nonsfi/irt_clock.cc", |
| 171 "loader/nonsfi/irt_exception_handling.cc", |
| 172 "loader/nonsfi/irt_fdio.cc", |
| 173 "loader/nonsfi/irt_futex.cc", |
| 174 "loader/nonsfi/irt_icache.cc", |
| 175 "loader/nonsfi/irt_interfaces.cc", |
| 176 "loader/nonsfi/irt_interfaces.h", |
| 177 "loader/nonsfi/irt_memory.cc", |
| 178 "loader/nonsfi/irt_ppapi.cc", |
| 179 "loader/nonsfi/irt_random.cc", |
| 180 "loader/nonsfi/irt_resource_open.cc", |
| 181 "loader/nonsfi/irt_thread.cc", |
| 182 "loader/nonsfi/irt_util.h", |
| 183 "loader/nonsfi/nonsfi_listener.cc", |
| 184 "loader/nonsfi/nonsfi_listener.h", |
| 185 "loader/nonsfi/nonsfi_main.cc", |
| 186 "loader/nonsfi/nonsfi_main.h", |
| 187 "loader/nonsfi/nonsfi_sandbox.cc", |
| 188 "loader/nonsfi/nonsfi_sandbox.h", |
| 189 "loader/sandbox_linux/nacl_bpf_sandbox_linux.cc", |
| 190 "loader/sandbox_linux/nacl_sandbox_linux.cc", |
| 191 "//ppapi/nacl_irt/irt_manifest.h", |
| 192 "//ppapi/nacl_irt/manifest_service.cc", |
| 193 "//ppapi/nacl_irt/manifest_service.h", |
| 194 "//ppapi/nacl_irt/plugin_main.cc", |
| 195 "//ppapi/nacl_irt/plugin_main.h", |
| 196 "//ppapi/nacl_irt/plugin_startup.cc", |
| 197 "//ppapi/nacl_irt/plugin_startup.h", |
| 198 "//ppapi/nacl_irt/ppapi_dispatcher.cc", |
| 199 "//ppapi/nacl_irt/ppapi_dispatcher.h", |
| 200 ] |
| 201 |
| 202 defines = nacl_defines + [ "IN_NACL_HELPER=1" ] |
| 203 |
| 204 deps = [ |
| 205 ":nacl", |
| 206 ":nacl_common", |
| 207 ":nacl_switches", |
| 208 "//components/tracing", |
| 209 "//crypto", |
| 210 "//ppapi:ppapi_proxy", |
| 211 "//sandbox/linux:libc_urandom_override", |
| 212 "//sandbox", |
| 213 ] |
| 214 |
| 215 if (use_glib) { |
| 216 configs += [ "//build/config/linux:glib" ] |
| 217 } |
| 218 |
| 219 if (use_seccomp_bpf) { |
| 220 defines += [ "USE_SECCOMP_BPF" ] |
| 221 } |
| 222 } |
| 223 } |
| 224 } else { |
| 225 group("nacl") { |
| 226 } |
| 227 } |
| 228 |
| 229 static_library("nacl_switches") { |
| 230 sources = [ |
| 231 "common/nacl_switches.cc", |
| 232 "common/nacl_switches.h", |
| 233 ] |
| 234 } |
| 235 |
| 236 static_library("nacl_common") { |
| 237 sources = [ |
| 238 "common/nacl_cmd_line.cc", |
| 239 "common/nacl_cmd_line.h", |
| 240 "common/nacl_constants.cc", |
| 241 "common/nacl_constants.h", |
| 242 "common/nacl_host_messages.h", |
| 243 "common/nacl_host_messages.cc", |
| 244 "common/nacl_messages.cc", |
| 245 "common/nacl_messages.h", |
| 246 "common/nacl_nonsfi_util.cc", |
| 247 "common/nacl_nonsfi_util.h", |
| 248 "common/nacl_process_type.h", |
| 249 "common/nacl_renderer_messages.h", |
| 250 "common/nacl_renderer_messages.cc", |
| 251 "common/nacl_sandbox_type_mac.h", |
| 252 "common/nacl_types.cc", |
| 253 "common/nacl_types.h", |
| 254 "common/nacl_types_param_traits.cc", |
| 255 "common/nacl_types_param_traits.h", |
| 256 "common/pnacl_types.cc", |
| 257 "common/pnacl_types.h", |
| 258 ] |
| 259 |
| 260 defines = nacl_defines |
| 261 deps = [ |
| 262 "//content/public/common", |
| 263 ] |
| 264 |
| 265 if (is_linux) { |
| 266 sources += [ |
| 267 "common/nacl_paths.cc", |
| 268 "common/nacl_paths.h", |
| 269 ] |
| 270 |
| 271 defines += [ "__STDC_LIMIT_MACROS=1" ] |
| 272 } |
| 273 } |
OLD | NEW |