1 # Copyright 2014 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 import("//build/config/features.gni") 6 7 if (enable_webrtc || !is_android) { 8 jingle_includes = exec_script("//build/gypi_to_gn.py", 9 [ rebase_path("jingle.gypi") ], 10 "scope", 11 [ "jingle.gypi" ]) 12 13 # GYP version: jingle/jingle.gyp:jingle_glue 14 static_library("jingle_glue") { 15 sources = jingle_includes.jingle_glue_sources 16 public_deps = [ 17 "//third_party/libjingle", 18 ] 19 deps = [ 20 "//base", 21 "//base/third_party/dynamic_annotations", 22 "//net", 23 ] 24 } 25 26 # A library for sending and receiving peer-issued notifications. 27 # GYP version: jingle/jingle.gyp:notifier 28 static_library("notifier") { 29 sources = [ 30 "notifier/base/const_communicator.h", 31 "notifier/base/gaia_constants.cc", 32 "notifier/base/gaia_constants.h", 33 "notifier/base/gaia_token_pre_xmpp_auth.cc", 34 "notifier/base/gaia_token_pre_xmpp_auth.h", 35 "notifier/base/notification_method.h", 36 "notifier/base/notification_method.cc", 37 "notifier/base/notifier_options.cc", 38 "notifier/base/notifier_options.h", 39 "notifier/base/notifier_options_util.cc", 40 "notifier/base/notifier_options_util.h", 41 "notifier/base/server_information.cc", 42 "notifier/base/server_information.h", 43 "notifier/base/weak_xmpp_client.cc", 44 "notifier/base/weak_xmpp_client.h", 45 "notifier/base/xmpp_connection.cc", 46 "notifier/base/xmpp_connection.h", 47 "notifier/communicator/connection_settings.cc", 48 "notifier/communicator/connection_settings.h", 49 "notifier/communicator/login.cc", 50 "notifier/communicator/login.h", 51 "notifier/communicator/login_settings.cc", 52 "notifier/communicator/login_settings.h", 53 "notifier/communicator/single_login_attempt.cc", 54 "notifier/communicator/single_login_attempt.h", 55 "notifier/listener/non_blocking_push_client.cc", 56 "notifier/listener/non_blocking_push_client.h", 57 "notifier/listener/notification_constants.cc", 58 "notifier/listener/notification_constants.h", 59 "notifier/listener/notification_defines.cc", 60 "notifier/listener/notification_defines.h", 61 "notifier/listener/push_client_observer.cc", 62 "notifier/listener/push_client_observer.h", 63 "notifier/listener/push_client.cc", 64 "notifier/listener/push_client.h", 65 "notifier/listener/push_notifications_listen_task.cc", 66 "notifier/listener/push_notifications_listen_task.h", 67 "notifier/listener/push_notifications_send_update_task.cc", 68 "notifier/listener/push_notifications_send_update_task.h", 69 "notifier/listener/push_notifications_subscribe_task.cc", 70 "notifier/listener/push_notifications_subscribe_task.h", 71 "notifier/listener/send_ping_task.cc", 72 "notifier/listener/send_ping_task.h", 73 "notifier/listener/xml_element_util.cc", 74 "notifier/listener/xml_element_util.h", 75 "notifier/listener/xmpp_push_client.cc", 76 "notifier/listener/xmpp_push_client.h", 77 ] 78 defines = [ 79 "_CRT_SECURE_NO_WARNINGS", 80 ] 81 82 public_deps = [ 83 "//third_party/libjingle", 84 ] 85 deps = [ 86 "//base", 87 "//net", 88 "//third_party/expat", 89 "//url", 90 ":jingle_glue", 91 ] 92 } 93 94 # GYP version: jingle/jingle.gyp:notifier_test_util 95 static_library("notifier_test_util") { 96 testonly = true 97 sources = [ 98 "notifier/base/fake_base_task.cc", 99 "notifier/base/fake_base_task.h", 100 "notifier/listener/fake_push_client.cc", 101 "notifier/listener/fake_push_client.h", 102 "notifier/listener/fake_push_client_observer.cc", 103 "notifier/listener/fake_push_client_observer.h", 104 ] 105 deps = [ 106 ":notifier", 107 "//base", 108 "//testing/gmock", 109 ] 110 } 111 112 # GYP version: jingle/jingle.gyp:jingle_unittests 113 # TODO(GYP): Convert to executable when its dependencies are linkable. 114 source_set("jingle_unittests") { 115 testonly = true 116 sources = [ 117 "glue/channel_socket_adapter_unittest.cc", 118 "glue/chrome_async_socket_unittest.cc", 119 "glue/fake_ssl_client_socket_unittest.cc", 120 "glue/jingle_glue_mock_objects.cc", 121 "glue/jingle_glue_mock_objects.h", 122 "glue/logging_unittest.cc", 123 "glue/mock_task.cc", 124 "glue/mock_task.h", 125 "glue/proxy_resolving_client_socket_unittest.cc", 126 "glue/pseudotcp_adapter_unittest.cc", 127 "glue/task_pump_unittest.cc", 128 "glue/thread_wrapper_unittest.cc", 129 "notifier/base/weak_xmpp_client_unittest.cc", 130 "notifier/base/xmpp_connection_unittest.cc", 131 "notifier/communicator/connection_settings_unittest.cc", 132 "notifier/communicator/login_settings_unittest.cc", 133 "notifier/communicator/single_login_attempt_unittest.cc", 134 "notifier/listener/non_blocking_push_client_unittest.cc", 135 "notifier/listener/notification_defines_unittest.cc", 136 "notifier/listener/push_client_unittest.cc", 137 "notifier/listener/push_notifications_send_update_task_unittest.cc", 138 "notifier/listener/push_notifications_subscribe_task_unittest.cc", 139 "notifier/listener/send_ping_task_unittest.cc", 140 "notifier/listener/xml_element_util_unittest.cc", 141 "notifier/listener/xmpp_push_client_unittest.cc", 142 ] 143 144 if (is_android) { 145 sources -= [ 146 # TODO(jrg): 147 # EXPECT_DEBUG_DEATH() uses features not enabled. 148 # Should we -std=c++0x or -std=gnu++0x? 149 "glue/chrome_async_socket_unittest.cc", 150 "notifier/base/xmpp_connection_unittest.cc", 151 ] 152 } 153 154 public_deps = [ 155 "//third_party/libjingle", 156 ] 157 deps = [ 158 ":jingle_glue", 159 ":notifier", 160 ":notifier_test_util", 161 "//base", 162 "//base/test:run_all_unittests", 163 "//base/test:test_support", 164 "//net", 165 "//net:test_support", 166 "//testing/gmock", 167 "//testing/gtest", 168 ] 169 } 170 } else { 171 # !enable_webrtc and is_android 172 # Stub targets as Android doesn't use libjingle when webrtc is disabled. 173 source_set("jingle_glue") { } 174 175 source_set("jingle_glue_test_util") { } 176 177 # GYP version: jingle/jingle.gyp:notifier 178 static_library("notifier") { 179 sources = [ 180 "notifier/base/gaia_constants.cc", 181 "notifier/base/gaia_constants.h", 182 "notifier/base/notification_method.h", 183 "notifier/base/notification_method.cc", 184 "notifier/base/notifier_options.cc", 185 "notifier/base/notifier_options.h", 186 ] 187 deps = [ 188 "//base", 189 "//net" 190 ] 191 } 192 193 source_set("notifier_test_util") { } 194 } 195