blob: bd0fe23d3dd87f989d434f7eb0a0eda6850c9cac [file] [log] [blame]
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001# 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.
4
5{
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',
Torne (Richard Coles)1e9bf3e2013-10-31 11:16:26 +000037 'ios/lib/machine_id_ios.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000038 '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',
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000049 'lib/recursive_cross_process_lock_posix.cc',
50 'lib/recursive_cross_process_lock_posix.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000051 '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',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000071 'win/lib/rlz_lib_win.cc',
72 'win/lib/rlz_value_store_registry.cc',
73 'win/lib/rlz_value_store_registry.h',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000074 ],
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': [
Torne (Richard Coles)58218062012-11-14 11:43:16 +000086 '../net/net.gyp:net',
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010087 '../url/url.gyp:url_lib',
Torne (Richard Coles)58218062012-11-14 11:43:16 +000088 ],
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 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +000099 ],
Torne (Richard Coles)1e9bf3e2013-10-31 11:16:26 +0000100 '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 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000109 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
110 'msvs_disabled_warnings': [ 4267, ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000111 },
112 {
Torne (Richard Coles)f2477e02013-11-28 11:55:43 +0000113 '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 {
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000127 'target_name': 'rlz_unittests',
128 'type': 'executable',
129 'dependencies': [
130 ':rlz_lib',
Torne (Richard Coles)f2477e02013-11-28 11:55:43 +0000131 ':test_support_rlz',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000132 '../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',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000144 'lib/rlz_lib_test.cc',
145 'lib/string_utils_unittest.cc',
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000146 '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 }],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000155 ],
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +0000156 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
157 'msvs_disabled_warnings': [ 4267, ],
Torne (Richard Coles)58218062012-11-14 11:43:16 +0000158 },
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 ],
188}