Add depfile support to android build scripts
[chromium-blink-merge.git] / jingle / jingle.gyp
blobbb635a2069e6e65ae73d9a63a4a4682af4688cdb
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         {
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         },
103         {
104           'target_name': 'notifier_test_util',
105           'type': 'static_library',
106           'sources': [
107             'notifier/base/fake_base_task.cc',
108             'notifier/base/fake_base_task.h',
109             'notifier/listener/fake_push_client.cc',
110             'notifier/listener/fake_push_client.h',
111             'notifier/listener/fake_push_client_observer.cc',
112             'notifier/listener/fake_push_client_observer.h',
113           ],
114           'dependencies': [
115             'notifier',
116             '../base/base.gyp:base',
117             '../testing/gmock.gyp:gmock',
118           ],
119         },
120         {
121           'target_name': 'jingle_glue_test_util',
122           'type': 'static_library',
123           'sources': [
124             'glue/fake_network_manager.cc',
125             'glue/fake_network_manager.h',
126             'glue/fake_socket_factory.cc',
127             'glue/fake_socket_factory.h',
128           ],
129           'dependencies': [
130             '../base/base.gyp:base',
131             'jingle_glue',
132           ],
133         },
134         {
135           'target_name': 'jingle_unittests',
136           'type': 'executable',
137           'sources': [
138             'glue/channel_socket_adapter_unittest.cc',
139             'glue/chrome_async_socket_unittest.cc',
140             'glue/fake_ssl_client_socket_unittest.cc',
141             'glue/jingle_glue_mock_objects.cc',
142             'glue/jingle_glue_mock_objects.h',
143             'glue/logging_unittest.cc',
144             'glue/mock_task.cc',
145             'glue/mock_task.h',
146             'glue/proxy_resolving_client_socket_unittest.cc',
147             'glue/pseudotcp_adapter_unittest.cc',
148             'glue/task_pump_unittest.cc',
149             'glue/thread_wrapper_unittest.cc',
150             'notifier/base/weak_xmpp_client_unittest.cc',
151             'notifier/base/xmpp_connection_unittest.cc',
152             'notifier/communicator/connection_settings_unittest.cc',
153             'notifier/communicator/login_settings_unittest.cc',
154             'notifier/communicator/single_login_attempt_unittest.cc',
155             'notifier/listener/non_blocking_push_client_unittest.cc',
156             'notifier/listener/notification_defines_unittest.cc',
157             'notifier/listener/push_client_unittest.cc',
158             'notifier/listener/push_notifications_send_update_task_unittest.cc',
159             'notifier/listener/push_notifications_subscribe_task_unittest.cc',
160             'notifier/listener/send_ping_task_unittest.cc',
161             'notifier/listener/xml_element_util_unittest.cc',
162             'notifier/listener/xmpp_push_client_unittest.cc',
163           ],
164           'conditions': [
165             ['OS=="android"', {
166               'sources!': [
167                 # TODO(jrg):
168                 # EXPECT_DEBUG_DEATH() uses features not enabled.
169                 # Should we -std=c++0x or -std=gnu++0x?
170                 'glue/chrome_async_socket_unittest.cc',
171                 'notifier/base/xmpp_connection_unittest.cc',
172               ],
173             }]],
174           'include_dirs': [
175             '..',
176           ],
177           'dependencies': [
178             'jingle_glue',
179             'jingle_glue_test_util',
180             'notifier',
181             'notifier_test_util',
182             '../base/base.gyp:base',
183             '../base/base.gyp:run_all_unittests',
184             '../base/base.gyp:test_support_base',
185             '../net/net.gyp:net',
186             '../net/net.gyp:net_test_support',
187             '../testing/gmock.gyp:gmock',
188             '../testing/gtest.gyp:gtest',
189             '../third_party/libjingle/libjingle.gyp:libjingle',
190           ],
191         },
192       ],
193     }, {  # enable_webrtc!=1 and OS=="android"
194       'targets': [
195         # Stub targets as Android doesn't use libjingle when webrtc is disabled.
196         {
197           'target_name': 'jingle_glue',
198           'type': 'none',
199         },
200         {
201           'target_name': 'jingle_glue_test_util',
202           'type': 'none',
203         },
204         {
205           'target_name': 'notifier',
206           'type': 'static_library',
207           'sources': [
208             'notifier/base/gaia_constants.cc',
209             'notifier/base/gaia_constants.h',
210             'notifier/base/notification_method.h',
211             'notifier/base/notification_method.cc',
212             'notifier/base/notifier_options.cc',
213             'notifier/base/notifier_options.h',
214           ],
215           'dependencies': [
216             '../base/base.gyp:base',
217             '../net/net.gyp:net',
218           ],
219         },
220         {
221           'target_name': 'notifier_test_util',
222           'type': 'none',
223         },
224       ],
225     }],
226   ],