Home | History | Annotate | Download | only in jingle
      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