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