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