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. 4 5 { 6 'variables': { 7 'chromium_code': 1, 8 }, # variables 9 'conditions': [ 10 ['enable_webrtc==1 or 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 ], 43 'export_dependent_settings': [ 44 '../third_party/libjingle/libjingle.gyp:libjingle', 45 ], 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', 105 ], 106 'dependencies': [ 107 '../base/base.gyp:base', 108 '../net/net.gyp:net', 109 '../third_party/expat/expat.gyp:expat', 110 '../third_party/libjingle/libjingle.gyp:libjingle', 111 '../url/url.gyp:url_lib', 112 'jingle_glue', 113 ], 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', 185 ], 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', 205 '../base/base.gyp:run_all_unittests', 206 '../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 ], 215 }, { # enable_webrtc!=1 and OS=="android" 216 'targets': [ 217 # Stub targets as Android doesn't use libjingle when webrtc is disabled. 218 { 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 } 250