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 { 6 'targets': [ 7 { 8 # GN version: //components/gcm_driver 9 'target_name': 'gcm_driver', 10 'type': 'static_library', 11 'dependencies': [ 12 'os_crypt', 13 '../base/base.gyp:base', 14 '../google_apis/gcm/gcm.gyp:gcm', 15 '../net/net.gyp:net', 16 '../sync/sync.gyp:sync_proto', 17 ], 18 'include_dirs': [ 19 '..', 20 ], 21 'sources': [ 22 # Note: file list duplicated in GN build. 23 'gcm_driver/android/component_jni_registrar.cc', 24 'gcm_driver/android/component_jni_registrar.h', 25 'gcm_driver/default_gcm_app_handler.cc', 26 'gcm_driver/default_gcm_app_handler.h', 27 'gcm_driver/gcm_account_mapper.cc', 28 'gcm_driver/gcm_account_mapper.h', 29 'gcm_driver/gcm_activity.cc', 30 'gcm_driver/gcm_activity.h', 31 'gcm_driver/gcm_app_handler.cc', 32 'gcm_driver/gcm_app_handler.h', 33 'gcm_driver/gcm_backoff_policy.cc', 34 'gcm_driver/gcm_backoff_policy.h', 35 'gcm_driver/gcm_channel_status_request.cc', 36 'gcm_driver/gcm_channel_status_request.h', 37 'gcm_driver/gcm_channel_status_syncer.cc', 38 'gcm_driver/gcm_channel_status_syncer.h', 39 'gcm_driver/gcm_client.cc', 40 'gcm_driver/gcm_client.h', 41 'gcm_driver/gcm_client_factory.cc', 42 'gcm_driver/gcm_client_factory.h', 43 'gcm_driver/gcm_client_impl.cc', 44 'gcm_driver/gcm_client_impl.h', 45 'gcm_driver/gcm_connection_observer.cc', 46 'gcm_driver/gcm_connection_observer.h', 47 'gcm_driver/gcm_delayed_task_controller.cc', 48 'gcm_driver/gcm_delayed_task_controller.h', 49 'gcm_driver/gcm_driver.cc', 50 'gcm_driver/gcm_driver.h', 51 'gcm_driver/gcm_driver_android.cc', 52 'gcm_driver/gcm_driver_android.h', 53 'gcm_driver/gcm_driver_desktop.cc', 54 'gcm_driver/gcm_driver_desktop.h', 55 'gcm_driver/gcm_stats_recorder_impl.cc', 56 'gcm_driver/gcm_stats_recorder_impl.h', 57 'gcm_driver/system_encryptor.cc', 58 'gcm_driver/system_encryptor.h', 59 ], 60 'variables': { 61 'proto_in_dir': 'gcm_driver/proto', 62 'proto_out_dir': 'components/gcm_driver/proto', 63 }, 64 'includes': [ '../build/protoc.gypi' ], 65 'conditions': [ 66 ['OS == "android"', { 67 'dependencies': [ 68 'gcm_driver_jni_headers', 69 ], 70 'dependencies!': [ 71 '../google_apis/gcm/gcm.gyp:gcm', 72 ], 73 'sources!': [ 74 'gcm_driver/gcm_account_mapper.cc', 75 'gcm_driver/gcm_account_mapper.h', 76 'gcm_driver/gcm_channel_status_request.cc', 77 'gcm_driver/gcm_channel_status_request.h', 78 'gcm_driver/gcm_channel_status_syncer.cc', 79 'gcm_driver/gcm_channel_status_syncer.h', 80 'gcm_driver/gcm_client_factory.cc', 81 'gcm_driver/gcm_client_factory.h', 82 'gcm_driver/gcm_client_impl.cc', 83 'gcm_driver/gcm_client_impl.h', 84 'gcm_driver/gcm_delayed_task_controller.cc', 85 'gcm_driver/gcm_delayed_task_controller.h', 86 'gcm_driver/gcm_driver_desktop.cc', 87 'gcm_driver/gcm_driver_desktop.h', 88 'gcm_driver/gcm_stats_recorder_impl.cc', 89 'gcm_driver/gcm_stats_recorder_impl.h', 90 'gcm_driver/proto/gcm_channel_status.proto', 91 ], 92 }], 93 ], 94 }, 95 { 96 # GN version: //components/gcm_driver:test_support 97 'target_name': 'gcm_driver_test_support', 98 'type': 'static_library', 99 'dependencies': [ 100 'gcm_driver', 101 '../base/base.gyp:base', 102 '../google_apis/gcm/gcm.gyp:gcm_test_support', 103 '../testing/gtest.gyp:gtest', 104 ], 105 'include_dirs': [ 106 '..', 107 ], 108 'sources': [ 109 # Note: file list duplicated in GN build. 110 'gcm_driver/fake_gcm_app_handler.cc', 111 'gcm_driver/fake_gcm_app_handler.h', 112 'gcm_driver/fake_gcm_client.cc', 113 'gcm_driver/fake_gcm_client.h', 114 'gcm_driver/fake_gcm_client_factory.cc', 115 'gcm_driver/fake_gcm_client_factory.h', 116 'gcm_driver/fake_gcm_driver.cc', 117 'gcm_driver/fake_gcm_driver.h', 118 ], 119 'conditions': [ 120 ['OS == "android"', { 121 'dependencies!': [ 122 '../google_apis/gcm/gcm.gyp:gcm_test_support', 123 ], 124 'sources!': [ 125 'gcm_driver/fake_gcm_client.cc', 126 'gcm_driver/fake_gcm_client.h', 127 'gcm_driver/fake_gcm_client_factory.cc', 128 'gcm_driver/fake_gcm_client_factory.h', 129 ], 130 }], 131 ], 132 }, 133 ], 134 'conditions': [ 135 ['OS == "android"', { 136 'targets': [ 137 { 138 'target_name': 'gcm_driver_java', 139 'type': 'none', 140 'dependencies': [ 141 '../base/base.gyp:base', 142 # TODO(johnme): Fix the layering violation of depending on content/ 143 '../content/content.gyp:content_java', 144 '../sync/sync.gyp:sync_java', 145 ], 146 'variables': { 147 'java_in_dir': 'gcm_driver/android/java', 148 }, 149 'includes': [ '../build/java.gypi' ], 150 }, 151 { 152 # GN version: //components/gcm_driver:jni_headers 153 'target_name': 'gcm_driver_jni_headers', 154 'type': 'none', 155 'sources': [ 156 'gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java', 157 ], 158 'variables': { 159 'jni_gen_package': 'components/gcm_driver', 160 }, 161 'includes': [ '../build/jni_generator.gypi' ], 162 }, 163 ], 164 }, 165 ], 166 ], 167 } 168