# 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") if (enable_webrtc || !is_android) { jingle_includes = exec_script("//build/gypi_to_gn.py", [ rebase_path("jingle.gypi") ], "scope", [ "jingle.gypi" ]) # GYP version: jingle/jingle.gyp:jingle_glue static_library("jingle_glue") { sources = jingle_includes.jingle_glue_sources public_deps = [ "//third_party/libjingle", ] deps = [ "//base", "//base/third_party/dynamic_annotations", "//net", ] } # A library for sending and receiving peer-issued notifications. # GYP version: jingle/jingle.gyp:notifier 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.h", "notifier/base/notification_method.cc", "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_observer.cc", "notifier/listener/push_client_observer.h", "notifier/listener/push_client.cc", "notifier/listener/push_client.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", ] deps = [ "//base", "//net", "//third_party/expat", "//url", ":jingle_glue", ] } # GYP version: jingle/jingle.gyp:notifier_test_util 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", ] deps = [ ":notifier", "//base", "//testing/gmock", ] } # GYP version: jingle/jingle.gyp:jingle_unittests # TODO(GYP): Convert to executable when its dependencies are linkable. source_set("jingle_unittests") { testonly = true sources = [ "glue/channel_socket_adapter_unittest.cc", "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/pseudotcp_adapter_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) { 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", ] } public_deps = [ "//third_party/libjingle", ] 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") { } # GYP version: jingle/jingle.gyp:notifier static_library("notifier") { sources = [ "notifier/base/gaia_constants.cc", "notifier/base/gaia_constants.h", "notifier/base/notification_method.h", "notifier/base/notification_method.cc", "notifier/base/notifier_options.cc", "notifier/base/notifier_options.h", ] deps = [ "//base", "//net" ] } source_set("notifier_test_util") { } }