Removing flow to demote App Launcher to App Host, so app_host.exe can be deleted...
[chromium-blink-merge.git] / jingle / jingle.gyp
blob25f869de4d10ff46a3f1977d15d8469a969299c3
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   'variables': {
7     'chromium_code': 1,
8   },  # variables
9   'conditions': [
10     ['OS != "ios" and OS != "android"', {
11       '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',
42             '../third_party/libjingle/libjingle.gyp:libjingle_p2p',
43           ],
44           'export_dependent_settings': [
45             '../third_party/libjingle/libjingle.gyp:libjingle',
46             '../third_party/libjingle/libjingle.gyp:libjingle_p2p',
47           ],
48         },
49         # A library for sending and receiving peer-issued notifications.
50         #
51         # TODO(akalin): Separate out the XMPP stuff from this library into
52         # its own library.
53         {
54           'target_name': 'notifier',
55           'type': 'static_library',
56           'sources': [
57             'notifier/base/const_communicator.h',
58             'notifier/base/gaia_constants.cc',
59             'notifier/base/gaia_constants.h',
60             'notifier/base/gaia_token_pre_xmpp_auth.cc',
61             'notifier/base/gaia_token_pre_xmpp_auth.h',
62             'notifier/base/notification_method.h',
63             'notifier/base/notification_method.cc',
64             'notifier/base/notifier_options.cc',
65             'notifier/base/notifier_options.h',
66             'notifier/base/notifier_options_util.cc',
67             'notifier/base/notifier_options_util.h',
68             'notifier/base/server_information.cc',
69             'notifier/base/server_information.h',
70             'notifier/base/weak_xmpp_client.cc',
71             'notifier/base/weak_xmpp_client.h',
72             'notifier/base/xmpp_connection.cc',
73             'notifier/base/xmpp_connection.h',
74             'notifier/communicator/connection_settings.cc',
75             'notifier/communicator/connection_settings.h',
76             'notifier/communicator/login.cc',
77             'notifier/communicator/login.h',
78             'notifier/communicator/login_settings.cc',
79             'notifier/communicator/login_settings.h',
80             'notifier/communicator/single_login_attempt.cc',
81             'notifier/communicator/single_login_attempt.h',
82             'notifier/listener/non_blocking_push_client.cc',
83             'notifier/listener/non_blocking_push_client.h',
84             'notifier/listener/notification_constants.cc',
85             'notifier/listener/notification_constants.h',
86             'notifier/listener/notification_defines.cc',
87             'notifier/listener/notification_defines.h',
88             'notifier/listener/push_client_observer.cc',
89             'notifier/listener/push_client_observer.h',
90             'notifier/listener/push_client.cc',
91             'notifier/listener/push_client.h',
92             'notifier/listener/push_notifications_listen_task.cc',
93             'notifier/listener/push_notifications_listen_task.h',
94             'notifier/listener/push_notifications_send_update_task.cc',
95             'notifier/listener/push_notifications_send_update_task.h',
96             'notifier/listener/push_notifications_subscribe_task.cc',
97             'notifier/listener/push_notifications_subscribe_task.h',
98             'notifier/listener/send_ping_task.cc',
99             'notifier/listener/send_ping_task.h',
100             'notifier/listener/xml_element_util.cc',
101             'notifier/listener/xml_element_util.h',
102             'notifier/listener/xmpp_push_client.cc',
103             'notifier/listener/xmpp_push_client.h',
104           ],
105           'defines' : [
106             '_CRT_SECURE_NO_WARNINGS',
107             '_USE_32BIT_TIME_T',
108           ],
109           'dependencies': [
110             '../base/base.gyp:base',
111             '../build/temp_gyp/googleurl.gyp:googleurl',
112             '../net/net.gyp:net',
113             '../third_party/expat/expat.gyp:expat',
114             '../third_party/libjingle/libjingle.gyp:libjingle',
115           ],
116           'export_dependent_settings': [
117             '../third_party/libjingle/libjingle.gyp:libjingle',
118           ],
119           'conditions': [
120             ['toolkit_uses_gtk == 1', {
121               'dependencies': [
122                 '../build/linux/system.gyp:gtk'
123               ],
124             }],
125           ],
126         },
127         {
128           'target_name': 'notifier_test_util',
129           'type': 'static_library',
130           'sources': [
131             'notifier/base/fake_base_task.cc',
132             'notifier/base/fake_base_task.h',
133             'notifier/listener/fake_push_client.cc',
134             'notifier/listener/fake_push_client.h',
135             'notifier/listener/fake_push_client_observer.cc',
136             'notifier/listener/fake_push_client_observer.h',
137           ],
138           'dependencies': [
139             'notifier',
140             '../base/base.gyp:base',
141             '../testing/gmock.gyp:gmock',
142           ],
143         },
144         {
145           'target_name': 'jingle_glue_test_util',
146           'type': 'static_library',
147           'sources': [
148             'glue/fake_network_manager.cc',
149             'glue/fake_network_manager.h',
150             'glue/fake_socket_factory.cc',
151             'glue/fake_socket_factory.h',
152           ],
153           'dependencies': [
154             'jingle_glue',
155             '../base/base.gyp:base',
156           ],
157         },
158         {
159           'target_name': 'jingle_unittests',
160           'type': 'executable',
161           'sources': [
162             'glue/channel_socket_adapter_unittest.cc',
163             'glue/chrome_async_socket_unittest.cc',
164             'glue/fake_ssl_client_socket_unittest.cc',
165             'glue/jingle_glue_mock_objects.cc',
166             'glue/jingle_glue_mock_objects.h',
167             'glue/logging_unittest.cc',
168             'glue/mock_task.cc',
169             'glue/mock_task.h',
170             'glue/proxy_resolving_client_socket_unittest.cc',
171             'glue/pseudotcp_adapter_unittest.cc',
172             'glue/task_pump_unittest.cc',
173             'glue/thread_wrapper_unittest.cc',
174             'notifier/base/weak_xmpp_client_unittest.cc',
175             'notifier/base/xmpp_connection_unittest.cc',
176             'notifier/communicator/connection_settings_unittest.cc',
177             'notifier/communicator/login_settings_unittest.cc',
178             'notifier/communicator/single_login_attempt_unittest.cc',
179             'notifier/listener/non_blocking_push_client_unittest.cc',
180             'notifier/listener/notification_defines_unittest.cc',
181             'notifier/listener/push_client_unittest.cc',
182             'notifier/listener/push_notifications_send_update_task_unittest.cc',
183             'notifier/listener/push_notifications_subscribe_task_unittest.cc',
184             'notifier/listener/send_ping_task_unittest.cc',
185             'notifier/listener/xml_element_util_unittest.cc',
186             'notifier/listener/xmpp_push_client_unittest.cc',
187             'run_all_unittests.cc',
188           ],
189           'conditions': [
190             ['OS=="android"', {
191               'sources!': [
192                 # TODO(jrg):
193                 # EXPECT_DEBUG_DEATH() uses features not enabled.
194                 # Should we -std=c++0x or -std=gnu++0x?
195                 'glue/chrome_async_socket_unittest.cc',
196                 'notifier/base/xmpp_connection_unittest.cc',
197               ],
198             }]],
199           'include_dirs': [
200             '..',
201           ],
202           'dependencies': [
203             'jingle_glue',
204             'jingle_glue_test_util',
205             'notifier',
206             'notifier_test_util',
207             '../base/base.gyp:base',
208             '../base/base.gyp:test_support_base',
209             '../net/net.gyp:net',
210             '../net/net.gyp:net_test_support',
211             '../testing/gmock.gyp:gmock',
212             '../testing/gtest.gyp:gtest',
213             '../third_party/libjingle/libjingle.gyp:libjingle',
214           ],
215         },
216       ],
217     }, {  # OS == "ios" or OS == "android"
218       'targets': [
219         # Stub targets as iOS/Android don't use libjingle.
220         {
221           'target_name': 'jingle_glue',
222           'type': 'none',
223         },
224         {
225           'target_name': 'jingle_glue_test_util',
226           'type': 'none',
227         },
228         {
229           'target_name': 'notifier',
230           'type': 'static_library',
231           'sources': [
232             'notifier/base/gaia_constants.cc',
233             'notifier/base/gaia_constants.h',
234             'notifier/base/notification_method.h',
235             'notifier/base/notification_method.cc',
236             'notifier/base/notifier_options.cc',
237             'notifier/base/notifier_options.h',
238           ],
239           'dependencies': [
240             '../base/base.gyp:base',
241             '../net/net.gyp:net',
242           ],
243         },
244         {
245           'target_name': 'notifier_test_util',
246           'type': 'none',
247         },
248       ],
249     }],
250   ],