Elim cr-checkbox
[chromium-blink-merge.git] / rlz / rlz.gyp
blobbd0fe23d3dd87f989d434f7eb0a0eda6850c9cac
1 # Copyright (c) 2012 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   'variables': {
7     'chromium_code': 1,
8     'variables': {
9       # Force rlz to use chrome's networking stack.
10       'force_rlz_use_chrome_net%': 1,
11     },
12     'conditions': [
13       ['force_rlz_use_chrome_net or OS!="win"', {
14         'rlz_use_chrome_net%': 1,
15       }, {
16         'rlz_use_chrome_net%': 0,
17       }],
18     ],
19   },
20   'target_defaults': {
21     'include_dirs': [
22       '..',
23     ],
24   },
25   'targets': [
26     {
27       'target_name': 'rlz_lib',
28       'type': 'static_library',
29       'dependencies': [
30         '../base/base.gyp:base',
31         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
32       ],
33       'sources': [
34         'chromeos/lib/machine_id_chromeos.cc',
35         'chromeos/lib/rlz_value_store_chromeos.cc',
36         'chromeos/lib/rlz_value_store_chromeos.h',
37         'ios/lib/machine_id_ios.cc',
38         'lib/assert.cc',
39         'lib/assert.h',
40         'lib/crc32.h',
41         'lib/crc32_wrapper.cc',
42         'lib/crc8.h',
43         'lib/crc8.cc',
44         'lib/financial_ping.cc',
45         'lib/financial_ping.h',
46         'lib/lib_values.cc',
47         'lib/machine_id.cc',
48         'lib/machine_id.h',
49         'lib/recursive_cross_process_lock_posix.cc',
50         'lib/recursive_cross_process_lock_posix.h',
51         'lib/rlz_enums.h',
52         'lib/rlz_lib.cc',
53         'lib/rlz_lib.h',
54         'lib/rlz_lib_clear.cc',
55         'lib/lib_values.h',
56         'lib/rlz_value_store.h',
57         'lib/string_utils.cc',
58         'lib/string_utils.h',
59         'mac/lib/machine_id_mac.cc',
60         'mac/lib/rlz_value_store_mac.mm',
61         'mac/lib/rlz_value_store_mac.h',
62         'win/lib/lib_mutex.cc',
63         'win/lib/lib_mutex.h',
64         'win/lib/machine_deal.cc',
65         'win/lib/machine_deal.h',
66         'win/lib/machine_id_win.cc',
67         'win/lib/process_info.cc',
68         'win/lib/process_info.h',
69         'win/lib/registry_util.cc',
70         'win/lib/registry_util.h',
71         'win/lib/rlz_lib_win.cc',
72         'win/lib/rlz_value_store_registry.cc',
73         'win/lib/rlz_value_store_registry.h',
74       ],
75       'conditions': [
76         ['rlz_use_chrome_net==1', {
77           'defines': [
78             'RLZ_NETWORK_IMPLEMENTATION_CHROME_NET',
79           ],
80           'direct_dependent_settings': {
81             'defines': [
82               'RLZ_NETWORK_IMPLEMENTATION_CHROME_NET',
83             ],
84           },
85           'dependencies': [
86             '../net/net.gyp:net',
87             '../url/url.gyp:url_lib',
88           ],
89         }, {
90           'defines': [
91             'RLZ_NETWORK_IMPLEMENTATION_WIN_INET',
92           ],
93           'direct_dependent_settings': {
94             'defines': [
95               'RLZ_NETWORK_IMPLEMENTATION_WIN_INET',
96             ],
97           },
98         }],
99       ],
100       'target_conditions': [
101         # Need 'target_conditions' to override default filename_rules to include
102         # the files on iOS.
103         ['OS=="ios"', {
104           'sources/': [
105             ['include', '^mac/lib/rlz_value_store_mac\\.'],
106           ],
107         }],
108       ],
109       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
110       'msvs_disabled_warnings': [ 4267, ],
111     },
112     {
113       'target_name': 'test_support_rlz',
114       'type': 'static_library',
115       'dependencies': [
116         ':rlz_lib',
117         '../base/base.gyp:base',
118         '../base/base.gyp:test_support_base',
119         '../testing/gtest.gyp:gtest',
120       ],
121       'sources': [
122         'test/rlz_test_helpers.cc',
123         'test/rlz_test_helpers.h',
124       ],
125     },
126     {
127       'target_name': 'rlz_unittests',
128       'type': 'executable',
129       'dependencies': [
130         ':rlz_lib',
131         ':test_support_rlz',
132         '../base/base.gyp:base',
133         '../base/base.gyp:base_prefs',
134         '../testing/gmock.gyp:gmock',
135         '../testing/gtest.gyp:gtest',
136         '../third_party/zlib/zlib.gyp:zlib',
137       ],
138       'sources': [
139         'lib/crc32_unittest.cc',
140         'lib/crc8_unittest.cc',
141         'lib/financial_ping_test.cc',
142         'lib/lib_values_unittest.cc',
143         'lib/machine_id_unittest.cc',
144         'lib/rlz_lib_test.cc',
145         'lib/string_utils_unittest.cc',
146         'test/rlz_unittest_main.cc',
147         'win/lib/machine_deal_test.cc',
148       ],
149       'conditions': [
150         ['rlz_use_chrome_net==1', {
151           'dependencies': [
152             '../net/net.gyp:net_test_support',
153           ],
154         }],
155       ],
156       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
157       'msvs_disabled_warnings': [ 4267, ],
158     },
159     {
160       'target_name': 'rlz_id',
161       'type': 'executable',
162       'dependencies': [
163         ':rlz_lib',
164       ],
165       'sources': [
166         'examples/rlz_id.cc',
167       ],
168     },
169   ],
170   'conditions': [
171     ['OS=="win"', {
172       'targets': [
173         {
174           'target_name': 'rlz',
175           'type': 'shared_library',
176           'sources': [
177             'win/dll/dll_main.cc',
178             'win/dll/exports.cc',
179           ],
180           'dependencies': [
181             ':rlz_lib',
182             '../third_party/zlib/zlib.gyp:zlib',
183           ],
184         },
185       ],
186     }],
187   ],