BUILD.gn revision 1675a649fd7a8b3cb80ffddae2dc181f122353c5
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# GYP version: components/gcm_driver.gypi:gcm_driver
6static_library("gcm_driver") {
7  sources = [
8    "android/component_jni_registrar.cc",
9    "android/component_jni_registrar.h",
10    "default_gcm_app_handler.cc",
11    "default_gcm_app_handler.h",
12    "gcm_activity.cc",
13    "gcm_activity.h",
14    "gcm_account_mapper.cc",
15    "gcm_account_mapper.h",
16    "gcm_app_handler.cc",
17    "gcm_app_handler.h",
18    "gcm_backoff_policy.cc",
19    "gcm_backoff_policy.h",
20    "gcm_channel_status_request.cc",
21    "gcm_channel_status_request.h",
22    "gcm_channel_status_syncer.cc",
23    "gcm_channel_status_syncer.h",
24    "gcm_client.cc",
25    "gcm_client.h",
26    "gcm_client_factory.cc",
27    "gcm_client_factory.h",
28    "gcm_client_impl.cc",
29    "gcm_client_impl.h",
30    "gcm_connection_observer.cc",
31    "gcm_connection_observer.h",
32    "gcm_delayed_task_controller.cc",
33    "gcm_delayed_task_controller.h",
34    "gcm_driver.cc",
35    "gcm_driver.h",
36    "gcm_driver_android.cc",
37    "gcm_driver_android.h",
38    "gcm_driver_desktop.cc",
39    "gcm_driver_desktop.h",
40    "gcm_stats_recorder_impl.cc",
41    "gcm_stats_recorder_impl.h",
42    "system_encryptor.cc",
43    "system_encryptor.h",
44  ]
45
46  deps = [
47    "//base",
48    "//components/os_crypt",
49    "//google_apis/gcm",
50    "//net",
51    "//sync/protocol",
52  ]
53
54  if (is_android) {
55    sources -= [
56      "gcm_account_mapper.cc",
57      "gcm_account_mapper.h",
58      "gcm_channel_status_request.cc",
59      "gcm_channel_status_request.h",
60      "gcm_channel_status_syncer.cc",
61      "gcm_channel_status_syncer.h",
62      "gcm_client_factory.cc",
63      "gcm_client_factory.h",
64      "gcm_client_impl.cc",
65      "gcm_client_impl.h",
66      "gcm_delayed_task_controller.cc",
67      "gcm_delayed_task_controller.h",
68      "gcm_driver_desktop.cc",
69      "gcm_driver_desktop.h",
70      "gcm_stats_recorder_impl.cc",
71      "gcm_stats_recorder_impl.h",
72    ]
73    deps -= [
74      "//components/gcm_driver/proto",
75      "//google_apis/gcm",
76    ]
77    deps += [ ":jni_headers" ]
78  }
79}
80
81static_library("test_support") {
82  testonly = true
83  sources = [
84    "fake_gcm_app_handler.cc",
85    "fake_gcm_app_handler.h",
86    "fake_gcm_client.cc",
87    "fake_gcm_client.h",
88    "fake_gcm_client_factory.cc",
89    "fake_gcm_client_factory.h",
90    "fake_gcm_driver.cc",
91    "fake_gcm_driver.h",
92  ]
93
94  deps = [
95    ":gcm_driver",
96    "//base",
97    "//google_apis/gcm",
98    "//testing/gtest",
99  ]
100
101  if (is_android) {
102    sources -= [
103      "fake_gcm_client.cc",
104      "fake_gcm_client.h",
105      "fake_gcm_client_factory.cc",
106      "fake_gcm_client_factory.h",
107    ]
108    deps -= [ "//google_apis/gcm" ]
109  }
110}
111
112if (is_android) {
113  import("//build/config/android/rules.gni")
114
115  # GYP version: components/gcm_driver.gypi:gcm_driver_jni_headers
116  generate_jni("jni_headers") {
117    sources = [
118      "android/java/src/org/chromium/components/gcm_driver/GCMDriver.java",
119    ]
120    jni_package = "components/gcm_driver"
121  }
122}
123