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