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