Port Android relocation packer to chromium build
[chromium-blink-merge.git] / ipc / ipc.gyp
blob1a28fc26c9a3d24a7cd2e41c04782e46fcdd39cb
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         'ipc_channel_posix_unittest.cc',
48         'ipc_channel_proxy_unittest.cc',
49         'ipc_channel_unittest.cc',
50         'ipc_fuzzing_tests.cc',
51         'ipc_message_attachment_set_posix_unittest.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_security_test_util.cc',
136         'ipc_security_test_util.h',
137         'ipc_test_base.cc',
138         'ipc_test_base.h',
139         'ipc_test_channel_listener.cc',
140         'ipc_test_channel_listener.h',
141         'ipc_test_sink.cc',
142         'ipc_test_sink.h',
143       ],
144     },
145   ],
146   'conditions': [
147     ['OS=="win" and target_arch=="ia32"', {
148       'targets': [
149         {
150           'target_name': 'ipc_win64',
151           'type': '<(component)',
152           'variables': {
153             'ipc_target': 1,
154           },
155           'dependencies': [
156             '../base/base.gyp:base_win64',
157             # TODO(viettrungluu): Needed for base/lazy_instance.h, which is
158             # suspect.
159             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
160           ],
161           # TODO(gregoryd): direct_dependent_settings should be shared with the
162           # 32-bit target, but it doesn't work due to a bug in gyp
163           'direct_dependent_settings': {
164             'include_dirs': [
165               '..',
166             ],
167           },
168           'configurations': {
169             'Common_Base': {
170               'msvs_target_platform': 'x64',
171             },
172           },
173         },
174       ],
175     }],
176     ['OS == "android"', {
177       'targets': [
178         {
179           'target_name': 'ipc_tests_apk',
180           'type': 'none',
181           'dependencies': [
182             'ipc_tests',
183           ],
184           'variables': {
185             'test_suite_name': 'ipc_tests',
186           },
187           'includes': [ '../build/apk_test.gypi' ],
188         },
189         {
190           'target_name': 'ipc_perftests_apk',
191           'type': 'none',
192           'dependencies': [
193             'ipc_perftests',
194           ],
195           'variables': {
196             'test_suite_name': 'ipc_perftests',
197           },
198           'includes': [ '../build/apk_test.gypi' ],
199         }],
200     }],
201   ],