OLD | NEW |
| (Empty) |
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 'ipc_interfaces', | |
21 '../base/base.gyp:base', | |
22 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
23 '../mojo/mojo_public.gyp:mojo_cpp_system', | |
24 ], | |
25 # TODO(gregoryd): direct_dependent_settings should be shared with the | |
26 # 64-bit target, but it doesn't work due to a bug in gyp | |
27 'direct_dependent_settings': { | |
28 'include_dirs': [ | |
29 '..', | |
30 ], | |
31 }, | |
32 'conditions': [ | |
33 ['OS == "win" or OS == "mac"', { | |
34 'dependencies': [ | |
35 '../crypto/crypto.gyp:crypto', | |
36 ], | |
37 }], | |
38 ], | |
39 }, | |
40 { | |
41 'target_name': 'ipc_interfaces_mojom', | |
42 'type': 'none', | |
43 'variables': { | |
44 'require_interface_bindings': 0, | |
45 'mojom_files': [ | |
46 'ipc.mojom', | |
47 ], | |
48 }, | |
49 'includes': [ '../mojo/mojom_bindings_generator_explicit.gypi' ], | |
50 }, | |
51 { | |
52 'target_name': 'ipc_interfaces', | |
53 'type': 'static_library', | |
54 'dependencies': [ | |
55 'ipc_interfaces_mojom', | |
56 '../base/base.gyp:base', | |
57 '../mojo/mojo_public.gyp:mojo_interface_bindings_generation', | |
58 ], | |
59 'include_dirs': [ | |
60 '..', | |
61 ], | |
62 }, | |
63 { | |
64 'target_name': 'ipc_test_interfaces', | |
65 'type': 'static_library', | |
66 'sources': [ | |
67 'ipc_test.mojom', | |
68 ], | |
69 'includes': [ '../mojo/mojom_bindings_generator.gypi' ], | |
70 }, | |
71 { | |
72 'target_name': 'ipc_run_all_unittests', | |
73 'type': 'static_library', | |
74 'dependencies': [ | |
75 '../base/base.gyp:base', | |
76 '../base/base.gyp:test_support_base', | |
77 '../mojo/mojo_edk.gyp:mojo_common_test_support', | |
78 '../mojo/mojo_edk.gyp:mojo_system_impl', | |
79 '../testing/gtest.gyp:gtest', | |
80 ], | |
81 'include_dirs': [ | |
82 '..', | |
83 ], | |
84 'sources': [ | |
85 'run_all_unittests.cc', | |
86 ], | |
87 }, | |
88 { | |
89 'target_name': 'ipc_tests', | |
90 'type': '<(gtest_target_type)', | |
91 'dependencies': [ | |
92 'ipc', | |
93 'ipc_run_all_unittests', | |
94 'ipc_test_interfaces', | |
95 'test_support_ipc', | |
96 '../base/base.gyp:base', | |
97 '../base/base.gyp:base_i18n', | |
98 '../base/base.gyp:test_support_base', | |
99 '../crypto/crypto.gyp:crypto', | |
100 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
101 '../mojo/mojo_public.gyp:mojo_cpp_system', | |
102 '../testing/gtest.gyp:gtest', | |
103 ], | |
104 'include_dirs': [ | |
105 '..' | |
106 ], | |
107 'sources': [ | |
108 'attachment_broker_mac_unittest.cc', | |
109 'attachment_broker_privileged_mac_unittest.cc', | |
110 'attachment_broker_privileged_win_unittest.cc', | |
111 'ipc_channel_mojo_unittest.cc', | |
112 'ipc_channel_posix_unittest.cc', | |
113 'ipc_channel_proxy_unittest.cc', | |
114 'ipc_channel_reader_unittest.cc', | |
115 'ipc_channel_unittest.cc', | |
116 'ipc_fuzzing_tests.cc', | |
117 'ipc_message_attachment_set_posix_unittest.cc', | |
118 'ipc_message_unittest.cc', | |
119 'ipc_message_utils_unittest.cc', | |
120 'ipc_mojo_bootstrap_unittest.cc', | |
121 'ipc_send_fds_test.cc', | |
122 'ipc_sync_channel_unittest.cc', | |
123 'ipc_sync_message_unittest.cc', | |
124 'ipc_sync_message_unittest.h', | |
125 'ipc_test_messages.h', | |
126 'ipc_test_message_generator.cc', | |
127 'ipc_test_message_generator.h', | |
128 'sync_socket_unittest.cc', | |
129 'unix_domain_socket_util_unittest.cc', | |
130 ], | |
131 'conditions': [ | |
132 ['OS == "win" or OS == "ios"', { | |
133 'sources!': [ | |
134 'unix_domain_socket_util_unittest.cc', | |
135 ], | |
136 }], | |
137 ['OS == "android"', { | |
138 'sources!': [ | |
139 # These multiprocess tests don't work on Android. | |
140 'ipc_channel_unittest.cc', | |
141 ], | |
142 'dependencies': [ | |
143 '../testing/android/native_test.gyp:native_test_native_code', | |
144 ], | |
145 }], | |
146 ['OS == "mac"', { | |
147 'dependencies': [ | |
148 '../sandbox/sandbox.gyp:seatbelt', | |
149 ], | |
150 }], | |
151 ], | |
152 }, | |
153 { | |
154 'target_name': 'ipc_perftests', | |
155 'type': '<(gtest_target_type)', | |
156 # TODO(viettrungluu): Figure out which dependencies are really needed. | |
157 'dependencies': [ | |
158 'ipc', | |
159 'test_support_ipc', | |
160 '../base/base.gyp:base', | |
161 '../base/base.gyp:base_i18n', | |
162 '../base/base.gyp:test_support_base', | |
163 '../mojo/mojo_edk.gyp:mojo_common_test_support', | |
164 '../mojo/mojo_edk.gyp:mojo_system_impl', | |
165 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
166 '../testing/gtest.gyp:gtest', | |
167 ], | |
168 'include_dirs': [ | |
169 '..' | |
170 ], | |
171 'sources': [ | |
172 'ipc_mojo_perftest.cc', | |
173 'ipc_perftests.cc', | |
174 'ipc_test_base.cc', | |
175 'ipc_test_base.h', | |
176 'run_all_perftests.cc', | |
177 ], | |
178 'conditions': [ | |
179 ['OS == "android"', { | |
180 'dependencies': [ | |
181 '../testing/android/native_test.gyp:native_test_native_code', | |
182 ], | |
183 }], | |
184 ], | |
185 }, | |
186 { | |
187 'target_name': 'test_support_ipc', | |
188 'type': 'static_library', | |
189 'dependencies': [ | |
190 'ipc', | |
191 '../base/base.gyp:base', | |
192 '../testing/gtest.gyp:gtest', | |
193 ], | |
194 'sources': [ | |
195 'ipc_multiprocess_test.cc', | |
196 'ipc_multiprocess_test.h', | |
197 'ipc_perftest_support.cc', | |
198 'ipc_perftest_support.h', | |
199 'ipc_security_test_util.cc', | |
200 'ipc_security_test_util.h', | |
201 'ipc_test_base.cc', | |
202 'ipc_test_base.h', | |
203 'ipc_test_channel_listener.cc', | |
204 'ipc_test_channel_listener.h', | |
205 'ipc_test_sink.cc', | |
206 'ipc_test_sink.h', | |
207 'test_util_mac.cc', | |
208 'test_util_mac.h', | |
209 ], | |
210 }, | |
211 ], | |
212 'conditions': [ | |
213 ['OS=="win" and target_arch=="ia32"', { | |
214 'targets': [ | |
215 { | |
216 'target_name': 'ipc_interfaces_win64', | |
217 'type': 'static_library', | |
218 'dependencies': [ | |
219 'ipc_interfaces_mojom', | |
220 '../base/base.gyp:base_win64', | |
221 '../mojo/mojo_public.gyp:mojo_interface_bindings_generation', | |
222 ], | |
223 'include_dirs': [ | |
224 '..', | |
225 ], | |
226 'configurations': { | |
227 'Common_Base': { | |
228 'msvs_target_platform': 'x64', | |
229 }, | |
230 }, | |
231 }, | |
232 { | |
233 'target_name': 'ipc_win64', | |
234 'type': '<(component)', | |
235 'variables': { | |
236 'ipc_target': 1, | |
237 }, | |
238 'dependencies': [ | |
239 'ipc_interfaces_win64', | |
240 '../base/base.gyp:base_win64', | |
241 '../crypto/crypto.gyp:crypto_nacl_win64', | |
242 '../mojo/mojo_public.gyp:mojo_cpp_bindings_win64', | |
243 '../mojo/mojo_public.gyp:mojo_cpp_system_win64', | |
244 ], | |
245 # TODO(gregoryd): direct_dependent_settings should be shared with the | |
246 # 32-bit target, but it doesn't work due to a bug in gyp | |
247 'direct_dependent_settings': { | |
248 'include_dirs': [ | |
249 '..', | |
250 ], | |
251 }, | |
252 'configurations': { | |
253 'Common_Base': { | |
254 'msvs_target_platform': 'x64', | |
255 }, | |
256 }, | |
257 }, | |
258 ], | |
259 }], | |
260 ['OS == "android"', { | |
261 'targets': [ | |
262 { | |
263 'target_name': 'ipc_tests_apk', | |
264 'type': 'none', | |
265 'dependencies': [ | |
266 'ipc_tests', | |
267 ], | |
268 'variables': { | |
269 'test_suite_name': 'ipc_tests', | |
270 }, | |
271 'includes': [ '../build/apk_test.gypi' ], | |
272 }, | |
273 { | |
274 'target_name': 'ipc_perftests_apk', | |
275 'type': 'none', | |
276 'dependencies': [ | |
277 'ipc_perftests', | |
278 ], | |
279 'variables': { | |
280 'test_suite_name': 'ipc_perftests', | |
281 }, | |
282 'includes': [ '../build/apk_test.gypi' ], | |
283 } | |
284 ], | |
285 'conditions': [ | |
286 ['test_isolation_mode != "noop"', { | |
287 'targets': [ | |
288 { | |
289 'target_name': 'ipc_tests_apk_run', | |
290 'type': 'none', | |
291 'dependencies': [ | |
292 'ipc_tests_apk', | |
293 ], | |
294 'includes': [ | |
295 '../build/isolate.gypi', | |
296 ], | |
297 'sources': [ | |
298 'ipc_tests_apk.isolate', | |
299 ], | |
300 }, | |
301 ], | |
302 }], | |
303 ], | |
304 }], | |
305 ['test_isolation_mode != "noop" and OS != "android"', { | |
306 'targets': [ | |
307 { | |
308 'target_name': 'ipc_tests_run', | |
309 'type': 'none', | |
310 'dependencies': [ | |
311 'ipc_tests', | |
312 ], | |
313 'includes': [ | |
314 '../build/isolate.gypi', | |
315 ], | |
316 'sources': [ | |
317 'ipc_tests.isolate', | |
318 ], | |
319 }, | |
320 ], | |
321 }], | |
322 ], | |
323 } | |
OLD | NEW |