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