1 # Copyright 2013 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 }, 9 10 'targets': [ 11 # The public GCM target. 12 { 13 # GN version: //google_apis/gcm 14 'target_name': 'gcm', 15 'type': '<(component)', 16 'variables': { 17 'enable_wexit_time_destructors': 1, 18 'proto_in_dir': './protocol', 19 'proto_out_dir': 'google_apis/gcm/protocol', 20 'cc_generator_options': 'dllexport_decl=GCM_EXPORT:', 21 'cc_include': 'google_apis/gcm/base/gcm_export.h', 22 }, 23 'include_dirs': [ 24 '../..', 25 ], 26 'defines': [ 27 'GCM_IMPLEMENTATION', 28 ], 29 'export_dependent_settings': [ 30 '../../third_party/protobuf/protobuf.gyp:protobuf_lite' 31 ], 32 'dependencies': [ 33 '../../base/base.gyp:base', 34 '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 35 '../../net/net.gyp:net', 36 '../../third_party/leveldatabase/leveldatabase.gyp:leveldatabase', 37 '../../third_party/protobuf/protobuf.gyp:protobuf_lite', 38 '../../url/url.gyp:url_lib', 39 ], 40 'sources': [ 41 # Note: sources list duplicated in GN build. 42 'base/mcs_message.cc', 43 'base/mcs_message.h', 44 'base/mcs_util.cc', 45 'base/mcs_util.h', 46 'base/socket_stream.cc', 47 'base/socket_stream.h', 48 'engine/account_mapping.cc', 49 'engine/account_mapping.h', 50 'engine/checkin_request.cc', 51 'engine/checkin_request.h', 52 'engine/connection_factory.cc', 53 'engine/connection_factory.h', 54 'engine/connection_factory_impl.cc', 55 'engine/connection_factory_impl.h', 56 'engine/connection_handler.cc', 57 'engine/connection_handler.h', 58 'engine/connection_handler_impl.cc', 59 'engine/connection_handler_impl.h', 60 'engine/gcm_store.cc', 61 'engine/gcm_store.h', 62 'engine/gcm_store_impl.cc', 63 'engine/gcm_store_impl.h', 64 'engine/gservices_settings.cc', 65 'engine/gservices_settings.h', 66 'engine/heartbeat_manager.cc', 67 'engine/heartbeat_manager.h', 68 'engine/mcs_client.cc', 69 'engine/mcs_client.h', 70 'engine/registration_info.cc', 71 'engine/registration_info.h', 72 'engine/registration_request.cc', 73 'engine/registration_request.h', 74 'engine/unregistration_request.cc', 75 'engine/unregistration_request.h', 76 'monitoring/gcm_stats_recorder.h', 77 'protocol/android_checkin.proto', 78 'protocol/checkin.proto', 79 'protocol/mcs.proto', 80 ], 81 'includes': [ 82 '../../build/protoc.gypi' 83 ], 84 }, 85 86 # The test support library that is needed to test gcm. 87 { 88 # GN version: //google_apis/gcm:test_support 89 'target_name': 'gcm_test_support', 90 'type': 'static_library', 91 'include_dirs': [ 92 '..', 93 ], 94 'export_dependent_settings': [ 95 '../../third_party/protobuf/protobuf.gyp:protobuf_lite' 96 ], 97 'dependencies': [ 98 '../../base/base.gyp:base', 99 '../../testing/gtest.gyp:gtest', 100 '../../third_party/protobuf/protobuf.gyp:protobuf_lite', 101 'gcm', 102 ], 103 'sources': [ 104 # Note: sources list duplicated in GN build. 105 'base/fake_encryptor.cc', 106 'base/fake_encryptor.h', 107 'engine/fake_connection_factory.cc', 108 'engine/fake_connection_factory.h', 109 'engine/fake_connection_handler.cc', 110 'engine/fake_connection_handler.h', 111 'monitoring/fake_gcm_stats_recorder.cc', 112 'monitoring/fake_gcm_stats_recorder.h', 113 ], 114 }, 115 116 # A standalone MCS (mobile connection server) client. 117 { 118 # GN version: //google_apis/gcm:mcs_probe 119 'target_name': 'mcs_probe', 120 'type': 'executable', 121 'variables': { 'enable_wexit_time_destructors': 1, }, 122 'include_dirs': [ 123 '../..', 124 ], 125 'dependencies': [ 126 '../../base/base.gyp:base', 127 '../../net/net.gyp:net', 128 '../../net/net.gyp:net_test_support', 129 '../../third_party/protobuf/protobuf.gyp:protobuf_lite', 130 'gcm', 131 'gcm_test_support' 132 ], 133 'sources': [ 134 # Note: file list duplicated in GN build. 135 'tools/mcs_probe.cc', 136 ], 137 }, 138 139 # The main GCM unit tests. 140 { 141 'target_name': 'gcm_unit_tests', 142 'type': '<(gtest_target_type)', 143 'variables': { 'enable_wexit_time_destructors': 1, }, 144 'include_dirs': [ 145 '../..', 146 ], 147 'export_dependent_settings': [ 148 '../../third_party/protobuf/protobuf.gyp:protobuf_lite' 149 ], 150 'dependencies': [ 151 '../../base/base.gyp:run_all_unittests', 152 '../../base/base.gyp:base', 153 '../../net/net.gyp:net', 154 '../../net/net.gyp:net_test_support', 155 '../../testing/gtest.gyp:gtest', 156 '../../third_party/protobuf/protobuf.gyp:protobuf_lite', 157 'gcm', 158 'gcm_test_support' 159 ], 160 'sources': [ 161 'base/mcs_message_unittest.cc', 162 'base/mcs_util_unittest.cc', 163 'base/socket_stream_unittest.cc', 164 'engine/account_mapping_unittest.cc', 165 'engine/checkin_request_unittest.cc', 166 'engine/connection_factory_impl_unittest.cc', 167 'engine/connection_handler_impl_unittest.cc', 168 'engine/gcm_store_impl_unittest.cc', 169 'engine/gservices_settings_unittest.cc', 170 'engine/heartbeat_manager_unittest.cc', 171 'engine/mcs_client_unittest.cc', 172 'engine/registration_request_unittest.cc', 173 'engine/unregistration_request_unittest.cc', 174 ] 175 }, 176 ], 177 } 178