OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/nacl/config.gni") | 5 import("//build/config/nacl/config.gni") |
| 6 import("//mojo/public/tools/bindings/mojom.gni") |
6 import("//testing/test.gni") | 7 import("//testing/test.gni") |
7 import("//tools/ipc_fuzzer/ipc_fuzzer.gni") | 8 import("//tools/ipc_fuzzer/ipc_fuzzer.gni") |
8 | 9 |
9 component("ipc") { | 10 component("ipc") { |
10 sources = [ | 11 sources = [ |
11 "attachment_broker.cc", | 12 "attachment_broker.cc", |
12 "attachment_broker.h", | 13 "attachment_broker.h", |
13 "attachment_broker_messages.h", | 14 "attachment_broker_messages.h", |
14 "attachment_broker_privileged.cc", | 15 "attachment_broker_privileged.cc", |
15 "attachment_broker_privileged.h", | 16 "attachment_broker_privileged.h", |
(...skipping 15 matching lines...) Expand all Loading... |
31 "handle_attachment_win.cc", | 32 "handle_attachment_win.cc", |
32 "handle_attachment_win.h", | 33 "handle_attachment_win.h", |
33 "handle_win.cc", | 34 "handle_win.cc", |
34 "handle_win.h", | 35 "handle_win.h", |
35 "ipc_channel.cc", | 36 "ipc_channel.cc", |
36 "ipc_channel.h", | 37 "ipc_channel.h", |
37 "ipc_channel_common.cc", | 38 "ipc_channel_common.cc", |
38 "ipc_channel_factory.cc", | 39 "ipc_channel_factory.cc", |
39 "ipc_channel_factory.h", | 40 "ipc_channel_factory.h", |
40 "ipc_channel_handle.h", | 41 "ipc_channel_handle.h", |
| 42 "ipc_channel_mojo.cc", |
| 43 "ipc_channel_mojo.h", |
41 "ipc_channel_nacl.cc", | 44 "ipc_channel_nacl.cc", |
42 "ipc_channel_nacl.h", | 45 "ipc_channel_nacl.h", |
43 "ipc_channel_posix.cc", | 46 "ipc_channel_posix.cc", |
44 "ipc_channel_posix.h", | 47 "ipc_channel_posix.h", |
45 "ipc_channel_proxy.cc", | 48 "ipc_channel_proxy.cc", |
46 "ipc_channel_proxy.h", | 49 "ipc_channel_proxy.h", |
47 "ipc_channel_reader.cc", | 50 "ipc_channel_reader.cc", |
48 "ipc_channel_reader.h", | 51 "ipc_channel_reader.h", |
49 "ipc_channel_win.cc", | 52 "ipc_channel_win.cc", |
50 "ipc_channel_win.h", | 53 "ipc_channel_win.h", |
51 "ipc_descriptors.h", | 54 "ipc_descriptors.h", |
52 "ipc_endpoint.cc", | 55 "ipc_endpoint.cc", |
53 "ipc_endpoint.h", | 56 "ipc_endpoint.h", |
54 "ipc_export.h", | 57 "ipc_export.h", |
55 "ipc_handle_win.cc", | 58 "ipc_handle_win.cc", |
56 "ipc_handle_win.h", | 59 "ipc_handle_win.h", |
57 "ipc_listener.h", | 60 "ipc_listener.h", |
58 "ipc_logging.cc", | 61 "ipc_logging.cc", |
59 "ipc_logging.h", | 62 "ipc_logging.h", |
60 "ipc_message.cc", | 63 "ipc_message.cc", |
61 "ipc_message.h", | 64 "ipc_message.h", |
62 "ipc_message_attachment.cc", | 65 "ipc_message_attachment.cc", |
63 "ipc_message_attachment.h", | 66 "ipc_message_attachment.h", |
64 "ipc_message_attachment_set.cc", | 67 "ipc_message_attachment_set.cc", |
65 "ipc_message_attachment_set.h", | 68 "ipc_message_attachment_set.h", |
66 "ipc_message_generator.cc", | 69 "ipc_message_generator.cc", |
67 "ipc_message_generator.h", | 70 "ipc_message_generator.h", |
68 "ipc_message_macros.h", | 71 "ipc_message_macros.h", |
| 72 "ipc_message_pipe_reader.cc", |
| 73 "ipc_message_pipe_reader.h", |
69 "ipc_message_start.h", | 74 "ipc_message_start.h", |
70 "ipc_message_templates.h", | 75 "ipc_message_templates.h", |
71 "ipc_message_templates_impl.h", | 76 "ipc_message_templates_impl.h", |
72 "ipc_message_utils.cc", | 77 "ipc_message_utils.cc", |
73 "ipc_message_utils.h", | 78 "ipc_message_utils.h", |
| 79 "ipc_mojo_bootstrap.cc", |
| 80 "ipc_mojo_bootstrap.h", |
| 81 "ipc_mojo_handle_attachment.cc", |
| 82 "ipc_mojo_handle_attachment.h", |
| 83 "ipc_mojo_message_helper.cc", |
| 84 "ipc_mojo_message_helper.h", |
| 85 "ipc_mojo_param_traits.cc", |
| 86 "ipc_mojo_param_traits.h", |
74 "ipc_platform_file.cc", | 87 "ipc_platform_file.cc", |
75 "ipc_platform_file.h", | 88 "ipc_platform_file.h", |
76 "ipc_platform_file_attachment_posix.cc", | 89 "ipc_platform_file_attachment_posix.cc", |
77 "ipc_platform_file_attachment_posix.h", | 90 "ipc_platform_file_attachment_posix.h", |
78 "ipc_sender.h", | 91 "ipc_sender.h", |
79 "ipc_switches.cc", | 92 "ipc_switches.cc", |
80 "ipc_switches.h", | 93 "ipc_switches.h", |
81 "ipc_sync_channel.cc", | 94 "ipc_sync_channel.cc", |
82 "ipc_sync_channel.h", | 95 "ipc_sync_channel.h", |
83 "ipc_sync_message.cc", | 96 "ipc_sync_message.cc", |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 } | 133 } |
121 | 134 |
122 if (is_win || is_nacl_nonsfi) { | 135 if (is_win || is_nacl_nonsfi) { |
123 sources -= [ "unix_domain_socket_util.cc" ] | 136 sources -= [ "unix_domain_socket_util.cc" ] |
124 } | 137 } |
125 | 138 |
126 defines = [ "IPC_IMPLEMENTATION" ] | 139 defines = [ "IPC_IMPLEMENTATION" ] |
127 | 140 |
128 public_deps = [ | 141 public_deps = [ |
129 ":param_traits", | 142 ":param_traits", |
| 143 "//mojo/public/cpp/system", |
130 ] | 144 ] |
131 deps = [ | 145 deps = [ |
| 146 ":mojom", |
132 "//base", | 147 "//base", |
| 148 "//mojo/public/c/system", |
| 149 "//mojo/public/cpp/bindings", |
133 | 150 |
134 # TODO(viettrungluu): Needed for base/lazy_instance.h, which is suspect. | 151 # TODO(viettrungluu): Needed for base/lazy_instance.h, which is suspect. |
135 "//base/third_party/dynamic_annotations", | 152 "//base/third_party/dynamic_annotations", |
136 ] | 153 ] |
137 | 154 |
138 if (is_win || is_mac) { | 155 if (is_win || is_mac) { |
139 # On Windows HandleAttachmentWin needs to generate random IDs. | 156 # On Windows HandleAttachmentWin needs to generate random IDs. |
140 # On Mac MachPortAttachmentMac needs to generate random IDs. | 157 # On Mac MachPortAttachmentMac needs to generate random IDs. |
141 deps += [ "//crypto" ] | 158 deps += [ "//crypto" ] |
142 } | 159 } |
143 | 160 |
144 if (enable_ipc_fuzzer) { | 161 if (enable_ipc_fuzzer) { |
145 public_configs = [ "//tools/ipc_fuzzer:ipc_fuzzer_config" ] | 162 public_configs = [ "//tools/ipc_fuzzer:ipc_fuzzer_config" ] |
146 } | 163 } |
147 } | 164 } |
148 | 165 |
| 166 mojom("mojom") { |
| 167 sources = [ |
| 168 "ipc.mojom", |
| 169 ] |
| 170 } |
| 171 |
149 # This is provided as a separate target so other targets can provide param | 172 # This is provided as a separate target so other targets can provide param |
150 # traits implementations without necessarily linking to all of IPC. | 173 # traits implementations without necessarily linking to all of IPC. |
151 source_set("param_traits") { | 174 source_set("param_traits") { |
152 public = [ | 175 public = [ |
153 "ipc_param_traits.h", | 176 "ipc_param_traits.h", |
154 ] | 177 ] |
155 } | 178 } |
156 | 179 |
157 if (!is_ios) { | 180 if (!is_ios) { |
158 test("ipc_tests") { | 181 test("ipc_tests") { |
159 sources = [ | 182 sources = [ |
160 "attachment_broker_mac_unittest.cc", | 183 "attachment_broker_mac_unittest.cc", |
161 "attachment_broker_privileged_mac_unittest.cc", | 184 "attachment_broker_privileged_mac_unittest.cc", |
162 "attachment_broker_privileged_win_unittest.cc", | 185 "attachment_broker_privileged_win_unittest.cc", |
| 186 "ipc_channel_mojo_unittest.cc", |
163 "ipc_channel_posix_unittest.cc", | 187 "ipc_channel_posix_unittest.cc", |
164 "ipc_channel_proxy_unittest.cc", | 188 "ipc_channel_proxy_unittest.cc", |
165 "ipc_channel_reader_unittest.cc", | 189 "ipc_channel_reader_unittest.cc", |
166 "ipc_fuzzing_tests.cc", | 190 "ipc_fuzzing_tests.cc", |
167 "ipc_message_attachment_set_posix_unittest.cc", | 191 "ipc_message_attachment_set_posix_unittest.cc", |
168 "ipc_message_unittest.cc", | 192 "ipc_message_unittest.cc", |
169 "ipc_message_utils_unittest.cc", | 193 "ipc_message_utils_unittest.cc", |
| 194 "ipc_mojo_bootstrap_unittest.cc", |
170 "ipc_sync_channel_unittest.cc", | 195 "ipc_sync_channel_unittest.cc", |
171 "ipc_sync_message_unittest.cc", | 196 "ipc_sync_message_unittest.cc", |
172 "ipc_sync_message_unittest.h", | 197 "ipc_sync_message_unittest.h", |
173 "ipc_test_message_generator.cc", | 198 "ipc_test_message_generator.cc", |
174 "ipc_test_message_generator.h", | 199 "ipc_test_message_generator.h", |
175 "ipc_test_messages.h", | 200 "ipc_test_messages.h", |
176 "run_all_unittests.cc", | 201 "run_all_unittests.cc", |
177 "sync_socket_unittest.cc", | 202 "sync_socket_unittest.cc", |
178 ] | 203 ] |
179 | 204 |
180 if (!is_win && !is_ios) { | 205 if (!is_win && !is_ios) { |
181 sources += [ "unix_domain_socket_util_unittest.cc" ] | 206 sources += [ "unix_domain_socket_util_unittest.cc" ] |
182 } | 207 } |
183 | 208 |
184 if (!is_android) { | 209 if (!is_android) { |
185 sources += [ "ipc_channel_unittest.cc" ] | 210 sources += [ "ipc_channel_unittest.cc" ] |
186 } | 211 } |
187 | 212 |
188 if (!is_ios) { | 213 if (!is_ios) { |
189 sources += [ "ipc_send_fds_test.cc" ] | 214 sources += [ "ipc_send_fds_test.cc" ] |
190 } | 215 } |
191 | 216 |
192 # TODO(brettw) hook up Android testing. | 217 # TODO(brettw) hook up Android testing. |
193 #if (is_android && gtest_target_type == "shared_library") { | 218 #if (is_android && gtest_target_type == "shared_library") { |
194 # deps += "/testing/android/native_test.gyp:native_testNative_code" | 219 # deps += "/testing/android/native_test.gyp:native_testNative_code" |
195 #} | 220 #} |
196 | 221 |
197 deps = [ | 222 deps = [ |
198 ":ipc", | 223 ":ipc", |
| 224 ":mojom", |
199 ":test_support", | 225 ":test_support", |
200 "//base", | 226 "//base", |
201 "//base:i18n", | 227 "//base:i18n", |
202 "//base/test:test_support", | 228 "//base/test:test_support", |
203 "//crypto", | 229 "//crypto", |
| 230 "//mojo/edk/system", |
| 231 "//mojo/edk/test:test_support", |
204 "//testing/gtest", | 232 "//testing/gtest", |
205 ] | 233 ] |
206 | 234 |
207 if (is_mac) { | 235 if (is_mac) { |
208 deps += [ "//sandbox/mac:seatbelt" ] | 236 deps += [ "//sandbox/mac:seatbelt" ] |
209 } | 237 } |
210 } | 238 } |
211 | 239 |
212 test("ipc_perftests") { | 240 test("ipc_perftests") { |
213 sources = [ | 241 sources = [ |
| 242 "ipc_mojo_perftest.cc", |
214 "ipc_perftests.cc", | 243 "ipc_perftests.cc", |
| 244 "run_all_perftests.cc", |
215 ] | 245 ] |
216 | 246 |
217 # TODO(brettw) hook up Android testing. | 247 # TODO(brettw) hook up Android testing. |
218 #if (is_android && gtest_target_type == "shared_library") { | 248 #if (is_android && gtest_target_type == "shared_library") { |
219 # deps += "/testing/android/native_test.gyp:native_testNative_code" | 249 # deps += "/testing/android/native_test.gyp:native_testNative_code" |
220 #} | 250 #} |
221 | 251 |
222 deps = [ | 252 deps = [ |
223 ":ipc", | 253 ":ipc", |
224 ":test_support", | 254 ":test_support", |
225 "//base", | 255 "//base", |
226 "//base:i18n", | 256 "//base:i18n", |
227 "//base/test:test_support", | 257 "//base/test:test_support", |
228 "//base/test:test_support_perf", | 258 "//mojo/edk/system", |
| 259 "//mojo/edk/test:test_support", |
229 "//testing/gtest", | 260 "//testing/gtest", |
230 ] | 261 ] |
231 } | 262 } |
232 | 263 |
233 source_set("test_support") { | 264 source_set("test_support") { |
234 testonly = true | 265 testonly = true |
235 sources = [ | 266 sources = [ |
236 "ipc_multiprocess_test.cc", | 267 "ipc_multiprocess_test.cc", |
237 "ipc_multiprocess_test.h", | 268 "ipc_multiprocess_test.h", |
238 "ipc_perftest_support.cc", | 269 "ipc_perftest_support.cc", |
(...skipping 12 matching lines...) Expand all Loading... |
251 public_deps = [ | 282 public_deps = [ |
252 ":ipc", | 283 ":ipc", |
253 ] | 284 ] |
254 deps = [ | 285 deps = [ |
255 "//base", | 286 "//base", |
256 "//base/test:test_support", | 287 "//base/test:test_support", |
257 "//testing/gtest", | 288 "//testing/gtest", |
258 ] | 289 ] |
259 } | 290 } |
260 } | 291 } |
OLD | NEW |