Fix flaky mac build due to missing permission_status.mojom.h.
[chromium-blink-merge.git] / jingle / jingle.gyp
blobed0439c1ed7756d68d77af561097010db56aa484
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/channel_socket_adapter_unittest.cc',
130             'glue/chrome_async_socket_unittest.cc',
131             'glue/fake_ssl_client_socket_unittest.cc',
132             'glue/jingle_glue_mock_objects.cc',
133             'glue/jingle_glue_mock_objects.h',
134             'glue/logging_unittest.cc',
135             'glue/mock_task.cc',
136             'glue/mock_task.h',
137             'glue/proxy_resolving_client_socket_unittest.cc',
138             'glue/pseudotcp_adapter_unittest.cc',
139             'glue/task_pump_unittest.cc',
140             'glue/thread_wrapper_unittest.cc',
141             'notifier/base/weak_xmpp_client_unittest.cc',
142             'notifier/base/xmpp_connection_unittest.cc',
143             'notifier/communicator/connection_settings_unittest.cc',
144             'notifier/communicator/login_settings_unittest.cc',
145             'notifier/communicator/single_login_attempt_unittest.cc',
146             'notifier/listener/non_blocking_push_client_unittest.cc',
147             'notifier/listener/notification_defines_unittest.cc',
148             'notifier/listener/push_client_unittest.cc',
149             'notifier/listener/push_notifications_send_update_task_unittest.cc',
150             'notifier/listener/push_notifications_subscribe_task_unittest.cc',
151             'notifier/listener/send_ping_task_unittest.cc',
152             'notifier/listener/xml_element_util_unittest.cc',
153             'notifier/listener/xmpp_push_client_unittest.cc',
154           ],
155           'conditions': [
156             ['OS=="android"', {
157               'sources!': [
158                 # TODO(jrg):
159                 # EXPECT_DEBUG_DEATH() uses features not enabled.
160                 # Should we -std=c++0x or -std=gnu++0x?
161                 'glue/chrome_async_socket_unittest.cc',
162                 'notifier/base/xmpp_connection_unittest.cc',
163               ],
164             }]],
165           'include_dirs': [
166             '..',
167           ],
168           'dependencies': [
169             'jingle_glue',
170             'notifier',
171             'notifier_test_util',
172             '../base/base.gyp:base',
173             '../base/base.gyp:run_all_unittests',
174             '../base/base.gyp:test_support_base',
175             '../net/net.gyp:net',
176             '../net/net.gyp:net_test_support',
177             '../testing/gmock.gyp:gmock',
178             '../testing/gtest.gyp:gtest',
179             '../third_party/libjingle/libjingle.gyp:libjingle',
180           ],
181         },
182       ],
183     }, {  # enable_webrtc!=1 and OS=="android"
184       'targets': [
185         # Stub targets as Android doesn't use libjingle when webrtc is disabled.
186         {
187           'target_name': 'jingle_glue',
188           'type': 'none',
189         },
190         {
191           'target_name': 'jingle_glue_test_util',
192           'type': 'none',
193         },
194         # GN version: //jingle:notifier
195         {
196           'target_name': 'notifier',
197           'type': 'static_library',
198           'sources': [
199             'notifier/base/gaia_constants.cc',
200             'notifier/base/gaia_constants.h',
201             'notifier/base/notification_method.h',
202             'notifier/base/notification_method.cc',
203             'notifier/base/notifier_options.cc',
204             'notifier/base/notifier_options.h',
205           ],
206           'dependencies': [
207             '../base/base.gyp:base',
208             '../net/net.gyp:net',
209           ],
210         },
211         {
212           'target_name': 'notifier_test_util',
213           'type': 'none',
214         },
215       ],
216     }],
217   ],