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         'ipc_test_base.cc',
     59         'ipc_test_base.h',
     60         'run_all_unittests.cc',
     61         'sync_socket_unittest.cc',
     62         'unix_domain_socket_util_unittest.cc',
     63       ],
     64       'conditions': [
     65         ['OS == "win" or OS == "ios"', {
     66           'sources!': [
     67             'unix_domain_socket_util_unittest.cc',
     68           ],
     69         }],
     70         ['OS == "android"', {
     71           'dependencies': [
     72             '../testing/android/native_test.gyp:native_test_native_code',
     73           ],
     74         }],
     75         ['os_posix == 1 and OS != "mac" and OS != "android"', {
     76           'conditions': [
     77             ['use_allocator!="none"', {
     78               'dependencies': [
     79                 '../base/allocator/allocator.gyp:allocator',
     80               ],
     81             }],
     82           ],
     83         }]
     84       ],
     85     },
     86     {
     87       'target_name': 'ipc_perftests',
     88       'type': '<(gtest_target_type)',
     89       # TODO(viettrungluu): Figure out which dependencies are really needed.
     90       'dependencies': [
     91         'ipc',
     92         'test_support_ipc',
     93         '../base/base.gyp:base',
     94         '../base/base.gyp:base_i18n',
     95         '../base/base.gyp:test_support_base',
     96         '../base/base.gyp:test_support_perf',
     97         '../testing/gtest.gyp:gtest',
     98       ],
     99       'include_dirs': [
    100         '..'
    101       ],
    102       'sources': [
    103         'ipc_perftests.cc',
    104         'ipc_test_base.cc',
    105         'ipc_test_base.h',
    106       ],
    107       'conditions': [
    108         ['OS == "android"', {
    109           'dependencies': [
    110             '../testing/android/native_test.gyp:native_test_native_code',
    111           ],
    112         }],
    113         ['os_posix == 1 and OS != "mac" and OS != "android"', {
    114           'conditions': [
    115             ['use_allocator!="none"', {
    116               'dependencies': [
    117                 '../base/allocator/allocator.gyp:allocator',
    118               ],
    119             }],
    120           ],
    121         }]
    122       ],
    123     },
    124     {
    125       'target_name': 'test_support_ipc',
    126       'type': 'static_library',
    127       'dependencies': [
    128         'ipc',
    129         '../base/base.gyp:base',
    130         '../testing/gtest.gyp:gtest',
    131       ],
    132       'sources': [
    133         'ipc_multiprocess_test.cc',
    134         'ipc_multiprocess_test.h',
    135         'ipc_test_sink.cc',
    136         'ipc_test_sink.h',
    137       ],
    138     },
    139   ],
    140   'conditions': [
    141     ['OS=="win" and target_arch=="ia32"', {
    142       'targets': [
    143         {
    144           'target_name': 'ipc_win64',
    145           'type': '<(component)',
    146           'variables': {
    147             'ipc_target': 1,
    148           },
    149           'dependencies': [
    150             '../base/base.gyp:base_win64',
    151             # TODO(viettrungluu): Needed for base/lazy_instance.h, which is
    152             # suspect.
    153             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
    154           ],
    155           # TODO(gregoryd): direct_dependent_settings should be shared with the
    156           # 32-bit target, but it doesn't work due to a bug in gyp
    157           'direct_dependent_settings': {
    158             'include_dirs': [
    159               '..',
    160             ],
    161           },
    162           'configurations': {
    163             'Common_Base': {
    164               'msvs_target_platform': 'x64',
    165             },
    166           },
    167         },
    168       ],
    169     }],
    170     ['OS == "android"', {
    171       'targets': [
    172         {
    173           'target_name': 'ipc_tests_apk',
    174           'type': 'none',
    175           'dependencies': [
    176             'ipc_tests',
    177           ],
    178           'variables': {
    179             'test_suite_name': 'ipc_tests',
    180           },
    181           'includes': [ '../build/apk_test.gypi' ],
    182         },
    183         {
    184           'target_name': 'ipc_perftests_apk',
    185           'type': 'none',
    186           'dependencies': [
    187             'ipc_perftests',
    188           ],
    189           'variables': {
    190             'test_suite_name': 'ipc_perftests',
    191           },
    192           'includes': [ '../build/apk_test.gypi' ],
    193         }],
    194     }],
    195   ],
    196 }
    197