Home | History | Annotate | Download | only in components
      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   'includes': [
     10     '../native_client/build/untrusted.gypi',
     11     'nacl/nacl_defines.gypi',
     12   ],
     13   'target_defaults': {
     14     'variables': {
     15       'nacl_target': 0,
     16     },
     17     'target_conditions': [
     18       # This part is shared between the targets defined below. Only files and
     19       # settings relevant for building the Win64 target should be added here.
     20       ['nacl_target==1', {
     21         'include_dirs': [
     22           '<(INTERMEDIATE_DIR)',
     23         ],
     24         'defines': [
     25           '<@(nacl_defines)',
     26         ],
     27         'sources': [
     28           # .cc, .h, and .mm files under nacl that are used on all
     29           # platforms, including both 32-bit and 64-bit Windows.
     30           # Test files are also not included.
     31           'nacl/loader/nacl_ipc_adapter.cc',
     32           'nacl/loader/nacl_ipc_adapter.h',
     33           'nacl/loader/nacl_main.cc',
     34           'nacl/loader/nacl_main_platform_delegate.h',
     35           'nacl/loader/nacl_main_platform_delegate_linux.cc',
     36           'nacl/loader/nacl_main_platform_delegate_mac.mm',
     37           'nacl/loader/nacl_main_platform_delegate_win.cc',
     38           'nacl/loader/nacl_listener.cc',
     39           'nacl/loader/nacl_listener.h',
     40           'nacl/loader/nacl_validation_db.h',
     41           'nacl/loader/nacl_validation_query.cc',
     42           'nacl/loader/nacl_validation_query.h',
     43         ],
     44         # TODO(gregoryd): consider switching NaCl to use Chrome OS defines
     45         'conditions': [
     46           ['OS=="win"', {
     47             'defines': [
     48               '__STDC_LIMIT_MACROS=1',
     49             ],
     50             'include_dirs': [
     51               '<(DEPTH)/third_party/wtl/include',
     52             ],
     53           },],
     54           ['OS=="linux"', {
     55             'defines': [
     56               '__STDC_LIMIT_MACROS=1',
     57             ],
     58             'sources': [
     59               '../components/nacl/common/nacl_paths.cc',
     60               '../components/nacl/common/nacl_paths.h',
     61               '../components/nacl/zygote/nacl_fork_delegate_linux.cc',
     62               '../components/nacl/zygote/nacl_fork_delegate_linux.h',
     63             ],
     64           },],
     65         ],
     66       }],
     67     ],
     68   },
     69   'conditions': [
     70     ['disable_nacl!=1', {
     71       'targets': [
     72         {
     73           'target_name': 'nacl',
     74           'type': 'static_library',
     75           'variables': {
     76             'nacl_target': 1,
     77           },
     78           'dependencies': [
     79             '../base/base.gyp:base',
     80             '../ipc/ipc.gyp:ipc',
     81             '../ppapi/native_client/src/trusted/plugin/plugin.gyp:ppGoogleNaClPluginChrome',
     82             '../ppapi/ppapi_internal.gyp:ppapi_shared',
     83             '../ppapi/ppapi_internal.gyp:ppapi_ipc',
     84             '../native_client/src/trusted/service_runtime/service_runtime.gyp:sel_main_chrome',
     85           ],
     86           'conditions': [
     87             ['disable_nacl_untrusted==0', {
     88               'dependencies': [
     89                 '../ppapi/native_client/native_client.gyp:nacl_irt',
     90                 '../ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:pnacl_irt_shim',
     91                 '../ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_support_extension.gyp:pnacl_support_extension',
     92               ],
     93             }],
     94           ],
     95           'direct_dependent_settings': {
     96             'defines': [
     97               '<@(nacl_defines)',
     98             ],
     99           },
    100         },
    101       ],
    102       'conditions': [
    103         ['OS=="win" and target_arch=="ia32"', {
    104           'targets': [
    105             {
    106               'target_name': 'nacl_win64',
    107               'type': 'static_library',
    108               'variables': {
    109                 'nacl_target': 1,
    110               },
    111               'dependencies': [
    112                 '../native_client/src/trusted/service_runtime/service_runtime.gyp:sel_main_chrome64',
    113                 '../ppapi/ppapi_internal.gyp:ppapi_shared_win64',
    114                 '../ppapi/ppapi_internal.gyp:ppapi_ipc_win64',
    115                 '../components/nacl_common.gyp:nacl_common_win64',
    116               ],
    117               'export_dependent_settings': [
    118                 '../ppapi/ppapi_internal.gyp:ppapi_ipc_win64',
    119               ],
    120               'sources': [
    121                 '../components/nacl/broker/nacl_broker_listener.cc',
    122                 '../components/nacl/broker/nacl_broker_listener.h',
    123                 '../components/nacl/common/nacl_debug_exception_handler_win.cc',
    124               ],
    125               'include_dirs': [
    126                 '..',
    127               ],
    128               'defines': [
    129                 '<@(nacl_win64_defines)',
    130                 'COMPILE_CONTENT_STATICALLY',
    131               ],
    132               'configurations': {
    133                 'Common_Base': {
    134                   'msvs_target_platform': 'x64',
    135                 },
    136               },
    137               'direct_dependent_settings': {
    138                 'defines': [
    139                   '<@(nacl_defines)',
    140                 ],
    141               },
    142             },
    143           ],
    144         }],
    145       ],
    146     }, {  # else (disable_nacl==1)
    147       'targets': [
    148         {
    149           'target_name': 'nacl',
    150           'type': 'none',
    151           'sources': [],
    152         },
    153       ],
    154       'conditions': [
    155         ['OS=="win"', {
    156           'targets': [
    157             {
    158               'target_name': 'nacl_win64',
    159               'type': 'none',
    160               'sources': [],
    161             },
    162           ],
    163         }],
    164       ],
    165     }],
    166   ],
    167 }
    168