Add details (where missing) for histograms and remove a few that are not worth provid...
[chromium-blink-merge.git] / ipc / ipc.gyp
blobc5a8c0bf39bbe26e399f0ade859a6e2234ade2ee
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.
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" and gtest_target_type == "shared_library"', {
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" and gtest_target_type == "shared_library"', {
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     # Special target to wrap a gtest_target_type==shared_library
171     # ipc_tests into an android apk for execution.
172     # See base.gyp for TODO(jrg)s about this strategy.
173     ['OS == "android" and gtest_target_type == "shared_library"', {
174       'targets': [
175         {
176           'target_name': 'ipc_tests_apk',
177           'type': 'none',
178           'dependencies': [
179             'ipc_tests',
180           ],
181           'variables': {
182             'test_suite_name': 'ipc_tests',
183           },
184           'includes': [ '../build/apk_test.gypi' ],
185         },
186         {
187           'target_name': 'ipc_perftests_apk',
188           'type': 'none',
189           'dependencies': [
190             'ipc_perftests',
191           ],
192           'variables': {
193             'test_suite_name': 'ipc_perftests',
194           },
195           'includes': [ '../build/apk_test.gypi' ],
196         }],
197     }],
198   ],