[Athena] Extract Chrome OS authentication stack
[chromium-blink-merge.git] / components / metrics.gypi
blobf3dc749d0f89766fbe4769935a2fa175deb3897d
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         '../third_party/zlib/zlib.gyp:zlib',
17         'component_metrics_proto',
18         'variations',
19       ],
20       'sources': [
21         'metrics/compression_utils.cc',
22         'metrics/compression_utils.h',
23         'metrics/cloned_install_detector.cc',
24         'metrics/cloned_install_detector.h',
25         'metrics/machine_id_provider.h',
26         'metrics/machine_id_provider_stub.cc',
27         'metrics/machine_id_provider_win.cc',
28         'metrics/metrics_hashes.cc',
29         'metrics/metrics_hashes.h',
30         'metrics/metrics_log.cc',
31         'metrics/metrics_log.h',
32         'metrics/metrics_log_uploader.cc',
33         'metrics/metrics_log_uploader.h',
34         'metrics/metrics_log_manager.cc',
35         'metrics/metrics_log_manager.h',
36         'metrics/metrics_pref_names.cc',
37         'metrics/metrics_pref_names.h',
38         'metrics/metrics_provider.h',
39         'metrics/metrics_reporting_scheduler.cc',
40         'metrics/metrics_reporting_scheduler.h',
41         'metrics/metrics_service.cc',
42         'metrics/metrics_service.h',
43         'metrics/metrics_service_client.h',
44         'metrics/metrics_service_observer.cc',
45         'metrics/metrics_service_observer.h',
46         'metrics/metrics_state_manager.cc',
47         'metrics/metrics_state_manager.h',
48         'metrics/metrics_switches.cc',
49         'metrics/metrics_switches.h',
50         'metrics/persisted_logs.cc',
51         'metrics/persisted_logs.h',
52       ],
53       'conditions': [
54         ['chromeos==1', {
55           'dependencies': [
56             'metrics_chromeos',
57           ],
58         }],
59         ['OS=="win"', {
60           'sources!': [
61             'metrics/machine_id_provider_stub.cc',
62           ],
63         }],
64       ],
65     },
66     {
67       # GN version: //components/metrics:net
68       'target_name': 'metrics_net',
69       'type': 'static_library',
70       'include_dirs': [
71         '..',
72       ],
73       'dependencies': [
74         '../net/net.gyp:net',
75         'metrics',
76       ],
77       'sources': [
78         'metrics/net/net_metrics_log_uploader.cc',
79         'metrics/net/net_metrics_log_uploader.h',
80       ],
81     },
82     {
83       # Protobuf compiler / generator for UMA (User Metrics Analysis).
84       #
85       # GN version: //components/metrics/proto:proto
86       'target_name': 'component_metrics_proto',
87       'type': 'static_library',
88       'sources': [
89         'metrics/proto/chrome_user_metrics_extension.proto',
90         'metrics/proto/histogram_event.proto',
91         'metrics/proto/omnibox_event.proto',
92         'metrics/proto/omnibox_input_type.proto',
93         'metrics/proto/perf_data.proto',
94         'metrics/proto/profiler_event.proto',
95         'metrics/proto/sampled_profile.proto',
96         'metrics/proto/system_profile.proto',
97         'metrics/proto/user_action_event.proto',
98       ],
99       'variables': {
100         'proto_in_dir': 'metrics/proto',
101         'proto_out_dir': 'components/metrics/proto',
102       },
103       'includes': [ '../build/protoc.gypi' ],
104     },
105     {
106       # TODO(isherman): Remove all //chrome dependencies on this target, and
107       # merge the files in this target with components_unittests.
108       # GN version: //components/metrics:test_support
109       'target_name': 'metrics_test_support',
110       'type': 'static_library',
111       'include_dirs': [
112         '..',
113       ],
114       'dependencies': [
115         'component_metrics_proto',
116         'metrics',
117       ],
118       'export_dependent_settings': [
119         'component_metrics_proto',
120       ],
121       'sources': [
122         'metrics/test_metrics_service_client.cc',
123         'metrics/test_metrics_service_client.h',
124       ],
125     },
126   ],
127   'conditions': [
128     ['chromeos==1', {
129       'targets': [
130         {
131           'target_name': 'metrics_chromeos',
132           'type': 'static_library',
133           'sources': [
134             'metrics/chromeos/serialization_utils.cc',
135             'metrics/chromeos/serialization_utils.h',
136             'metrics/chromeos/metric_sample.cc',
137             'metrics/chromeos/metric_sample.h',
138           ],
139           'dependencies': [
140             '../base/base.gyp:base',
141           ],
142         },
143       ],
144     }],
145   ],