Introduce 'url::SchemeHostPort'.
[chromium-blink-merge.git] / components / gcm_driver.gypi
blobbb9a64dfd55891c8d9be78577a294bc28e3e9d95
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.
6   'targets': [
7     {
8       # GN version: //components/gcm_driver:common
9       'target_name': 'gcm_driver_common',
10       'type': '<(component)',
11       'include_dirs': [
12         '..',
13       ],
14       'defines': [
15         'GCM_DRIVER_IMPLEMENTATION',
16       ],
17       'sources': [
18          # Note: file list duplicated in GN build.
19         'gcm_driver/common/gcm_driver_export.h',
20         'gcm_driver/common/gcm_messages.cc',
21         'gcm_driver/common/gcm_messages.h',
22       ],
23     },
24     {
25       # GN version: //components/gcm_driver
26       'target_name': 'gcm_driver',
27       'type': 'static_library',
28       'dependencies': [
29         'os_crypt',
30         '../base/base.gyp:base',
31         '../google_apis/gcm/gcm.gyp:gcm',
32         '../net/net.gyp:net',
33         '../sync/sync.gyp:sync_proto',
34         'gcm_driver_common',
35       ],
36       'include_dirs': [
37         '..',
38       ],
39       'sources': [
40          # Note: file list duplicated in GN build.
41         'gcm_driver/android/component_jni_registrar.cc',
42         'gcm_driver/android/component_jni_registrar.h',
43         'gcm_driver/default_gcm_app_handler.cc',
44         'gcm_driver/default_gcm_app_handler.h',
45         'gcm_driver/gcm_account_mapper.cc',
46         'gcm_driver/gcm_account_mapper.h',
47         'gcm_driver/gcm_activity.cc',
48         'gcm_driver/gcm_activity.h',
49         'gcm_driver/gcm_app_handler.cc',
50         'gcm_driver/gcm_app_handler.h',
51         'gcm_driver/gcm_backoff_policy.cc',
52         'gcm_driver/gcm_backoff_policy.h',
53         'gcm_driver/gcm_channel_status_request.cc',
54         'gcm_driver/gcm_channel_status_request.h',
55         'gcm_driver/gcm_channel_status_syncer.cc',
56         'gcm_driver/gcm_channel_status_syncer.h',
57         'gcm_driver/gcm_client.cc',
58         'gcm_driver/gcm_client.h',
59         'gcm_driver/gcm_client_factory.cc',
60         'gcm_driver/gcm_client_factory.h',
61         'gcm_driver/gcm_client_impl.cc',
62         'gcm_driver/gcm_client_impl.h',
63         'gcm_driver/gcm_connection_observer.cc',
64         'gcm_driver/gcm_connection_observer.h',
65         'gcm_driver/gcm_delayed_task_controller.cc',
66         'gcm_driver/gcm_delayed_task_controller.h',
67         'gcm_driver/gcm_driver.cc',
68         'gcm_driver/gcm_driver.h',
69         'gcm_driver/gcm_driver_android.cc',
70         'gcm_driver/gcm_driver_android.h',
71         'gcm_driver/gcm_driver_desktop.cc',
72         'gcm_driver/gcm_driver_desktop.h',
73         'gcm_driver/gcm_stats_recorder_impl.cc',
74         'gcm_driver/gcm_stats_recorder_impl.h',
75         'gcm_driver/registration_info.cc',
76         'gcm_driver/registration_info.h',
77         'gcm_driver/system_encryptor.cc',
78         'gcm_driver/system_encryptor.h',
79       ],
80       'variables': {
81         'proto_in_dir': 'gcm_driver/proto',
82         'proto_out_dir': 'components/gcm_driver/proto',
83       },
84       'includes': [ '../build/protoc.gypi' ],
85       'conditions': [
86         ['OS == "android"', {
87           'dependencies': [
88             'gcm_driver_jni_headers',
89           ],
90           'dependencies!': [
91             '../google_apis/gcm/gcm.gyp:gcm',
92           ],
93           'sources!': [
94             'gcm_driver/gcm_account_mapper.cc',
95             'gcm_driver/gcm_account_mapper.h',
96             'gcm_driver/gcm_channel_status_request.cc',
97             'gcm_driver/gcm_channel_status_request.h',
98             'gcm_driver/gcm_channel_status_syncer.cc',
99             'gcm_driver/gcm_channel_status_syncer.h',
100             'gcm_driver/gcm_client_factory.cc',
101             'gcm_driver/gcm_client_factory.h',
102             'gcm_driver/gcm_client_impl.cc',
103             'gcm_driver/gcm_client_impl.h',
104             'gcm_driver/gcm_delayed_task_controller.cc',
105             'gcm_driver/gcm_delayed_task_controller.h',
106             'gcm_driver/gcm_driver_desktop.cc',
107             'gcm_driver/gcm_driver_desktop.h',
108             'gcm_driver/gcm_stats_recorder_impl.cc',
109             'gcm_driver/gcm_stats_recorder_impl.h',
110             'gcm_driver/proto/gcm_channel_status.proto',
111           ],
112         }],
113         ['chromeos == 1', {
114           'dependencies': [
115             'timers',
116           ],
117         }],
118       ],
119     },
120     {
121       # GN version: //components/gcm_driver:test_support
122       'target_name': 'gcm_driver_test_support',
123       'type': 'static_library',
124       'dependencies': [
125         'gcm_driver',
126         '../base/base.gyp:base',
127         '../google_apis/gcm/gcm.gyp:gcm_test_support',
128         '../testing/gtest.gyp:gtest',
129       ],
130       'include_dirs': [
131         '..',
132       ],
133       'sources': [
134         # Note: file list duplicated in GN build.
135         'gcm_driver/fake_gcm_app_handler.cc',
136         'gcm_driver/fake_gcm_app_handler.h',
137         'gcm_driver/fake_gcm_client.cc',
138         'gcm_driver/fake_gcm_client.h',
139         'gcm_driver/fake_gcm_client_factory.cc',
140         'gcm_driver/fake_gcm_client_factory.h',
141         'gcm_driver/fake_gcm_driver.cc',
142         'gcm_driver/fake_gcm_driver.h',
143       ],
144       'conditions': [
145         ['OS == "android"', {
146           'dependencies!': [
147             '../google_apis/gcm/gcm.gyp:gcm_test_support',
148           ],
149           'sources!': [
150             'gcm_driver/fake_gcm_client.cc',
151             'gcm_driver/fake_gcm_client.h',
152             'gcm_driver/fake_gcm_client_factory.cc',
153             'gcm_driver/fake_gcm_client_factory.h',
154           ],
155         }],
156       ],
157     },
158     {
159       # GN version: //components/gcm_driver/instance_id
160       'target_name': 'instance_id',
161       'type': 'static_library',
162       'include_dirs': [
163         '..',
164       ],
165       'sources': [
166         # Note: file list duplicated in GN build.
167         'gcm_driver/instance_id/instance_id.cc',
168         'gcm_driver/instance_id/instance_id.h',
169         'gcm_driver/instance_id/instance_id_android.cc',
170         'gcm_driver/instance_id/instance_id_android.h',
171         'gcm_driver/instance_id/instance_id_driver.cc',
172         'gcm_driver/instance_id/instance_id_driver.h',
173         'gcm_driver/instance_id/instance_id_impl.cc',
174         'gcm_driver/instance_id/instance_id_impl.h',
175       ],
176       'conditions': [
177         ['OS == "android"', {
178           'sources!': [
179             'gcm_driver/instance_id/instance_id_impl.cc',
180             'gcm_driver/instance_id/instance_id_impl.h',
181           ],
182         }],
183       ],
184     },
185     {
186       # GN version: //components/gcm_driver/instance_id:test_support
187       'target_name': 'instance_id_test_support',
188       'type': 'static_library',
189       'dependencies': [
190         'gcm_driver_test_support',
191         'instance_id',
192         '../testing/gtest.gyp:gtest',
193       ],
194       'include_dirs': [
195         '..',
196       ],
197       'sources': [
198         # Note: file list duplicated in GN build.
199         'gcm_driver/instance_id/fake_gcm_driver_for_instance_id.cc',
200         'gcm_driver/instance_id/fake_gcm_driver_for_instance_id.h',
201       ],
202     },
203   ],
204   'conditions': [
205     ['OS == "android"', {
206       'targets': [
207         {
208           # GN version: //components/gcm_driver/android:gcm_driver_java
209           'target_name': 'gcm_driver_java',
210           'type': 'none',
211           'dependencies': [
212             '../base/base.gyp:base',
213             # TODO(johnme): Fix the layering violation of depending on content/
214             '../content/content.gyp:content_java',
215             '../sync/sync.gyp:sync_java',
216           ],
217           'variables': {
218             'java_in_dir': 'gcm_driver/android/java',
219           },
220           'includes': [ '../build/java.gypi' ],
221         },
222         {
223           # GN version: //components/gcm_driver/android:jni_headers
224           'target_name': 'gcm_driver_jni_headers',
225           'type': 'none',
226           'sources': [
227             'gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java',
228           ],
229           'variables': {
230             'jni_gen_package': 'components/gcm_driver',
231           },
232           'includes': [ '../build/jni_generator.gypi' ],
233         },
234       ],
235      },
236     ],
237   ],