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