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 'target_name': 'gcm_driver', 9 'type': 'static_library', 10 'dependencies': [ 11 'os_crypt', 12 '../base/base.gyp:base', 13 '../google_apis/gcm/gcm.gyp:gcm', 14 '../net/net.gyp:net', 15 ], 16 'include_dirs': [ 17 '..', 18 ], 19 'sources': [ 20 'gcm_driver/android/component_jni_registrar.cc', 21 'gcm_driver/android/component_jni_registrar.h', 22 'gcm_driver/default_gcm_app_handler.cc', 23 'gcm_driver/default_gcm_app_handler.h', 24 'gcm_driver/gcm_activity.cc', 25 'gcm_driver/gcm_activity.h', 26 'gcm_driver/gcm_app_handler.cc', 27 'gcm_driver/gcm_app_handler.h', 28 'gcm_driver/gcm_client.cc', 29 'gcm_driver/gcm_client.h', 30 'gcm_driver/gcm_client_factory.cc', 31 'gcm_driver/gcm_client_factory.h', 32 'gcm_driver/gcm_client_impl.cc', 33 'gcm_driver/gcm_client_impl.h', 34 'gcm_driver/gcm_driver.cc', 35 'gcm_driver/gcm_driver.h', 36 'gcm_driver/gcm_driver_android.cc', 37 'gcm_driver/gcm_driver_android.h', 38 'gcm_driver/gcm_driver_desktop.cc', 39 'gcm_driver/gcm_driver_desktop.h', 40 'gcm_driver/gcm_stats_recorder_impl.cc', 41 'gcm_driver/gcm_stats_recorder_impl.h', 42 'gcm_driver/system_encryptor.cc', 43 'gcm_driver/system_encryptor.h', 44 ], 45 'conditions': [ 46 ['OS == "android"', { 47 'dependencies': [ 48 'gcm_driver_jni_headers', 49 ], 50 'dependencies!': [ 51 '../google_apis/gcm/gcm.gyp:gcm', 52 ], 53 'sources!': [ 54 'gcm_driver/gcm_client_factory.cc', 55 'gcm_driver/gcm_client_factory.h', 56 'gcm_driver/gcm_client_impl.cc', 57 'gcm_driver/gcm_client_impl.h', 58 'gcm_driver/gcm_driver_desktop.cc', 59 'gcm_driver/gcm_driver_desktop.h', 60 'gcm_driver/gcm_stats_recorder_impl.cc', 61 'gcm_driver/gcm_stats_recorder_impl.h', 62 ], 63 }], 64 ], 65 }, 66 { 67 'target_name': 'gcm_driver_test_support', 68 'type': 'static_library', 69 'dependencies': [ 70 'gcm_driver', 71 '../base/base.gyp:base', 72 '../google_apis/gcm/gcm.gyp:gcm_test_support', 73 '../testing/gtest.gyp:gtest', 74 ], 75 'include_dirs': [ 76 '..', 77 ], 78 'sources': [ 79 'gcm_driver/fake_gcm_app_handler.cc', 80 'gcm_driver/fake_gcm_app_handler.h', 81 'gcm_driver/fake_gcm_client.cc', 82 'gcm_driver/fake_gcm_client.h', 83 'gcm_driver/fake_gcm_client_factory.cc', 84 'gcm_driver/fake_gcm_client_factory.h', 85 'gcm_driver/fake_gcm_driver.cc', 86 'gcm_driver/fake_gcm_driver.h', 87 ], 88 'conditions': [ 89 ['OS == "android"', { 90 'dependencies!': [ 91 '../google_apis/gcm/gcm.gyp:gcm_test_support', 92 ], 93 'sources!': [ 94 'gcm_driver/fake_gcm_client.cc', 95 'gcm_driver/fake_gcm_client.h', 96 'gcm_driver/fake_gcm_client_factory.cc', 97 'gcm_driver/fake_gcm_client_factory.h', 98 ], 99 }], 100 ], 101 }, 102 ], 103 'conditions': [ 104 ['OS == "android"', { 105 'targets': [ 106 { 107 'target_name': 'gcm_driver_java', 108 'type': 'none', 109 'dependencies': [ 110 '../base/base.gyp:base', 111 # TODO(johnme): Fix the layering violation of depending on content/ 112 '../content/content.gyp:content_java', 113 '../sync/sync.gyp:sync_java', 114 ], 115 'variables': { 116 'java_in_dir': 'gcm_driver/android/java', 117 }, 118 'includes': [ '../build/java.gypi' ], 119 }, 120 { 121 'target_name': 'gcm_driver_jni_headers', 122 'type': 'none', 123 'sources': [ 124 'gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java', 125 ], 126 'variables': { 127 'jni_gen_package': 'components/gcm_driver', 128 }, 129 'includes': [ '../build/jni_generator.gypi' ], 130 }, 131 ], 132 }, 133 ], 134 ], 135 } 136