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