Home | History | Annotate | Download | only in jingle
      1 # Copyright (c) 2012 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 {
      6   'includes': [
      7     'jingle.gypi',
      8   ],
      9   'variables': {
     10     'chromium_code': 1,
     11   },  # variables
     12   'conditions': [
     13     ['enable_webrtc==1 or OS!="android"', {
     14       'targets': [
     15         # A library of various utils for integration with libjingle.
     16         # GN version: //jingle:jingle_glue
     17         {
     18           'target_name': 'jingle_glue',
     19           'type': 'static_library',
     20           'sources': [
     21             '<@(jingle_glue_sources)',
     22           ],
     23           'dependencies': [
     24             '../base/base.gyp:base',
     25             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
     26             '../net/net.gyp:net',
     27             '../third_party/libjingle/libjingle.gyp:libjingle',
     28           ],
     29           'export_dependent_settings': [
     30             '../third_party/libjingle/libjingle.gyp:libjingle',
     31           ],
     32         },
     33         # A library for sending and receiving peer-issued notifications.
     34         #
     35         # TODO(akalin): Separate out the XMPP stuff from this library into
     36         # its own library.
     37         #
     38         # GN version: //jingle:notifier
     39         {
     40           'target_name': 'notifier',
     41           'type': 'static_library',
     42           'sources': [
     43             'notifier/base/const_communicator.h',
     44             'notifier/base/gaia_constants.cc',
     45             'notifier/base/gaia_constants.h',
     46             'notifier/base/gaia_token_pre_xmpp_auth.cc',
     47             'notifier/base/gaia_token_pre_xmpp_auth.h',
     48             'notifier/base/notification_method.h',
     49             'notifier/base/notification_method.cc',
     50             'notifier/base/notifier_options.cc',
     51             'notifier/base/notifier_options.h',
     52             'notifier/base/notifier_options_util.cc',
     53             'notifier/base/notifier_options_util.h',
     54             'notifier/base/server_information.cc',
     55             'notifier/base/server_information.h',
     56             'notifier/base/weak_xmpp_client.cc',
     57             'notifier/base/weak_xmpp_client.h',
     58             'notifier/base/xmpp_connection.cc',
     59             'notifier/base/xmpp_connection.h',
     60             'notifier/communicator/connection_settings.cc',
     61             'notifier/communicator/connection_settings.h',
     62             'notifier/communicator/login.cc',
     63             'notifier/communicator/login.h',
     64             'notifier/communicator/login_settings.cc',
     65             'notifier/communicator/login_settings.h',
     66             'notifier/communicator/single_login_attempt.cc',
     67             'notifier/communicator/single_login_attempt.h',
     68             'notifier/listener/non_blocking_push_client.cc',
     69             'notifier/listener/non_blocking_push_client.h',
     70             'notifier/listener/notification_constants.cc',
     71             'notifier/listener/notification_constants.h',
     72             'notifier/listener/notification_defines.cc',
     73             'notifier/listener/notification_defines.h',
     74             'notifier/listener/push_client_observer.cc',
     75             'notifier/listener/push_client_observer.h',
     76             'notifier/listener/push_client.cc',
     77             'notifier/listener/push_client.h',
     78             'notifier/listener/push_notifications_listen_task.cc',
     79             'notifier/listener/push_notifications_listen_task.h',
     80             'notifier/listener/push_notifications_send_update_task.cc',
     81             'notifier/listener/push_notifications_send_update_task.h',
     82             'notifier/listener/push_notifications_subscribe_task.cc',
     83             'notifier/listener/push_notifications_subscribe_task.h',
     84             'notifier/listener/send_ping_task.cc',
     85             'notifier/listener/send_ping_task.h',
     86             'notifier/listener/xml_element_util.cc',
     87             'notifier/listener/xml_element_util.h',
     88             'notifier/listener/xmpp_push_client.cc',
     89             'notifier/listener/xmpp_push_client.h',
     90           ],
     91           'defines' : [
     92             '_CRT_SECURE_NO_WARNINGS',
     93           ],
     94           'dependencies': [
     95             '../base/base.gyp:base',
     96             '../net/net.gyp:net',
     97             '../third_party/expat/expat.gyp:expat',
     98             '../third_party/libjingle/libjingle.gyp:libjingle',
     99             '../url/url.gyp:url_lib',
    100             'jingle_glue',
    101           ],
    102           'export_dependent_settings': [
    103             '../third_party/libjingle/libjingle.gyp:libjingle',
    104           ],
    105         },
    106         # GN version: //jingle:notifier_test_util
    107         {
    108           'target_name': 'notifier_test_util',
    109           'type': 'static_library',
    110           'sources': [
    111             'notifier/base/fake_base_task.cc',
    112             'notifier/base/fake_base_task.h',
    113             'notifier/listener/fake_push_client.cc',
    114             'notifier/listener/fake_push_client.h',
    115             'notifier/listener/fake_push_client_observer.cc',
    116             'notifier/listener/fake_push_client_observer.h',
    117           ],
    118           'dependencies': [
    119             'notifier',
    120             '../base/base.gyp:base',
    121             '../testing/gmock.gyp:gmock',
    122           ],
    123         },
    124         # GN version: //jingle:jingle_unittests
    125         {
    126           'target_name': 'jingle_unittests',
    127           'type': 'executable',
    128           'sources': [
    129             'glue/channel_socket_adapter_unittest.cc',
    130             'glue/chrome_async_socket_unittest.cc',
    131             'glue/fake_ssl_client_socket_unittest.cc',
    132             'glue/jingle_glue_mock_objects.cc',
    133             'glue/jingle_glue_mock_objects.h',
    134             'glue/logging_unittest.cc',
    135             'glue/mock_task.cc',
    136             'glue/mock_task.h',
    137             'glue/proxy_resolving_client_socket_unittest.cc',
    138             'glue/pseudotcp_adapter_unittest.cc',
    139             'glue/task_pump_unittest.cc',
    140             'glue/thread_wrapper_unittest.cc',
    141             'notifier/base/weak_xmpp_client_unittest.cc',
    142             'notifier/base/xmpp_connection_unittest.cc',
    143             'notifier/communicator/connection_settings_unittest.cc',
    144             'notifier/communicator/login_settings_unittest.cc',
    145             'notifier/communicator/single_login_attempt_unittest.cc',
    146             'notifier/listener/non_blocking_push_client_unittest.cc',
    147             'notifier/listener/notification_defines_unittest.cc',
    148             'notifier/listener/push_client_unittest.cc',
    149             'notifier/listener/push_notifications_send_update_task_unittest.cc',
    150             'notifier/listener/push_notifications_subscribe_task_unittest.cc',
    151             'notifier/listener/send_ping_task_unittest.cc',
    152             'notifier/listener/xml_element_util_unittest.cc',
    153             'notifier/listener/xmpp_push_client_unittest.cc',
    154           ],
    155           'conditions': [
    156             ['OS=="android"', {
    157               'sources!': [
    158                 # TODO(jrg):
    159                 # EXPECT_DEBUG_DEATH() uses features not enabled.
    160                 # Should we -std=c++0x or -std=gnu++0x?
    161                 'glue/chrome_async_socket_unittest.cc',
    162                 'notifier/base/xmpp_connection_unittest.cc',
    163               ],
    164             }]],
    165           'include_dirs': [
    166             '..',
    167           ],
    168           'dependencies': [
    169             'jingle_glue',
    170             'notifier',
    171             'notifier_test_util',
    172             '../base/base.gyp:base',
    173             '../base/base.gyp:run_all_unittests',
    174             '../base/base.gyp:test_support_base',
    175             '../net/net.gyp:net',
    176             '../net/net.gyp:net_test_support',
    177             '../testing/gmock.gyp:gmock',
    178             '../testing/gtest.gyp:gtest',
    179             '../third_party/libjingle/libjingle.gyp:libjingle',
    180           ],
    181         },
    182       ],
    183     }, {  # enable_webrtc!=1 and OS=="android"
    184       'targets': [
    185         # Stub targets as Android doesn't use libjingle when webrtc is disabled.
    186         {
    187           'target_name': 'jingle_glue',
    188           'type': 'none',
    189         },
    190         {
    191           'target_name': 'jingle_glue_test_util',
    192           'type': 'none',
    193         },
    194         # GN version: //jingle:notifier
    195         {
    196           'target_name': 'notifier',
    197           'type': 'static_library',
    198           'sources': [
    199             'notifier/base/gaia_constants.cc',
    200             'notifier/base/gaia_constants.h',
    201             'notifier/base/notification_method.h',
    202             'notifier/base/notification_method.cc',
    203             'notifier/base/notifier_options.cc',
    204             'notifier/base/notifier_options.h',
    205           ],
    206           'dependencies': [
    207             '../base/base.gyp:base',
    208             '../net/net.gyp:net',
    209           ],
    210         },
    211         {
    212           'target_name': 'notifier_test_util',
    213           'type': 'none',
    214         },
    215       ],
    216     }],
    217   ],
    218 }
    219