1d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch# Copyright (c) 2012 The Chromium Authors. All rights reserved.
2d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch# Use of this source code is governed by a BSD-style license that can be
3d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch# found in the LICENSE file.
4d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
5d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochcomponent("ipc") {
6d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  sources = [
7d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "file_descriptor_set_posix.cc",
8d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "file_descriptor_set_posix.h",
9d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel.cc",
10d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel.h",
11d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_factory.cc",
12d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_factory.h",
13d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_handle.h",
14d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_nacl.cc",
15d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_nacl.h",
16d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_posix.cc",
17d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_posix.h",
18d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_proxy.cc",
19d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_proxy.h",
20d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_reader.cc",
21d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_reader.h",
22d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_win.cc",
23d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_win.h",
24d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_descriptors.h",
25d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_export.h",
26d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_forwarding_message_filter.cc",
27d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_forwarding_message_filter.h",
28d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_listener.h",
29d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_logging.cc",
30d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_logging.h",
31d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_message.cc",
32d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_message.h",
33d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_message_macros.h",
34d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_message_start.h",
35d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_message_utils.cc",
36d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_message_utils.h",
37d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_param_traits.h",
38d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_platform_file.cc",
39d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_platform_file.h",
40d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sender.h",
41d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_switches.cc",
42d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_switches.h",
43d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sync_channel.cc",
44d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sync_channel.h",
45d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sync_message.cc",
46d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sync_message.h",
47d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sync_message_filter.cc",
48d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sync_message_filter.h",
49d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "param_traits_log_macros.h",
50d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "param_traits_macros.h",
51d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "param_traits_read_macros.h",
52d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "param_traits_write_macros.h",
53d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "struct_constructor_macros.h",
54d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "struct_destructor_macros.h",
55d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "unix_domain_socket_util.cc",
56d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "unix_domain_socket_util.h",
57d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  ]
58d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
59d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #if (!is_untrusted_nacl) {
60d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    sources -= [
61d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch      "ipc_channel_nacl.cc",
62d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch      "ipc_channel_nacl.h",
63d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    ]
64d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
65d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  if (is_win || is_ios) {
66d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    sources -= [
67d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch      "ipc_channel_factory.cc",
68d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch      "unix_domain_socket_util.cc",
69d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    ]
70d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  }
71d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
72d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  defines = [ "IPC_IMPLEMENTATION" ]
73d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
74d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  deps = [
75d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base",
76d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    # TODO(viettrungluu): Needed for base/lazy_instance.h, which is suspect.
77d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base/third_party/dynamic_annotations",
78d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  ]
79d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch}
80d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
81d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochtest("ipc_tests") {
82d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  sources = [
83d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "file_descriptor_set_posix_unittest.cc",
84d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_posix_unittest.cc",
85d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_channel_unittest.cc",
86d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_fuzzing_tests.cc",
87d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_message_unittest.cc",
88d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_message_utils_unittest.cc",
89d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_send_fds_test.cc",
90d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sync_channel_unittest.cc",
91d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sync_message_unittest.cc",
92d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_sync_message_unittest.h",
93d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_test_base.cc",
94d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_test_base.h",
95d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "sync_socket_unittest.cc",
96d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "unix_domain_socket_util_unittest.cc",
97d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  ]
98d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
99d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #if (toolkit_uses_gtk) {
100d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #  deps += "/build/linux/system:gtk"
101d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #}
102d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  if (is_win || is_ios) {
103d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    sources -= "unix_domain_socket_util_unittest.cc"
104d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  }
105d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #if (is_android && gtest_target_type == "shared_library") {
106d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #  deps += "/testing/android/native_test.gyp:native_testNative_code"
107d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #}
108d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #if (is_posix && !is_mac && !is_android) {
109d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #  if (linux_use_tcmalloc) {
110d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #    deps += "/base/allocator"
111d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #  }
112d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #}
113d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
114d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  deps = [
115d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    ":ipc",
116d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    ":test_support_ipc",
117d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base",
118d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base:base_i18n",
119d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base:run_all_unittests",
120d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base:test_support_base",
121d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//testing:gtest",
122d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  ]
123d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch}
124d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
125d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochtest("ipc_perftests") {
126d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  sources = [
127d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_perftests.cc",
128d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_test_base.cc",
129d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_test_base.h",
130d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  ]
131d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
132d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #if (toolkit_uses_gtk) {
133d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #  deps += "/build/linux/system:gtk"
134d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #}
135d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #if (is_android && gtest_target_type == "shared_library") {
136d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #  deps += "/testing/android/native_test.gyp:native_testNative_code"
137d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #}
138d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #if (is_posix && !is_mac && !is_android) {
139d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #  if (linux_use_tcmalloc) {
140d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #    deps += "/base/allocator"
141d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #  }
142d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  #}
143d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
144d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  deps = [
145d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    ":ipc",
146d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    ":test_support_ipc",
147d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base",
148d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base:base_i18n",
149d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base:test_support_base",
150d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base:test_support_perf",
151d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//testing:gtest",
152d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  ]
153d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch}
154d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
155d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochstatic_library("test_support_ipc") {
156d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  sources = [
157d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_multiprocess_test.cc",
158d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_multiprocess_test.h",
159d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_test_sink.cc",
160d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "ipc_test_sink.h",
161d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  ]
162d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  deps = [
163d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    ":ipc",
164d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//base",
165d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch    "//testing:gtest",
166d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch  ]
167d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch}
168d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch
169