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