# 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': [
              '..',
            ],
            'link_flags': [
              '-Wl,--start-group',
              '-lirt_browser',
              '-llatency_info_nacl',
              '-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: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',
          ],
        },
      ],
    }],
  ],
}
