Roll src/third_party/WebKit fe3d0ed:840e60d (svn 202350:202351)
[chromium-blink-merge.git] / rlz / BUILD.gn
blobfd5862de2dbcb42d8daa4035565bc93d43ddf0dc
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.
5 # Note that this build file assumes rlz_use_chrome_net which is a condition in
6 # the GYP file, but is always true for Chrome builds.
8 import("//testing/test.gni")
10 config("rlz_config") {
11   defines = [ "RLZ_NETWORK_IMPLEMENTATION_CHROME_NET" ]
14 source_set("rlz_lib") {
15   sources = [
16     "chromeos/lib/machine_id_chromeos.cc",
17     "chromeos/lib/rlz_value_store_chromeos.cc",
18     "chromeos/lib/rlz_value_store_chromeos.h",
19     "ios/lib/machine_id_ios.cc",
20     "lib/assert.cc",
21     "lib/assert.h",
22     "lib/crc32.h",
23     "lib/crc32_wrapper.cc",
24     "lib/crc8.cc",
25     "lib/crc8.h",
26     "lib/financial_ping.cc",
27     "lib/financial_ping.h",
28     "lib/lib_values.cc",
29     "lib/lib_values.h",
30     "lib/machine_id.cc",
31     "lib/machine_id.h",
32     "lib/recursive_cross_process_lock_posix.cc",
33     "lib/recursive_cross_process_lock_posix.h",
34     "lib/rlz_enums.h",
35     "lib/rlz_lib.cc",
36     "lib/rlz_lib.h",
37     "lib/rlz_lib_clear.cc",
38     "lib/rlz_value_store.h",
39     "lib/string_utils.cc",
40     "lib/string_utils.h",
41     "mac/lib/machine_id_mac.cc",
42     "mac/lib/rlz_value_store_mac.h",
43     "mac/lib/rlz_value_store_mac.mm",
44     "win/lib/lib_mutex.cc",
45     "win/lib/lib_mutex.h",
46     "win/lib/machine_deal.cc",
47     "win/lib/machine_deal.h",
48     "win/lib/machine_id_win.cc",
49     "win/lib/process_info.cc",
50     "win/lib/process_info.h",
51     "win/lib/registry_util.cc",
52     "win/lib/registry_util.h",
53     "win/lib/rlz_lib_win.cc",
54     "win/lib/rlz_value_store_registry.cc",
55     "win/lib/rlz_value_store_registry.h",
56   ]
58   # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
59   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
61   public_configs = [ ":rlz_config" ]
63   deps = [
64     "//base",
65     "//base/third_party/dynamic_annotations",
66     "//net",
67     "//third_party/zlib",
68     "//url",
69   ]
71   if (is_ios) {
72     # These _mac files are also used on iOS.
73     set_sources_assignment_filter([])
74     sources += [
75       "mac/lib/rlz_value_store_mac.h",
76       "mac/lib/rlz_value_store_mac.mm",
77     ]
78     set_sources_assignment_filter(sources_assignment_filter)
79   }
82 source_set("test_support") {
83   testonly = true
84   sources = [
85     "test/rlz_test_helpers.cc",
86     "test/rlz_test_helpers.h",
87   ]
88   deps = [
89     ":rlz_lib",
90     "//base",
91     "//base/test:test_support",
92     "//testing/gtest",
93   ]
96 test("rlz_unittests") {
97   sources = [
98     "lib/crc32_unittest.cc",
99     "lib/crc8_unittest.cc",
100     "lib/financial_ping_test.cc",
101     "lib/lib_values_unittest.cc",
102     "lib/machine_id_unittest.cc",
103     "lib/rlz_lib_test.cc",
104     "lib/string_utils_unittest.cc",
105     "test/rlz_unittest_main.cc",
106     "win/lib/machine_deal_test.cc",
107   ]
109   # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
110   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
112   deps = [
113     ":rlz_lib",
114     ":test_support",
115     "//base",
116     "//base:prefs",
117     "//net:test_support",
118     "//testing/gmock",
119     "//testing/gtest",
120     "//third_party/zlib",
121   ]
124 executable("rlz_id") {
125   sources = [
126     "examples/rlz_id.cc",
127   ]
128   deps = [
129     ":rlz_lib",
130     "//build/config/sanitizers:deps",
131   ]
134 if (is_win) {
135   shared_library("rlz") {
136     sources = [
137       "win/dll/dll_main.cc",
138       "win/dll/exports.cc",
139     ]
140     deps = [
141       ":rlz_lib",
142       "//build/config/sanitizers:deps",
143       "//third_party/zlib",
144     ]
145   }