Roll src/breakpad/src 242fb9a:c80d211 (svn 1471:1495)
[chromium-blink-merge.git] / components / metrics.gypi
blobd6bdbdcfd147419bf94f7afffd7c58dafcecbcf1
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/metrics
9       'target_name': 'metrics',
10       'type': 'static_library',
11       'include_dirs': [
12         '..',
13       ],
14       'dependencies': [
15         '../base/base.gyp:base',
16         '../base/base.gyp:base_i18n',
17         '../base/base.gyp:base_prefs',
18         '../third_party/zlib/zlib.gyp:zlib',
19         'component_metrics_proto',
20         'variations',
21       ],
22       'export_dependent_settings': [
23         'component_metrics_proto',
24       ],
25       'sources': [
26         'metrics/call_stack_profile_metrics_provider.cc',
27         'metrics/call_stack_profile_metrics_provider.h',
28         'metrics/clean_exit_beacon.cc',
29         'metrics/clean_exit_beacon.h',
30         'metrics/client_info.cc',
31         'metrics/client_info.h',
32         'metrics/cloned_install_detector.cc',
33         'metrics/cloned_install_detector.h',
34         'metrics/compression_utils.cc',
35         'metrics/compression_utils.h',
36         'metrics/daily_event.cc',
37         'metrics/daily_event.h',
38         'metrics/drive_metrics_provider.cc',
39         'metrics/drive_metrics_provider.h',
40         'metrics/drive_metrics_provider_android.cc',
41         'metrics/drive_metrics_provider_ios.mm',
42         'metrics/drive_metrics_provider_linux.cc',
43         'metrics/drive_metrics_provider_mac.mm',
44         'metrics/drive_metrics_provider_win.cc',
45         'metrics/histogram_encoder.cc',
46         'metrics/histogram_encoder.h',
47         'metrics/machine_id_provider.h',
48         'metrics/machine_id_provider_stub.cc',
49         'metrics/machine_id_provider_win.cc',
50         'metrics/metrics_hashes.cc',
51         'metrics/metrics_hashes.h',
52         'metrics/metrics_log.cc',
53         'metrics/metrics_log.h',
54         'metrics/metrics_log_manager.cc',
55         'metrics/metrics_log_manager.h',
56         'metrics/metrics_log_uploader.cc',
57         'metrics/metrics_log_uploader.h',
58         'metrics/metrics_pref_names.cc',
59         'metrics/metrics_pref_names.h',
60         'metrics/metrics_provider.cc',
61         'metrics/metrics_provider.h',
62         'metrics/metrics_reporting_scheduler.cc',
63         'metrics/metrics_reporting_scheduler.h',
64         'metrics/metrics_service.cc',
65         'metrics/metrics_service.h',
66         'metrics/metrics_service_accessor.cc',
67         'metrics/metrics_service_accessor.h',
68         'metrics/metrics_service_client.cc',
69         'metrics/metrics_service_client.h',
70         'metrics/metrics_state_manager.cc',
71         'metrics/metrics_state_manager.h',
72         'metrics/metrics_switches.cc',
73         'metrics/metrics_switches.h',
74         'metrics/persisted_logs.cc',
75         'metrics/persisted_logs.h',
76         'metrics/url_constants.cc',
77         'metrics/url_constants.h',
78       ],
79       'conditions': [
80         ['chromeos==1', {
81           'dependencies': [
82             'metrics_serialization',
83           ],
84         }],
85         ['OS=="win"', {
86           'sources!': [
87             'metrics/machine_id_provider_stub.cc',
88           ],
89         }],
90       ],
91     },
92     {
93       # GN version: //components/metrics:gpu
94       'target_name': 'metrics_gpu',
95       'type': 'static_library',
96       'include_dirs': [
97         '..',
98       ],
99       'dependencies': [
100         '../base/base.gyp:base',
101         '../content/content.gyp:content_browser',
102         '../ui/gfx/gfx.gyp:gfx',
103         'component_metrics_proto',
104         'metrics',
105       ],
106       'sources': [
107         'metrics/gpu/gpu_metrics_provider.cc',
108         'metrics/gpu/gpu_metrics_provider.h',
109       ],
110     },
111     {
112       # GN version: //components/metrics:net
113       'target_name': 'metrics_net',
114       'type': 'static_library',
115       'include_dirs': [
116         '..',
117       ],
118       'dependencies': [
119         '../base/base.gyp:base',
120         '../net/net.gyp:net',
121         '../url/url.gyp:url_lib',
122         'component_metrics_proto',
123         'metrics',
124       ],
125       'sources': [
126         'metrics/net/net_metrics_log_uploader.cc',
127         'metrics/net/net_metrics_log_uploader.h',
128         'metrics/net/network_metrics_provider.cc',
129         'metrics/net/network_metrics_provider.h',
130         'metrics/net/wifi_access_point_info_provider.cc',
131         'metrics/net/wifi_access_point_info_provider.h',
132         'metrics/net/wifi_access_point_info_provider_chromeos.cc',
133         'metrics/net/wifi_access_point_info_provider_chromeos.h',
134       ],
135     },
136     {
137       # GN version: //components/metrics:profiler
138       'target_name': 'metrics_profiler',
139       'type': 'static_library',
140       'include_dirs': [
141         '..',
142       ],
143       'dependencies': [
144         '../content/content.gyp:content_browser',
145         '../content/content.gyp:content_common',
146         'component_metrics_proto',
147         'metrics',
148         'variations',
149       ],
150       'export_dependent_settings': [
151         'component_metrics_proto',
152       ],
153       'sources': [
154         'metrics/profiler/profiler_metrics_provider.cc',
155         'metrics/profiler/profiler_metrics_provider.h',
156         'metrics/profiler/tracking_synchronizer.cc',
157         'metrics/profiler/tracking_synchronizer.h',
158         'metrics/profiler/tracking_synchronizer_observer.cc',
159         'metrics/profiler/tracking_synchronizer_observer.h',
160       ],
161     },
162     {
163       # Protobuf compiler / generator for UMA (User Metrics Analysis).
164       #
165       # GN version: //components/metrics/proto:proto
166       'target_name': 'component_metrics_proto',
167       'type': 'static_library',
168       'sources': [
169         'metrics/proto/call_stack_profile.proto',
170         'metrics/proto/cast_logs.proto',
171         'metrics/proto/chrome_user_metrics_extension.proto',
172         'metrics/proto/histogram_event.proto',
173         'metrics/proto/omnibox_event.proto',
174         'metrics/proto/omnibox_input_type.proto',
175         'metrics/proto/perf_data.proto',
176         'metrics/proto/perf_stat.proto',
177         'metrics/proto/profiler_event.proto',
178         'metrics/proto/sampled_profile.proto',
179         'metrics/proto/system_profile.proto',
180         'metrics/proto/user_action_event.proto',
181       ],
182       'variables': {
183         'proto_in_dir': 'metrics/proto',
184         'proto_out_dir': 'components/metrics/proto',
185       },
186       'includes': [ '../build/protoc.gypi' ],
187     },
188     {
189       # TODO(isherman): Remove all //chrome dependencies on this target, and
190       # merge the files in this target with components_unittests.
191       # GN version: //components/metrics:test_support
192       'target_name': 'metrics_test_support',
193       'type': 'static_library',
194       'include_dirs': [
195         '..',
196       ],
197       'dependencies': [
198         'component_metrics_proto',
199         'metrics',
200       ],
201       'export_dependent_settings': [
202         'component_metrics_proto',
203       ],
204       'sources': [
205         'metrics/test_metrics_provider.cc',
206         'metrics/test_metrics_provider.h',
207         'metrics/test_metrics_service_client.cc',
208         'metrics/test_metrics_service_client.h',
209       ],
210     },
211   ],
212   'conditions': [
213     ['OS=="linux"', {
214       'targets': [
215         {
216           'target_name': 'metrics_serialization',
217           'type': 'static_library',
218           'sources': [
219             'metrics/serialization/metric_sample.cc',
220             'metrics/serialization/metric_sample.h',
221             'metrics/serialization/serialization_utils.cc',
222             'metrics/serialization/serialization_utils.h',
223           ],
224           'dependencies': [
225             '../base/base.gyp:base',
226           ],
227         },
228       ],
229     }],
230   ],