# Copyright (c) 2012 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. { 'includes': [ '../../build/common_untrusted.gypi', ], 'conditions': [ ['disable_nacl==0 and disable_nacl_untrusted==0', { 'targets': [ { 'target_name': 'ppapi_lib', 'type': 'none', 'dependencies': [ '../../native_client/src/untrusted/pthread/pthread.gyp:pthread_lib', 'src/untrusted/irt_stub/irt_stub.gyp:ppapi_stub_lib', ], 'include_dirs': [ '..', ], 'copies': [ { 'destination': '>(tc_include_dir_newlib)/nacl', 'files': [ 'src/trusted/weak_ref/call_on_main_thread.h', 'src/shared/ppapi_proxy/ppruntime.h', ], }, { 'destination': '>(tc_lib_dir_pnacl_newlib)', 'files': [ 'src/untrusted/irt_stub/libppapi.a', ], }, ], 'conditions': [ ['target_arch=="ia32" or target_arch=="x64"', { 'copies': [ { 'destination': '>(tc_include_dir_glibc)/include/nacl', 'files': [ 'src/trusted/weak_ref/call_on_main_thread.h', 'src/shared/ppapi_proxy/ppruntime.h', ], }, # Here we copy linker scripts out of the Native Client repo.. # These are source, not build artifacts. { 'destination': '>(tc_lib_dir_newlib32)', 'files': [ 'src/untrusted/irt_stub/libppapi.a', ], }, { 'destination': '>(tc_lib_dir_newlib64)', 'files': [ 'src/untrusted/irt_stub/libppapi.a', ], }, { 'destination': '>(tc_lib_dir_glibc32)', 'files': [ 'src/untrusted/irt_stub/libppapi.a', 'src/untrusted/irt_stub/libppapi.so', ], }, { 'destination': '>(tc_lib_dir_glibc64)', 'files': [ 'src/untrusted/irt_stub/libppapi.a', 'src/untrusted/irt_stub/libppapi.so', ], }, ] }], ['target_arch=="arm"', { 'copies': [ { 'destination': '>(tc_lib_dir_newlib_arm)', 'files': [ 'src/untrusted/irt_stub/libppapi.a', ], }, ] }], ['target_arch=="mipsel"', { 'copies': [ { 'destination': '>(tc_lib_dir_newlib_mips)', 'files': [ 'src/untrusted/irt_stub/libppapi.a', ], }, ] }] ], }, { 'target_name': 'nacl_irt', 'type': 'none', 'variables': { 'nexe_target': 'nacl_irt', # These out_* fields override the default filenames, which # include a "_newlib" suffix and places them in the target # directory. 'out_newlib64': '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', 'out_newlib32': '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', 'out_newlib_arm': '<(PRODUCT_DIR)/nacl_irt_arm.nexe', 'out_newlib_mips': '<(PRODUCT_DIR)/nacl_irt_mips32.nexe', 'build_glibc': 0, 'build_newlib': 0, 'build_irt': 1, 'include_dirs': [ 'lib/gl/include', '..', ], 'link_flags': [ '-Wl,--start-group', '-lirt_browser', '-lpnacl_irt_shim_for_irt', '-lppapi_proxy_nacl', '-lppapi_ipc_nacl', '-lppapi_shared_nacl', '-lgles2_implementation_nacl', '-lgles2_cmd_helper_nacl', '-lgles2_utils_nacl', '-lcommand_buffer_client_nacl', '-lcommand_buffer_common_nacl', '-ltracing_nacl', '-lgpu_ipc_nacl', '-lipc_nacl', '-lbase_nacl', '-lshared_memory_support_nacl', '-lsrpc', '-limc_syscalls', '-lplatform', '-lgio', '-Wl,--end-group', '-lm', ], 'extra_args': [ '--strip-all', ], 'conditions': [ # untrusted.gypi and build_nexe.py currently build # both x86-32 and x86-64 whenever target_arch is some # flavor of x86. However, on non-windows platforms # we only need one architecture. ['OS!="win" and target_arch=="ia32"', { 'enable_x86_64': 0 } ], ['target_arch=="x64"', { 'enable_x86_32': 0 } ], ['target_arch=="ia32" or target_arch=="x64"', { 'extra_deps_newlib64': [ '>(tc_lib_dir_irt64)/libppapi_proxy_nacl.a', '>(tc_lib_dir_irt64)/libppapi_ipc_nacl.a', '>(tc_lib_dir_irt64)/libppapi_shared_nacl.a', '>(tc_lib_dir_irt64)/libgles2_implementation_nacl.a', '>(tc_lib_dir_irt64)/libcommand_buffer_client_nacl.a', '>(tc_lib_dir_irt64)/libcommand_buffer_common_nacl.a', '>(tc_lib_dir_irt64)/libgpu_ipc_nacl.a', '>(tc_lib_dir_irt64)/libtracing_nacl.a', '>(tc_lib_dir_irt64)/libgles2_cmd_helper_nacl.a', '>(tc_lib_dir_irt64)/libgles2_utils_nacl.a', '>(tc_lib_dir_irt64)/libipc_nacl.a', '>(tc_lib_dir_irt64)/libbase_nacl.a', '>(tc_lib_dir_irt64)/libirt_browser.a', '>(tc_lib_dir_irt64)/libpnacl_irt_shim_for_irt.a', '>(tc_lib_dir_irt64)/libshared_memory_support_nacl.a', '>(tc_lib_dir_irt64)/libsrpc.a', '>(tc_lib_dir_irt64)/libplatform.a', '>(tc_lib_dir_irt64)/libimc_syscalls.a', '>(tc_lib_dir_irt64)/libgio.a', ], 'extra_deps_newlib32': [ '>(tc_lib_dir_irt32)/libppapi_proxy_nacl.a', '>(tc_lib_dir_irt32)/libppapi_ipc_nacl.a', '>(tc_lib_dir_irt32)/libppapi_shared_nacl.a', '>(tc_lib_dir_irt32)/libgles2_implementation_nacl.a', '>(tc_lib_dir_irt32)/libcommand_buffer_client_nacl.a', '>(tc_lib_dir_irt32)/libcommand_buffer_common_nacl.a', '>(tc_lib_dir_irt32)/libgpu_ipc_nacl.a', '>(tc_lib_dir_irt32)/libtracing_nacl.a', '>(tc_lib_dir_irt32)/libgles2_cmd_helper_nacl.a', '>(tc_lib_dir_irt32)/libgles2_utils_nacl.a', '>(tc_lib_dir_irt32)/libipc_nacl.a', '>(tc_lib_dir_irt32)/libbase_nacl.a', '>(tc_lib_dir_irt32)/libirt_browser.a', '>(tc_lib_dir_irt32)/libpnacl_irt_shim_for_irt.a', '>(tc_lib_dir_irt32)/libshared_memory_support_nacl.a', '>(tc_lib_dir_irt32)/libsrpc.a', '>(tc_lib_dir_irt32)/libplatform.a', '>(tc_lib_dir_irt32)/libimc_syscalls.a', '>(tc_lib_dir_irt32)/libgio.a', ], }], ['target_arch=="arm"', { 'extra_deps_arm': [ '>(tc_lib_dir_irt_arm)/libppapi_proxy_nacl.a', '>(tc_lib_dir_irt_arm)/libppapi_ipc_nacl.a', '>(tc_lib_dir_irt_arm)/libppapi_shared_nacl.a', '>(tc_lib_dir_irt_arm)/libgles2_implementation_nacl.a', '>(tc_lib_dir_irt_arm)/libcommand_buffer_client_nacl.a', '>(tc_lib_dir_irt_arm)/libcommand_buffer_common_nacl.a', '>(tc_lib_dir_irt_arm)/libgpu_ipc_nacl.a', '>(tc_lib_dir_irt_arm)/libtracing_nacl.a', '>(tc_lib_dir_irt_arm)/libgles2_cmd_helper_nacl.a', '>(tc_lib_dir_irt_arm)/libgles2_utils_nacl.a', '>(tc_lib_dir_irt_arm)/libipc_nacl.a', '>(tc_lib_dir_irt_arm)/libbase_nacl.a', '>(tc_lib_dir_irt_arm)/libirt_browser.a', '>(tc_lib_dir_irt_arm)/libpnacl_irt_shim_for_irt.a', '>(tc_lib_dir_irt_arm)/libshared_memory_support_nacl.a', '>(tc_lib_dir_irt_arm)/libsrpc.a', '>(tc_lib_dir_irt_arm)/libplatform.a', '>(tc_lib_dir_irt_arm)/libimc_syscalls.a', '>(tc_lib_dir_irt_arm)/libgio.a', ], }], ['target_arch=="mipsel"', { 'extra_deps_mips': [ '>(tc_lib_dir_irt_mips)/libppapi_proxy_nacl.a', '>(tc_lib_dir_irt_mips)/libppapi_ipc_nacl.a', '>(tc_lib_dir_irt_mips)/libppapi_shared_nacl.a', '>(tc_lib_dir_irt_mips)/libgles2_implementation_nacl.a', '>(tc_lib_dir_irt_mips)/libcommand_buffer_client_nacl.a', '>(tc_lib_dir_irt_mips)/libcommand_buffer_common_nacl.a', '>(tc_lib_dir_irt_mips)/libgpu_ipc_nacl.a', '>(tc_lib_dir_irt_mips)/libtracing_nacl.a', '>(tc_lib_dir_irt_mips)/libgles2_cmd_helper_nacl.a', '>(tc_lib_dir_irt_mips)/libgles2_utils_nacl.a', '>(tc_lib_dir_irt_mips)/libipc_nacl.a', '>(tc_lib_dir_irt_mips)/libbase_nacl.a', '>(tc_lib_dir_irt_mips)/libirt_browser.a', '>(tc_lib_dir_irt_mips)/libpnacl_irt_shim_for_irt.a', '>(tc_lib_dir_irt_mips)/libshared_memory_support_nacl.a', '>(tc_lib_dir_irt_mips)/libsrpc.a', '>(tc_lib_dir_irt_mips)/libplatform.a', '>(tc_lib_dir_irt_mips)/libimc_syscalls.a', '>(tc_lib_dir_irt_mips)/libgio.a', ], }], ], }, 'dependencies': [ 'src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:shim_for_irt', '../ppapi_proxy_nacl.gyp:ppapi_proxy_nacl', '../ppapi_ipc_nacl.gyp:ppapi_ipc_nacl', '../ppapi_shared_nacl.gyp:ppapi_shared_nacl', '../../gpu/command_buffer/command_buffer_nacl.gyp:gles2_utils_nacl', '../../gpu/gpu_nacl.gyp:command_buffer_client_nacl', '../../gpu/gpu_nacl.gyp:command_buffer_common_nacl', '../../gpu/gpu_nacl.gyp:gles2_implementation_nacl', '../../gpu/gpu_nacl.gyp:gles2_cmd_helper_nacl', '../../gpu/gpu_nacl.gyp:gpu_ipc_nacl', '../../components/tracing_nacl.gyp:tracing_nacl', '../../ipc/ipc_nacl.gyp:ipc_nacl', '../../base/base_nacl.gyp:base_nacl', '../../media/media_nacl.gyp:shared_memory_support_nacl', '../../native_client/src/untrusted/irt/irt.gyp:irt_browser_lib', '../../native_client/src/shared/srpc/srpc.gyp:srpc_lib', '../../native_client/src/shared/platform/platform.gyp:platform_lib', '../../native_client/src/tools/tls_edit/tls_edit.gyp:tls_edit#host', '../../native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib', '../../native_client/src/shared/gio/gio.gyp:gio_lib', ], }, ], }], ], }