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