2 # Copyright (c) 2012 The Native Client Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
11 'posix/nacl_syscall_impl.c'
16 'posix/nacl_syscall_impl.c'
21 'win/nacl_syscall_impl.c'
23 'msvs_cygwin_shell': 0,
28 '../../../build/common.gypi',
32 'target_base': 'none',
34 'target_conditions': [
35 ['target_base=="sel"', {
42 'nacl_bootstrap_channel_error_reporter.c',
44 'nacl_desc_effector_ldr.c',
45 'nacl_desc_postmessage.c',
47 'nacl_error_log_hook.c',
49 'nacl_kernel_service.c',
51 'nacl_reverse_host_interface.c',
52 'nacl_reverse_quota_interface.c',
53 'nacl_runtime_host_interface.c',
54 'nacl_secure_service.c',
55 'nacl_signal_common.c',
56 'nacl_stack_safety.c',
57 'nacl_syscall_common.c',
58 'nacl_syscall_hook.c',
60 'nacl_valgrind_hooks.c',
61 'name_service/default_name_service.c',
62 'name_service/name_service.c',
66 'sel_ldr_thread_interface.c',
67 # TODO(mseaborn): Move sel_main_chrome.c to the
68 # "sel_main_chrome" library once Chromium is changed to
69 # depend on that rather than on "sel".
73 'sel_validate_image.c',
79 'sys_list_mappings.c',
82 'thread_suspension_common.c',
83 'thread_suspension_unwind.c',
86 # For generated header files from the x86-64 validator,
87 # e.g. nacl_disallows.h.
88 '<(SHARED_INTERMEDIATE_DIR)',
95 'action_name': 'nacl_syscall_handler',
97 'nacl_syscall_handlers_gen.py',
101 # TODO(gregoryd): find out how to generate a file
102 # in such a location that can be found in both
103 # NaCl and Chrome builds.
104 ['python', 'nacl_syscall_handlers_gen.py',
105 '-i', '<@(syscall_handler)',
106 '-o', '<@(_outputs)'],
108 'msvs_cygwin_shell': 0,
111 '<(INTERMEDIATE_DIR)/nacl_syscall_handlers.c',
113 'process_outputs_as_sources': 1,
114 'message': 'Creating nacl_syscall_handlers.c',
120 'osx/crash_filter.c',
121 'osx/mach_exception_handler.c',
122 'osx/mach_thread_map.c',
124 'osx/nacl_thread_nice.c',
125 'osx/outer_sandbox.c',
126 'osx/thread_suspension.c',
127 'posix/addrspace_teardown.c',
128 'posix/sel_memory.c',
129 'posix/x86/sel_segments.c',
133 'action_name': 'mig_exc_generation',
135 'gen_dir': '<(INTERMEDIATE_DIR)/native_client/src/trusted/service_runtime',
139 '$(SDKROOT)/usr/include/mach/exc.defs',
142 '<(gen_dir)/nacl_exc.h',
143 '<(gen_dir)/nacl_exc_server.c',
145 'process_outputs_as_sources': 1,
147 'python', '<@(_inputs)', '<@(_outputs)',
149 'message': 'Generating mig plumbing for exc.defs',
153 '<(INTERMEDIATE_DIR)',
158 'win/addrspace_teardown.c',
159 'win/debug_exception_handler.c',
160 'win/debug_exception_handler_standalone.c',
162 'win/nacl_thread_nice.c',
164 'win/sel_segments.c',
165 'win/thread_handle_map.c',
168 # TODO(gregoryd): move arm-specific stuff into a separate gyp file.
169 ['target_arch=="arm"', {
171 'arch/arm/nacl_app.c',
172 'arch/arm/nacl_switch_to_app_arm.c',
174 'arch/arm/nacl_tls.c',
175 'arch/arm/sel_ldr_arm.c',
176 'arch/arm/sel_addrspace_arm.c',
177 'arch/arm/nacl_switch.S',
178 'arch/arm/nacl_syscall.S',
179 'arch/arm/tramp_arm.S',
180 'linux/nacl_signal_arm.c',
183 ['target_arch=="mipsel"', {
185 'arch/mips/nacl_app.c',
186 'arch/mips/nacl_switch.S',
187 'arch/mips/nacl_switch_to_app_mips.c',
188 'arch/mips/nacl_syscall.S',
189 'arch/mips/nacl_tls.c',
190 'arch/mips/sel_addrspace_mips.c',
191 'arch/mips/sel_ldr_mips.c',
192 'arch/mips/sel_rt.c',
193 'arch/mips/tramp_mips.S',
194 'linux/nacl_signal_mips.c',
199 'linux/nacl_bootstrap_args.c',
200 'linux/nacl_thread_nice.c',
202 'linux/reserved_at_zero.c',
203 'linux/thread_suspension.c',
204 'posix/addrspace_teardown.c',
205 'posix/sel_memory.c',
208 ['target_arch=="ia32" or target_arch=="x64"', {
210 'linux/x86/nacl_ldt.c',
211 'posix/x86/sel_segments.c',
214 ['target_arch=="arm"', {
216 'linux/arm/sel_segments.c',
219 ['target_arch=="mipsel"', {
221 'linux/mips/sel_segments.c',
226 ['OS=="linux" or OS=="mac" or OS=="FreeBSD"', {
228 'posix/nacl_signal_stack.c',
229 'posix/sel_addrspace_posix.c',
234 'win/nacl_signal_stack.c',
235 'win/sel_addrspace_win.c',
236 'win/thread_suspension.c',
251 'target_name': 'sel',
252 'type': 'static_library',
254 'target_base': 'sel',
259 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio',
260 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform',
261 '<(DEPTH)/native_client/src/shared/srpc/srpc.gyp:nonnacl_srpc',
262 '<(DEPTH)/native_client/src/trusted/debug_stub/debug_stub.gyp:debug_stub',
263 '<(DEPTH)/native_client/src/trusted/desc/desc.gyp:nrd_xfer',
264 '<(DEPTH)/native_client/src/trusted/desc_cacheability/desc_cacheability.gyp:desc_cacheability',
265 '<(DEPTH)/native_client/src/trusted/fault_injection/fault_injection.gyp:nacl_fault_inject',
266 '<(DEPTH)/native_client/src/trusted/gio/gio_wrapped_desc.gyp:gio_wrapped_desc',
267 '<(DEPTH)/native_client/src/trusted/interval_multiset/interval_multiset.gyp:nacl_interval',
268 '<(DEPTH)/native_client/src/trusted/perf_counter/perf_counter.gyp:nacl_perf_counter',
269 '<(DEPTH)/native_client/src/trusted/platform_qualify/platform_qualify.gyp:platform_qual_lib',
270 '<(DEPTH)/native_client/src/trusted/manifest_name_service_proxy/manifest_name_service_proxy.gyp:manifest_proxy',
271 '<(DEPTH)/native_client/src/trusted/simple_service/simple_service.gyp:simple_service',
272 '<(DEPTH)/native_client/src/trusted/threading/threading.gyp:thread_interface',
273 '<(DEPTH)/native_client/src/trusted/validator/validator.gyp:validation_cache',
274 '<(DEPTH)/native_client/src/trusted/validator/validator.gyp:validators',
277 ['target_arch=="arm"', {
279 '<(DEPTH)/native_client/src/trusted/validator_arm/validator_arm.gyp:ncvalidate_arm_v2',
282 ['target_arch=="mipsel"', {
284 '<(DEPTH)/native_client/src/trusted/validator_mips/validator_mips.gyp:ncvalidate_mips',
287 ['target_arch=="ia32" or target_arch=="x64"', {
289 'arch/x86/service_runtime_x86.gyp:service_runtime_x86_common',
292 ['target_arch == "ia32"', {
294 'arch/x86_32/service_runtime_x86_32.gyp:service_runtime_x86_32',
295 '<(DEPTH)/native_client/src/trusted/validator_x86/validator_x86.gyp:nccopy_x86_32',
298 ['target_arch == "x64"', {
300 'arch/x86_64/service_runtime_x86_64.gyp:service_runtime_x86_64',
301 '<(DEPTH)/native_client/src/trusted/validator_x86/validator_x86.gyp:nccopy_x86_64',
304 ['OS=="linux" or OS=="FreeBSD"', {
311 'target_name': 'nacl_error_code',
312 'type': 'static_library',
317 'target_name': 'env_cleanser',
318 'type': 'static_library',
323 'target_name': 'sel_main_chrome',
329 'target_name': 'sel_main',
330 'type': 'static_library',
338 'target_name': 'sel_ldr',
339 'type': 'executable',
342 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform',
343 '<(DEPTH)/native_client/src/trusted/gio/gio_wrapped_desc.gyp:gio_wrapped_desc',
346 'nacl_test_injection_main.c',
352 'linux/nacl_bootstrap.gyp:nacl_helper_bootstrap',
362 ['OS=="win" and target_arch=="ia32"', {
365 'target_name': 'sel64',
366 'type': 'static_library',
368 'target_base': 'sel',
374 '<(DEPTH)/native_client/src/shared/gio/gio.gyp:gio64',
375 '<(DEPTH)/native_client/src/shared/srpc/srpc.gyp:nonnacl_srpc64',
376 '<(DEPTH)/native_client/src/trusted/debug_stub/debug_stub.gyp:debug_stub64',
377 '<(DEPTH)/native_client/src/trusted/desc/desc.gyp:nrd_xfer64',
378 '<(DEPTH)/native_client/src/trusted/desc_cacheability/desc_cacheability.gyp:desc_cacheability64',
379 '<(DEPTH)/native_client/src/trusted/fault_injection/fault_injection.gyp:nacl_fault_inject64',
380 '<(DEPTH)/native_client/src/trusted/gio/gio_wrapped_desc.gyp:gio_wrapped_desc64',
381 '<(DEPTH)/native_client/src/trusted/interval_multiset/interval_multiset.gyp:nacl_interval64',
382 '<(DEPTH)/native_client/src/trusted/perf_counter/perf_counter.gyp:nacl_perf_counter64',
383 '<(DEPTH)/native_client/src/trusted/platform_qualify/platform_qualify.gyp:platform_qual_lib64',
384 '<(DEPTH)/native_client/src/trusted/manifest_name_service_proxy/manifest_name_service_proxy.gyp:manifest_proxy64',
385 '<(DEPTH)/native_client/src/trusted/simple_service/simple_service.gyp:simple_service64',
386 '<(DEPTH)/native_client/src/trusted/threading/threading.gyp:thread_interface64',
387 '<(DEPTH)/native_client/src/trusted/validator_x86/validator_x86.gyp:nccopy_x86_64',
388 '<(DEPTH)/native_client/src/trusted/validator/validator.gyp:validation_cache64',
389 '<(DEPTH)/native_client/src/trusted/validator/validator.gyp:validators64',
390 'arch/x86/service_runtime_x86.gyp:service_runtime_x86_common64',
391 'arch/x86_64/service_runtime_x86_64.gyp:service_runtime_x86_64',
394 'target_name': 'nacl_error_code64',
395 'type': 'static_library',
404 'target_name': 'env_cleanser64',
405 'type': 'static_library',
414 'target_name': 'sel_main_chrome64',
424 'target_name': 'sel_main64',
425 'type': 'static_library',
437 'target_name': 'sel_ldr64',
438 'type': 'executable',
444 '<(DEPTH)/native_client/src/shared/platform/platform.gyp:platform64',
445 '<(DEPTH)/native_client/src/trusted/gio/gio_wrapped_desc.gyp:gio_wrapped_desc64',
448 'nacl_test_injection_main.c',
453 ['OS=="linux" or OS=="FreeBSD"', {
456 # This has to be an independent target in order to benefit from
458 'target_name': 'nacl_signal',
459 'type': 'static_library',
461 ['target_arch=="ia32"', {
462 # nacl_signal.c needs to be compiled without the stack
464 # See https://code.google.com/p/nativeclient/issues/detail?id=3581.
467 '-fstack-protector-all',
470 '-fno-stack-protector',
475 'linux/nacl_signal.c',