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 '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 ], 227} 228