# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/features.gni") import("//media/media_options.gni") import("//testing/test.gni") if (enable_webrtc || !is_android) { static_library("jingle_glue") { sources = [ "glue/chrome_async_socket.cc", "glue/chrome_async_socket.h", "glue/fake_ssl_client_socket.cc", "glue/fake_ssl_client_socket.h", "glue/proxy_resolving_client_socket.cc", "glue/proxy_resolving_client_socket.h", "glue/resolving_client_socket_factory.h", "glue/task_pump.cc", "glue/task_pump.h", "glue/thread_wrapper.cc", "glue/thread_wrapper.h", "glue/utils.cc", "glue/utils.h", "glue/xmpp_client_socket_factory.cc", "glue/xmpp_client_socket_factory.h", ] public_deps = [ "//third_party/webrtc_overrides", ] deps = [ "//base", "//base/third_party/dynamic_annotations", "//net", ] configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] if (is_nacl) { sources -= [ "glue/chrome_async_socket.cc", "glue/proxy_resolving_client_socket.cc", "glue/xmpp_client_socket_factory.cc", ] } } # A library for sending and receiving peer-issued notifications. static_library("notifier") { sources = [ "notifier/base/const_communicator.h", "notifier/base/gaia_constants.cc", "notifier/base/gaia_constants.h", "notifier/base/gaia_token_pre_xmpp_auth.cc", "notifier/base/gaia_token_pre_xmpp_auth.h", "notifier/base/notification_method.cc", "notifier/base/notification_method.h", "notifier/base/notifier_options.cc", "notifier/base/notifier_options.h", "notifier/base/notifier_options_util.cc", "notifier/base/notifier_options_util.h", "notifier/base/server_information.cc", "notifier/base/server_information.h", "notifier/base/weak_xmpp_client.cc", "notifier/base/weak_xmpp_client.h", "notifier/base/xmpp_connection.cc", "notifier/base/xmpp_connection.h", "notifier/communicator/connection_settings.cc", "notifier/communicator/connection_settings.h", "notifier/communicator/login.cc", "notifier/communicator/login.h", "notifier/communicator/login_settings.cc", "notifier/communicator/login_settings.h", "notifier/communicator/single_login_attempt.cc", "notifier/communicator/single_login_attempt.h", "notifier/listener/non_blocking_push_client.cc", "notifier/listener/non_blocking_push_client.h", "notifier/listener/notification_constants.cc", "notifier/listener/notification_constants.h", "notifier/listener/notification_defines.cc", "notifier/listener/notification_defines.h", "notifier/listener/push_client.cc", "notifier/listener/push_client.h", "notifier/listener/push_client_observer.cc", "notifier/listener/push_client_observer.h", "notifier/listener/push_notifications_listen_task.cc", "notifier/listener/push_notifications_listen_task.h", "notifier/listener/push_notifications_send_update_task.cc", "notifier/listener/push_notifications_send_update_task.h", "notifier/listener/push_notifications_subscribe_task.cc", "notifier/listener/push_notifications_subscribe_task.h", "notifier/listener/send_ping_task.cc", "notifier/listener/send_ping_task.h", "notifier/listener/xml_element_util.cc", "notifier/listener/xml_element_util.h", "notifier/listener/xmpp_push_client.cc", "notifier/listener/xmpp_push_client.h", ] defines = [ "_CRT_SECURE_NO_WARNINGS" ] public_deps = [ "//third_party/libjingle_xmpp", "//third_party/webrtc_overrides", ] deps = [ ":jingle_glue", "//base", "//net", "//third_party/expat", "//url", ] } static_library("notifier_test_util") { testonly = true sources = [ "notifier/base/fake_base_task.cc", "notifier/base/fake_base_task.h", "notifier/listener/fake_push_client.cc", "notifier/listener/fake_push_client.h", "notifier/listener/fake_push_client_observer.cc", "notifier/listener/fake_push_client_observer.h", ] public_deps = [ ":jingle_glue", ":notifier", ] deps = [ "//base", "//testing/gmock", ] } test("jingle_unittests") { sources = [ "glue/chrome_async_socket_unittest.cc", "glue/fake_ssl_client_socket_unittest.cc", "glue/jingle_glue_mock_objects.cc", "glue/jingle_glue_mock_objects.h", "glue/logging_unittest.cc", "glue/mock_task.cc", "glue/mock_task.h", "glue/proxy_resolving_client_socket_unittest.cc", "glue/task_pump_unittest.cc", "glue/thread_wrapper_unittest.cc", "notifier/base/weak_xmpp_client_unittest.cc", "notifier/base/xmpp_connection_unittest.cc", "notifier/communicator/connection_settings_unittest.cc", "notifier/communicator/login_settings_unittest.cc", "notifier/communicator/single_login_attempt_unittest.cc", "notifier/listener/non_blocking_push_client_unittest.cc", "notifier/listener/notification_defines_unittest.cc", "notifier/listener/push_client_unittest.cc", "notifier/listener/push_notifications_send_update_task_unittest.cc", "notifier/listener/push_notifications_subscribe_task_unittest.cc", "notifier/listener/send_ping_task_unittest.cc", "notifier/listener/xml_element_util_unittest.cc", "notifier/listener/xmpp_push_client_unittest.cc", ] if (is_android || is_ios) { sources -= [ # TODO(jrg): # EXPECT_DEBUG_DEATH() uses features not enabled. # Should we -std=c++0x or -std=gnu++0x? "glue/chrome_async_socket_unittest.cc", "notifier/base/xmpp_connection_unittest.cc", ] } configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] public_deps = [ "//third_party/libjingle_xmpp", "//third_party/webrtc_overrides", ] deps = [ ":jingle_glue", ":notifier", ":notifier_test_util", "//base", "//base/test:run_all_unittests", "//base/test:test_support", "//net", "//net:test_support", "//testing/gmock", "//testing/gtest", ] } } else { # !enable_webrtc and is_android # Stub targets as Android doesn't use libjingle when webrtc is disabled. source_set("jingle_glue") { } source_set("jingle_glue_test_util") { } static_library("notifier") { sources = [ "notifier/base/gaia_constants.cc", "notifier/base/gaia_constants.h", "notifier/base/notification_method.cc", "notifier/base/notification_method.h", "notifier/base/notifier_options.cc", "notifier/base/notifier_options.h", ] deps = [ "//base", "//net", ] } source_set("notifier_test_util") { } }