OLD | NEW |
| (Empty) |
1 # Copyright 2013 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 { | |
6 'variables': { | |
7 'chromium_code': 1, | |
8 }, | |
9 'target_defaults': { | |
10 'variables': { | |
11 'nacl_target': 0, | |
12 }, | |
13 'target_conditions': [ | |
14 # This part is shared between the targets defined below. Only files and | |
15 # settings relevant for building the Win64 target should be added here. | |
16 ['nacl_target==1', { | |
17 'include_dirs': [ | |
18 '<(INTERMEDIATE_DIR)', | |
19 ], | |
20 'sources': [ | |
21 # .cc, .h, and .mm files under nacl that are used on all | |
22 # platforms, including both 32-bit and 64-bit Windows. | |
23 # Test files are also not included. | |
24 'nacl/loader/nacl_ipc_adapter.cc', | |
25 'nacl/loader/nacl_ipc_adapter.h', | |
26 'nacl/loader/nacl_listener.cc', | |
27 'nacl/loader/nacl_listener.h', | |
28 'nacl/loader/nacl_main.cc', | |
29 'nacl/loader/nacl_main_platform_delegate.h', | |
30 'nacl/loader/nacl_main_platform_delegate_linux.cc', | |
31 'nacl/loader/nacl_main_platform_delegate_mac.mm', | |
32 'nacl/loader/nacl_main_platform_delegate_win.cc', | |
33 'nacl/loader/nacl_trusted_listener.cc', | |
34 'nacl/loader/nacl_trusted_listener.h', | |
35 'nacl/loader/nacl_validation_db.h', | |
36 'nacl/loader/nacl_validation_query.cc', | |
37 'nacl/loader/nacl_validation_query.h', | |
38 ], | |
39 # TODO(gregoryd): consider switching NaCl to use Chrome OS defines | |
40 'conditions': [ | |
41 ['OS=="win"', { | |
42 'defines': [ | |
43 '__STDC_LIMIT_MACROS=1', | |
44 ], | |
45 'include_dirs': [ | |
46 '<(DEPTH)/third_party/wtl/include', | |
47 ], | |
48 },], | |
49 ['OS=="linux"', { | |
50 'defines': [ | |
51 '__STDC_LIMIT_MACROS=1', | |
52 ], | |
53 'sources': [ | |
54 '../components/nacl/common/nacl_paths.cc', | |
55 '../components/nacl/common/nacl_paths.h', | |
56 ], | |
57 },], | |
58 ], | |
59 }], | |
60 ], | |
61 }, | |
62 'conditions': [ | |
63 ['disable_nacl!=1', { | |
64 'targets': [ | |
65 { | |
66 # GN version: //components/nacl/loader | |
67 'target_name': 'nacl', | |
68 'type': 'static_library', | |
69 'variables': { | |
70 'nacl_target': 1, | |
71 }, | |
72 'dependencies': [ | |
73 '../base/base.gyp:base', | |
74 '../base/base.gyp:base_static', | |
75 '../crypto/crypto.gyp:crypto', | |
76 '../ipc/ipc.gyp:ipc', | |
77 '../mojo/mojo_edk.gyp:mojo_system_impl', | |
78 '../native_client/src/trusted/service_runtime/service_runtime.gyp:se
l_main_chrome', | |
79 '../ppapi/ppapi_internal.gyp:ppapi_ipc', | |
80 '../ppapi/ppapi_internal.gyp:ppapi_shared', | |
81 ], | |
82 'conditions': [ | |
83 ['disable_nacl_untrusted==0', { | |
84 'dependencies': [ | |
85 '../ppapi/native_client/native_client.gyp:nacl_irt', | |
86 '../ppapi/native_client/src/untrusted/pnacl_support_extension/pn
acl_support_extension.gyp:pnacl_support_extension', | |
87 ], | |
88 }], | |
89 ], | |
90 }, | |
91 { | |
92 # GN version: //components/nacl/browser | |
93 'target_name': 'nacl_browser', | |
94 'type': 'static_library', | |
95 'sources': [ | |
96 'nacl/browser/bad_message.cc', | |
97 'nacl/browser/bad_message.h', | |
98 'nacl/browser/nacl_broker_host_win.cc', | |
99 'nacl/browser/nacl_broker_host_win.h', | |
100 'nacl/browser/nacl_broker_service_win.cc', | |
101 'nacl/browser/nacl_broker_service_win.h', | |
102 'nacl/browser/nacl_browser.cc', | |
103 'nacl/browser/nacl_browser.h', | |
104 'nacl/browser/nacl_file_host.cc', | |
105 'nacl/browser/nacl_file_host.h', | |
106 'nacl/browser/nacl_host_message_filter.cc', | |
107 'nacl/browser/nacl_host_message_filter.h', | |
108 'nacl/browser/nacl_process_host.cc', | |
109 'nacl/browser/nacl_process_host.h', | |
110 'nacl/browser/nacl_validation_cache.cc', | |
111 'nacl/browser/nacl_validation_cache.h', | |
112 'nacl/browser/pnacl_host.cc', | |
113 'nacl/browser/pnacl_host.h', | |
114 'nacl/browser/pnacl_translation_cache.cc', | |
115 'nacl/browser/pnacl_translation_cache.h', | |
116 'nacl/common/nacl_debug_exception_handler_win.cc', | |
117 'nacl/common/nacl_debug_exception_handler_win.h', | |
118 ], | |
119 'include_dirs': [ | |
120 '..', | |
121 ], | |
122 'dependencies': [ | |
123 'nacl_common', | |
124 'nacl_switches', | |
125 'url_formatter/url_formatter.gyp:url_formatter', | |
126 '../native_client/src/trusted/service_runtime/service_runtime.gyp:se
l', | |
127 '../content/content.gyp:content_browser', | |
128 ], | |
129 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | |
130 'msvs_disabled_warnings': [4267, ], | |
131 'conditions': [ | |
132 ['OS=="linux"', { | |
133 'sources': [ | |
134 '../components/nacl/zygote/nacl_fork_delegate_linux.cc', | |
135 '../components/nacl/zygote/nacl_fork_delegate_linux.h', | |
136 ], | |
137 'dependencies': [ | |
138 # Required by nacl_fork_delegate_linux.cc. | |
139 '../sandbox/sandbox.gyp:suid_sandbox_client', | |
140 '../sandbox/sandbox.gyp:sandbox_services', | |
141 ] | |
142 }], | |
143 ], | |
144 }, | |
145 { | |
146 # GN version: //components/nacl/renderer | |
147 'target_name': 'nacl_renderer', | |
148 'type': 'static_library', | |
149 'sources': [ | |
150 'nacl/renderer/file_downloader.cc', | |
151 'nacl/renderer/file_downloader.h', | |
152 'nacl/renderer/histogram.cc', | |
153 'nacl/renderer/histogram.h', | |
154 'nacl/renderer/json_manifest.cc', | |
155 'nacl/renderer/json_manifest.h', | |
156 'nacl/renderer/manifest_downloader.cc', | |
157 'nacl/renderer/manifest_downloader.h', | |
158 'nacl/renderer/manifest_service_channel.cc', | |
159 'nacl/renderer/manifest_service_channel.h', | |
160 'nacl/renderer/nacl_helper.cc', | |
161 'nacl/renderer/nacl_helper.h', | |
162 'nacl/renderer/nexe_load_manager.cc', | |
163 'nacl/renderer/nexe_load_manager.h', | |
164 'nacl/renderer/platform_info.cc', | |
165 'nacl/renderer/platform_info.h', | |
166 'nacl/renderer/pnacl_translation_resource_host.cc', | |
167 'nacl/renderer/pnacl_translation_resource_host.h', | |
168 'nacl/renderer/ppb_nacl_private_impl.cc', | |
169 'nacl/renderer/ppb_nacl_private_impl.h', | |
170 'nacl/renderer/progress_event.cc', | |
171 'nacl/renderer/progress_event.h', | |
172 'nacl/renderer/trusted_plugin_channel.cc', | |
173 'nacl/renderer/trusted_plugin_channel.h', | |
174 ], | |
175 'include_dirs': [ | |
176 '..', | |
177 ], | |
178 'dependencies': [ | |
179 'nacl_common', | |
180 '../content/content.gyp:content_renderer', | |
181 '../components/nacl/renderer/plugin/plugin.gyp:nacl_trusted_plugin', | |
182 '../third_party/WebKit/public/blink.gyp:blink', | |
183 ], | |
184 }, | |
185 { | |
186 # GN version: //components/nacl/loader:nacl_loader_unittests | |
187 'target_name': 'nacl_loader_unittests', | |
188 'type': '<(gtest_target_type)', | |
189 'sources': [ | |
190 'nacl/loader/nacl_ipc_adapter_unittest.cc', | |
191 'nacl/loader/nacl_validation_query_unittest.cc', | |
192 'nacl/loader/run_all_unittests.cc', | |
193 ], | |
194 'dependencies': [ | |
195 'nacl', | |
196 '../base/base.gyp:test_support_base', | |
197 '../ipc/ipc.gyp:test_support_ipc', | |
198 '../testing/gtest.gyp:gtest', | |
199 ], | |
200 }, | |
201 ], | |
202 'conditions': [ | |
203 ['OS=="linux"', { | |
204 'targets': [ | |
205 { | |
206 # GN version: //components/nacl/loader:nacl_helper | |
207 'target_name': 'nacl_helper', | |
208 'type': 'executable', | |
209 'include_dirs': [ | |
210 '..', | |
211 ], | |
212 'sources': [ | |
213 'nacl/loader/nacl_helper_linux.cc', | |
214 'nacl/loader/nacl_helper_linux.h', | |
215 ], | |
216 'dependencies': [ | |
217 'nacl_linux', | |
218 ], | |
219 'cflags': ['-fPIE'], | |
220 'ldflags!': [ | |
221 # Do not pick the default ASan options from | |
222 # build/sanitizers/sanitizer_options.cc to avoid a conflict with | |
223 # those in nacl/nacl_helper_linux.cc. | |
224 '-Wl,-u_sanitizer_options_link_helper', | |
225 ], | |
226 'link_settings': { | |
227 'ldflags': ['-pie'], | |
228 }, | |
229 }, { | |
230 # GN version: //components/nacl/loader/sandbox_linux | |
231 'target_name': 'nacl_linux', | |
232 'type': 'static_library', | |
233 'include_dirs': [ | |
234 '..', | |
235 ], | |
236 'defines': [ | |
237 # Allow .cc files to know if they're being compiled as part | |
238 # of nacl_helper. | |
239 'IN_NACL_HELPER=1', | |
240 ], | |
241 'sources': [ | |
242 'nacl/loader/sandbox_linux/nacl_bpf_sandbox_linux.cc', | |
243 'nacl/loader/sandbox_linux/nacl_sandbox_linux.cc', | |
244 ], | |
245 'dependencies': [ | |
246 'nacl', | |
247 'nacl_common', | |
248 'nacl_switches', | |
249 '../crypto/crypto.gyp:crypto', | |
250 '../sandbox/sandbox.gyp:sandbox', | |
251 ], | |
252 'conditions': [ | |
253 ['use_glib == 1', { | |
254 'dependencies': [ | |
255 '../build/linux/system.gyp:glib', | |
256 ], | |
257 }], | |
258 ['use_seccomp_bpf == 0', { | |
259 'sources!': [ | |
260 '../content/common/sandbox_linux/sandbox_bpf_base_policy_lin
ux.cc', | |
261 '../content/common/sandbox_linux/sandbox_init_linux.cc', | |
262 ], | |
263 }, { | |
264 'defines': ['USE_SECCOMP_BPF'], | |
265 }], | |
266 ], | |
267 'cflags': ['-fPIE'], | |
268 }, | |
269 ], | |
270 }], | |
271 ['OS=="win" and target_arch=="ia32"', { | |
272 'targets': [ | |
273 { | |
274 'target_name': 'nacl_win64', | |
275 'type': 'static_library', | |
276 'variables': { | |
277 'nacl_target': 1, | |
278 }, | |
279 'dependencies': [ | |
280 'nacl_common_win64', | |
281 '../mojo/mojo_edk.gyp:mojo_system_impl_win64', | |
282 '../native_client/src/trusted/service_runtime/service_runtime.gy
p:sel_main_chrome64', | |
283 '../ppapi/ppapi_internal.gyp:ppapi_shared_win64', | |
284 '../ppapi/ppapi_internal.gyp:ppapi_ipc_win64', | |
285 ], | |
286 'export_dependent_settings': [ | |
287 '../ppapi/ppapi_internal.gyp:ppapi_ipc_win64', | |
288 ], | |
289 'sources': [ | |
290 '../components/nacl/broker/nacl_broker_listener.cc', | |
291 '../components/nacl/broker/nacl_broker_listener.h', | |
292 '../components/nacl/common/nacl_debug_exception_handler_win.cc', | |
293 '../components/nacl/loader/nacl_helper_win_64.cc', | |
294 '../components/nacl/loader/nacl_helper_win_64.h', | |
295 ], | |
296 'include_dirs': [ | |
297 '..', | |
298 ], | |
299 'defines': [ | |
300 '<@(nacl_win64_defines)', | |
301 'COMPILE_CONTENT_STATICALLY', | |
302 ], | |
303 'configurations': { | |
304 'Common_Base': { | |
305 'msvs_target_platform': 'x64', | |
306 }, | |
307 }, | |
308 }, | |
309 { | |
310 # GN version: //components/nacl/common:switches | |
311 'target_name': 'nacl_switches_win64', | |
312 'type': 'static_library', | |
313 'sources': [ | |
314 'nacl/common/nacl_switches.cc', | |
315 'nacl/common/nacl_switches.h', | |
316 ], | |
317 'include_dirs': [ | |
318 '..', | |
319 ], | |
320 'configurations': { | |
321 'Common_Base': { | |
322 'msvs_target_platform': 'x64', | |
323 }, | |
324 }, | |
325 }, | |
326 { | |
327 # GN version: //components/nacl/common | |
328 'target_name': 'nacl_common_win64', | |
329 'type': 'static_library', | |
330 'defines': [ | |
331 'COMPILE_CONTENT_STATICALLY', | |
332 ], | |
333 'sources': [ | |
334 'nacl/common/nacl_cmd_line.cc', | |
335 'nacl/common/nacl_cmd_line.h', | |
336 'nacl/common/nacl_constants.cc', | |
337 'nacl/common/nacl_constants.h', | |
338 'nacl/common/nacl_messages.cc', | |
339 'nacl/common/nacl_messages.h', | |
340 'nacl/common/nacl_renderer_messages.cc', | |
341 'nacl/common/nacl_renderer_messages.h', | |
342 'nacl/common/nacl_types.cc', | |
343 'nacl/common/nacl_types.h', | |
344 'nacl/common/nacl_types_param_traits.cc', | |
345 'nacl/common/nacl_types_param_traits.h', | |
346 ], | |
347 'include_dirs': [ | |
348 '..', | |
349 ], | |
350 'configurations': { | |
351 'Common_Base': { | |
352 'msvs_target_platform': 'x64', | |
353 }, | |
354 }, | |
355 }, | |
356 ], | |
357 }], | |
358 ], | |
359 }, { # else (disable_nacl==1) | |
360 'targets': [ | |
361 { | |
362 'target_name': 'nacl', | |
363 'type': 'none', | |
364 'sources': [], | |
365 }, | |
366 ], | |
367 'conditions': [ | |
368 ['OS=="win"', { | |
369 'targets': [ | |
370 { | |
371 'target_name': 'nacl_win64', | |
372 'type': 'none', | |
373 'sources': [], | |
374 }, | |
375 { | |
376 'target_name': 'nacl_switches_win64', | |
377 'type': 'none', | |
378 'sources': [], | |
379 }, | |
380 ], | |
381 }], | |
382 ], | |
383 }], | |
384 ['disable_nacl!=1 and test_isolation_mode!="noop"', { | |
385 'targets': [ | |
386 { | |
387 'target_name': 'nacl_loader_unittests_run', | |
388 'type': 'none', | |
389 'dependencies': [ | |
390 'nacl_loader_unittests', | |
391 ], | |
392 'includes': [ | |
393 '../build/isolate.gypi', | |
394 ], | |
395 'sources': [ | |
396 'nacl_loader_unittests.isolate', | |
397 ], | |
398 }, | |
399 ], | |
400 }], | |
401 ['disable_nacl==0 and disable_nacl_untrusted==0 and enable_nacl_nonsfi_test=
=1', { | |
402 'targets': [ | |
403 { | |
404 'target_name': 'nacl_helper_nonsfi_unittests', | |
405 'type': '<(gtest_target_type)', | |
406 'sources': [ | |
407 'nacl/loader/nonsfi/nacl_helper_nonsfi_unittests.cc', | |
408 ], | |
409 'dependencies': [ | |
410 '../base/base.gyp:base', | |
411 '../base/base.gyp:test_launcher_nacl_nonsfi', | |
412 'nacl_nonsfi.gyp:nacl_helper_nonsfi_unittests_main', | |
413 ], | |
414 }, | |
415 ], | |
416 }], | |
417 ], | |
418 'targets': [ | |
419 { | |
420 # GN version: //components/nacl/common:switches | |
421 'target_name': 'nacl_switches', | |
422 'type': 'static_library', | |
423 'sources': [ | |
424 'nacl/common/nacl_switches.cc', | |
425 'nacl/common/nacl_switches.h', | |
426 ], | |
427 'include_dirs': [ | |
428 '..', | |
429 ], | |
430 }, | |
431 { | |
432 # GN version: //components/nacl/common | |
433 'target_name': 'nacl_common', | |
434 'type': 'static_library', | |
435 'sources': [ | |
436 'nacl/common/nacl_cmd_line.cc', | |
437 'nacl/common/nacl_cmd_line.h', | |
438 'nacl/common/nacl_constants.cc', | |
439 'nacl/common/nacl_constants.h', | |
440 'nacl/common/nacl_host_messages.cc', | |
441 'nacl/common/nacl_host_messages.h', | |
442 'nacl/common/nacl_messages.cc', | |
443 'nacl/common/nacl_messages.h', | |
444 'nacl/common/nacl_nonsfi_util.cc', | |
445 'nacl/common/nacl_nonsfi_util.h', | |
446 'nacl/common/nacl_process_type.h', | |
447 'nacl/common/nacl_renderer_messages.cc', | |
448 'nacl/common/nacl_renderer_messages.h', | |
449 'nacl/common/nacl_sandbox_type.h', | |
450 'nacl/common/nacl_types.cc', | |
451 'nacl/common/nacl_types.h', | |
452 'nacl/common/nacl_types_param_traits.cc', | |
453 'nacl/common/nacl_types_param_traits.h', | |
454 'nacl/common/pnacl_types.cc', | |
455 'nacl/common/pnacl_types.h', | |
456 ], | |
457 'include_dirs': [ | |
458 '..', | |
459 ], | |
460 'dependencies': [ | |
461 '../content/content.gyp:content_common', | |
462 '../url/ipc/url_ipc.gyp:url_ipc', | |
463 ], | |
464 }, | |
465 ] | |
466 } | |
OLD | NEW |