Home | History | Annotate | Download | only in ipc
      1 # Copyright (c) 2012 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     'ipc.gypi',
     11   ],
     12   'targets': [
     13     {
     14       'target_name': 'ipc',
     15       'type': '<(component)',
     16       'variables': {
     17         'ipc_target': 1,
     18       },
     19       'dependencies': [
     20         '../base/base.gyp:base',
     21         # TODO(viettrungluu): Needed for base/lazy_instance.h, which is suspect.
     22         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
     23       ],
     24       # TODO(gregoryd): direct_dependent_settings should be shared with the
     25       # 64-bit target, but it doesn't work due to a bug in gyp
     26       'direct_dependent_settings': {
     27         'include_dirs': [
     28           '..',
     29         ],
     30       },
     31     },
     32     {
     33       'target_name': 'ipc_tests',
     34       'type': '<(gtest_target_type)',
     35       'dependencies': [
     36         'ipc',
     37         'test_support_ipc',
     38         '../base/base.gyp:base',
     39         '../base/base.gyp:base_i18n',
     40         '../base/base.gyp:test_support_base',
     41         '../testing/gtest.gyp:gtest',
     42       ],
     43       'include_dirs': [
     44         '..'
     45       ],
     46       'sources': [
     47         'file_descriptor_set_posix_unittest.cc',
     48         'ipc_channel_posix_unittest.cc',
     49         'ipc_channel_proxy_unittest.cc',
     50         'ipc_channel_unittest.cc',
     51         'ipc_fuzzing_tests.cc',
     52         'ipc_message_unittest.cc',
     53         'ipc_message_utils_unittest.cc',
     54         'ipc_send_fds_test.cc',
     55         'ipc_sync_channel_unittest.cc',
     56         'ipc_sync_message_unittest.cc',
     57         'ipc_sync_message_unittest.h',
     58         'run_all_unittests.cc',
     59         'sync_socket_unittest.cc',
     60         'unix_domain_socket_util_unittest.cc',
     61       ],
     62       'conditions': [
     63         ['OS == "win" or OS == "ios"', {
     64           'sources!': [
     65             'unix_domain_socket_util_unittest.cc',
     66           ],
     67         }],
     68         ['OS == "android"', {
     69           'dependencies': [
     70             '../testing/android/native_test.gyp:native_test_native_code',
     71           ],
     72         }],
     73         ['os_posix == 1 and OS != "mac" and OS != "android"', {
     74           'conditions': [
     75             ['use_allocator!="none"', {
     76               'dependencies': [
     77                 '../base/allocator/allocator.gyp:allocator',
     78               ],
     79             }],
     80           ],
     81         }]
     82       ],
     83     },
     84     {
     85       'target_name': 'ipc_perftests',
     86       'type': '<(gtest_target_type)',
     87       # TODO(viettrungluu): Figure out which dependencies are really needed.
     88       'dependencies': [
     89         'ipc',
     90         'test_support_ipc',
     91         '../base/base.gyp:base',
     92         '../base/base.gyp:base_i18n',
     93         '../base/base.gyp:test_support_base',
     94         '../base/base.gyp:test_support_perf',
     95         '../testing/gtest.gyp:gtest',
     96       ],
     97       'include_dirs': [
     98         '..'
     99       ],
    100       'sources': [
    101         'ipc_perftests.cc',
    102         'ipc_test_base.cc',
    103         'ipc_test_base.h',
    104       ],
    105       'conditions': [
    106         ['OS == "android"', {
    107           'dependencies': [
    108             '../testing/android/native_test.gyp:native_test_native_code',
    109           ],
    110         }],
    111         ['os_posix == 1 and OS != "mac" and OS != "android"', {
    112           'conditions': [
    113             ['use_allocator!="none"', {
    114               'dependencies': [
    115                 '../base/allocator/allocator.gyp:allocator',
    116               ],
    117             }],
    118           ],
    119         }]
    120       ],
    121     },
    122     {
    123       'target_name': 'test_support_ipc',
    124       'type': 'static_library',
    125       'dependencies': [
    126         'ipc',
    127         '../base/base.gyp:base',
    128         '../testing/gtest.gyp:gtest',
    129       ],
    130       'sources': [
    131         'ipc_multiprocess_test.cc',
    132         'ipc_multiprocess_test.h',
    133         'ipc_perftest_support.cc',
    134         'ipc_perftest_support.h',
    135         'ipc_test_base.cc',
    136         'ipc_test_base.h',
    137         'ipc_test_channel_listener.cc',
    138         'ipc_test_channel_listener.h',
    139         'ipc_test_sink.cc',
    140         'ipc_test_sink.h',
    141       ],
    142     },
    143   ],
    144   'conditions': [
    145     ['OS=="win" and target_arch=="ia32"', {
    146       'targets': [
    147         {
    148           'target_name': 'ipc_win64',
    149           'type': '<(component)',
    150           'variables': {
    151             'ipc_target': 1,
    152           },
    153           'dependencies': [
    154             '../base/base.gyp:base_win64',
    155             # TODO(viettrungluu): Needed for base/lazy_instance.h, which is
    156             # suspect.
    157             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
    158           ],
    159           # TODO(gregoryd): direct_dependent_settings should be shared with the
    160           # 32-bit target, but it doesn't work due to a bug in gyp
    161           'direct_dependent_settings': {
    162             'include_dirs': [
    163               '..',
    164             ],
    165           },
    166           'configurations': {
    167             'Common_Base': {
    168               'msvs_target_platform': 'x64',
    169             },
    170           },
    171         },
    172       ],
    173     }],
    174     ['OS == "android"', {
    175       'targets': [
    176         {
    177           'target_name': 'ipc_tests_apk',
    178           'type': 'none',
    179           'dependencies': [
    180             'ipc_tests',
    181           ],
    182           'variables': {
    183             'test_suite_name': 'ipc_tests',
    184           },
    185           'includes': [ '../build/apk_test.gypi' ],
    186         },
    187         {
    188           'target_name': 'ipc_perftests_apk',
    189           'type': 'none',
    190           'dependencies': [
    191             'ipc_perftests',
    192           ],
    193           'variables': {
    194             'test_suite_name': 'ipc_perftests',
    195           },
    196           'includes': [ '../build/apk_test.gypi' ],
    197         }],
    198     }],
    199   ],
    200 }
    201