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