Upstream version 6.35.121.0
[platform/framework/web/crosswalk.git] / src / jingle / jingle.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   'includes': [
7     'jingle.gypi',
8   ],
9   'variables': {
10     'chromium_code': 1,
11   },  # variables
12   'conditions': [
13     ['enable_webrtc==1 or OS!="android"', {
14       'targets': [
15         # A library of various utils for integration with libjingle.
16         {
17           'target_name': 'jingle_glue',
18           'type': 'static_library',
19           'sources': [
20             '<@(jingle_glue_sources)',
21           ],
22           'dependencies': [
23             '../base/base.gyp:base',
24             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
25             '../net/net.gyp:net',
26             '../third_party/libjingle/libjingle.gyp:libjingle',
27           ],
28           'export_dependent_settings': [
29             '../third_party/libjingle/libjingle.gyp:libjingle',
30           ],
31         },
32         # A library for sending and receiving peer-issued notifications.
33         #
34         # TODO(akalin): Separate out the XMPP stuff from this library into
35         # its own library.
36         {
37           'target_name': 'notifier',
38           'type': 'static_library',
39           'sources': [
40             'notifier/base/const_communicator.h',
41             'notifier/base/gaia_constants.cc',
42             'notifier/base/gaia_constants.h',
43             'notifier/base/gaia_token_pre_xmpp_auth.cc',
44             'notifier/base/gaia_token_pre_xmpp_auth.h',
45             'notifier/base/notification_method.h',
46             'notifier/base/notification_method.cc',
47             'notifier/base/notifier_options.cc',
48             'notifier/base/notifier_options.h',
49             'notifier/base/notifier_options_util.cc',
50             'notifier/base/notifier_options_util.h',
51             'notifier/base/server_information.cc',
52             'notifier/base/server_information.h',
53             'notifier/base/weak_xmpp_client.cc',
54             'notifier/base/weak_xmpp_client.h',
55             'notifier/base/xmpp_connection.cc',
56             'notifier/base/xmpp_connection.h',
57             'notifier/communicator/connection_settings.cc',
58             'notifier/communicator/connection_settings.h',
59             'notifier/communicator/login.cc',
60             'notifier/communicator/login.h',
61             'notifier/communicator/login_settings.cc',
62             'notifier/communicator/login_settings.h',
63             'notifier/communicator/single_login_attempt.cc',
64             'notifier/communicator/single_login_attempt.h',
65             'notifier/listener/non_blocking_push_client.cc',
66             'notifier/listener/non_blocking_push_client.h',
67             'notifier/listener/notification_constants.cc',
68             'notifier/listener/notification_constants.h',
69             'notifier/listener/notification_defines.cc',
70             'notifier/listener/notification_defines.h',
71             'notifier/listener/push_client_observer.cc',
72             'notifier/listener/push_client_observer.h',
73             'notifier/listener/push_client.cc',
74             'notifier/listener/push_client.h',
75             'notifier/listener/push_notifications_listen_task.cc',
76             'notifier/listener/push_notifications_listen_task.h',
77             'notifier/listener/push_notifications_send_update_task.cc',
78             'notifier/listener/push_notifications_send_update_task.h',
79             'notifier/listener/push_notifications_subscribe_task.cc',
80             'notifier/listener/push_notifications_subscribe_task.h',
81             'notifier/listener/send_ping_task.cc',
82             'notifier/listener/send_ping_task.h',
83             'notifier/listener/xml_element_util.cc',
84             'notifier/listener/xml_element_util.h',
85             'notifier/listener/xmpp_push_client.cc',
86             'notifier/listener/xmpp_push_client.h',
87           ],
88           'defines' : [
89             '_CRT_SECURE_NO_WARNINGS',
90           ],
91           'dependencies': [
92             '../base/base.gyp:base',
93             '../net/net.gyp:net',
94             '../third_party/expat/expat.gyp:expat',
95             '../third_party/libjingle/libjingle.gyp:libjingle',
96             '../url/url.gyp:url_lib',
97             'jingle_glue',
98           ],
99           'export_dependent_settings': [
100             '../third_party/libjingle/libjingle.gyp:libjingle',
101           ],
102           'conditions': [
103             ['toolkit_uses_gtk == 1', {
104               'dependencies': [
105                 '../build/linux/system.gyp:gtk'
106               ],
107             }],
108           ],
109         },
110         {
111           'target_name': 'notifier_test_util',
112           'type': 'static_library',
113           'sources': [
114             'notifier/base/fake_base_task.cc',
115             'notifier/base/fake_base_task.h',
116             'notifier/listener/fake_push_client.cc',
117             'notifier/listener/fake_push_client.h',
118             'notifier/listener/fake_push_client_observer.cc',
119             'notifier/listener/fake_push_client_observer.h',
120           ],
121           'dependencies': [
122             'notifier',
123             '../base/base.gyp:base',
124             '../testing/gmock.gyp:gmock',
125           ],
126         },
127         {
128           'target_name': 'jingle_glue_test_util',
129           'type': 'static_library',
130           'sources': [
131             'glue/fake_network_manager.cc',
132             'glue/fake_network_manager.h',
133             'glue/fake_socket_factory.cc',
134             'glue/fake_socket_factory.h',
135           ],
136           'dependencies': [
137             'jingle_glue',
138             '../base/base.gyp:base',
139           ],
140         },
141         {
142           'target_name': 'jingle_unittests',
143           'type': 'executable',
144           'sources': [
145             'glue/channel_socket_adapter_unittest.cc',
146             'glue/chrome_async_socket_unittest.cc',
147             'glue/fake_ssl_client_socket_unittest.cc',
148             'glue/jingle_glue_mock_objects.cc',
149             'glue/jingle_glue_mock_objects.h',
150             'glue/logging_unittest.cc',
151             'glue/mock_task.cc',
152             'glue/mock_task.h',
153             'glue/proxy_resolving_client_socket_unittest.cc',
154             'glue/pseudotcp_adapter_unittest.cc',
155             'glue/task_pump_unittest.cc',
156             'glue/thread_wrapper_unittest.cc',
157             'notifier/base/weak_xmpp_client_unittest.cc',
158             'notifier/base/xmpp_connection_unittest.cc',
159             'notifier/communicator/connection_settings_unittest.cc',
160             'notifier/communicator/login_settings_unittest.cc',
161             'notifier/communicator/single_login_attempt_unittest.cc',
162             'notifier/listener/non_blocking_push_client_unittest.cc',
163             'notifier/listener/notification_defines_unittest.cc',
164             'notifier/listener/push_client_unittest.cc',
165             'notifier/listener/push_notifications_send_update_task_unittest.cc',
166             'notifier/listener/push_notifications_subscribe_task_unittest.cc',
167             'notifier/listener/send_ping_task_unittest.cc',
168             'notifier/listener/xml_element_util_unittest.cc',
169             'notifier/listener/xmpp_push_client_unittest.cc',
170           ],
171           'conditions': [
172             ['OS=="android"', {
173               'sources!': [
174                 # TODO(jrg):
175                 # EXPECT_DEBUG_DEATH() uses features not enabled.
176                 # Should we -std=c++0x or -std=gnu++0x?
177                 'glue/chrome_async_socket_unittest.cc',
178                 'notifier/base/xmpp_connection_unittest.cc',
179               ],
180             }]],
181           'include_dirs': [
182             '..',
183           ],
184           'dependencies': [
185             'jingle_glue',
186             'jingle_glue_test_util',
187             'notifier',
188             'notifier_test_util',
189             '../base/base.gyp:base',
190             '../base/base.gyp:run_all_unittests',
191             '../base/base.gyp:test_support_base',
192             '../net/net.gyp:net',
193             '../net/net.gyp:net_test_support',
194             '../testing/gmock.gyp:gmock',
195             '../testing/gtest.gyp:gtest',
196             '../third_party/libjingle/libjingle.gyp:libjingle',
197           ],
198         },
199       ],
200     }, {  # enable_webrtc!=1 and OS=="android"
201       'targets': [
202         # Stub targets as Android doesn't use libjingle when webrtc is disabled.
203         {
204           'target_name': 'jingle_glue',
205           'type': 'none',
206         },
207         {
208           'target_name': 'jingle_glue_test_util',
209           'type': 'none',
210         },
211         {
212           'target_name': 'notifier',
213           'type': 'static_library',
214           'sources': [
215             'notifier/base/gaia_constants.cc',
216             'notifier/base/gaia_constants.h',
217             'notifier/base/notification_method.h',
218             'notifier/base/notification_method.cc',
219             'notifier/base/notifier_options.cc',
220             'notifier/base/notifier_options.h',
221           ],
222           'dependencies': [
223             '../base/base.gyp:base',
224             '../net/net.gyp:net',
225           ],
226         },
227         {
228           'target_name': 'notifier_test_util',
229           'type': 'none',
230         },
231       ],
232     }],
233   ],
234 }