BUILD.gn 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  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. # Note that this build file assumes rlz_use_chrome_net which is a condition in
  5. # the GYP file, but is always true for Chrome builds.
  6. import("//build/config/chromeos/ui_mode.gni")
  7. import("//rlz/buildflags/buildflags.gni")
  8. import("//testing/test.gni")
  9. config("rlz_lib_config") {
  10. defines = [ "RLZ_NETWORK_IMPLEMENTATION_CHROME_NET" ]
  11. }
  12. source_set("rlz_utils") {
  13. sources = [
  14. "lib/assert.cc",
  15. "lib/assert.h",
  16. "lib/crc32.h",
  17. "lib/crc32_wrapper.cc",
  18. "lib/lib_values.cc",
  19. "lib/lib_values.h",
  20. "lib/net_response_check.cc",
  21. "lib/net_response_check.h",
  22. "lib/rlz_api.h",
  23. "lib/rlz_enums.h",
  24. "lib/string_utils.cc",
  25. "lib/string_utils.h",
  26. ]
  27. public_deps = [ "//base" ]
  28. deps = [
  29. "//build:chromeos_buildflags",
  30. "//third_party/zlib",
  31. ]
  32. }
  33. if (enable_rlz_support) {
  34. source_set("rlz_lib_no_network") {
  35. sources = [
  36. "lib/crc8.cc",
  37. "lib/crc8.h",
  38. "lib/machine_deal_win.h",
  39. "lib/machine_id.cc",
  40. "lib/machine_id.h",
  41. "lib/rlz_lib_clear.cc",
  42. "lib/rlz_lib_clear.h",
  43. "lib/rlz_value_store.h",
  44. "lib/supplementary_branding.cc",
  45. "lib/supplementary_branding.h",
  46. "lib/time_util.h",
  47. ]
  48. if (is_win) {
  49. sources += [
  50. "lib/time_util_win.cc",
  51. "win/lib/lib_mutex.cc",
  52. "win/lib/lib_mutex.h",
  53. "win/lib/machine_deal.cc",
  54. "win/lib/machine_deal.h",
  55. "win/lib/machine_id_win.cc",
  56. "win/lib/process_info.cc",
  57. "win/lib/process_info.h",
  58. "win/lib/registry_util.cc",
  59. "win/lib/registry_util.h",
  60. "win/lib/rlz_lib_win.cc",
  61. "win/lib/rlz_value_store_registry.cc",
  62. "win/lib/rlz_value_store_registry.h",
  63. ]
  64. } else {
  65. sources += [ "lib/time_util_base.cc" ]
  66. }
  67. deps = [
  68. ":rlz_utils",
  69. "//base",
  70. "//build:chromeos_buildflags",
  71. ]
  72. if (is_chromeos_ash) {
  73. sources += [
  74. "chromeos/lib/rlz_value_store_chromeos.cc",
  75. "chromeos/lib/rlz_value_store_chromeos.h",
  76. ]
  77. deps += [
  78. "//chromeos/ash/components/dbus",
  79. "//chromeos/ash/components/dbus/debug_daemon",
  80. "//chromeos/system",
  81. ]
  82. }
  83. if (is_apple) {
  84. sources += [
  85. "mac/lib/rlz_value_store_mac.h",
  86. "mac/lib/rlz_value_store_mac.mm",
  87. ]
  88. frameworks = [ "Foundation.framework" ]
  89. if (is_mac) {
  90. sources += [ "mac/lib/machine_id_mac.cc" ]
  91. frameworks += [ "IOKit.framework" ]
  92. }
  93. if (is_ios) {
  94. sources += [ "ios/lib/machine_id_ios.cc" ]
  95. }
  96. }
  97. if (is_posix) {
  98. sources += [
  99. "lib/recursive_cross_process_lock_posix.cc",
  100. "lib/recursive_cross_process_lock_posix.h",
  101. ]
  102. }
  103. }
  104. source_set("rlz_lib") {
  105. sources = [
  106. "lib/financial_ping.cc",
  107. "lib/financial_ping.h",
  108. "lib/rlz_lib.cc",
  109. "lib/rlz_lib.h",
  110. ]
  111. public_deps = [
  112. ":rlz_lib_no_network",
  113. "//base",
  114. ]
  115. deps = [
  116. ":rlz_utils",
  117. "//base/third_party/dynamic_annotations",
  118. "//build:chromeos_buildflags",
  119. "//net",
  120. "//services/network/public/cpp:cpp",
  121. "//services/network/public/mojom",
  122. "//url",
  123. ]
  124. if (is_chromeos_ash) {
  125. deps += [
  126. "//chromeos/ash/components/dbus",
  127. "//chromeos/system",
  128. ]
  129. }
  130. public_configs = [ ":rlz_lib_config" ]
  131. }
  132. source_set("test_support") {
  133. testonly = true
  134. sources = [
  135. "test/rlz_test_helpers.cc",
  136. "test/rlz_test_helpers.h",
  137. ]
  138. public_deps = [
  139. "//base",
  140. "//base/test:test_support",
  141. "//testing/gtest",
  142. ]
  143. deps = [
  144. ":rlz_lib",
  145. "//build:chromeos_buildflags",
  146. ]
  147. if (is_chromeos_ash) {
  148. public_deps += [ "//chromeos/system" ]
  149. }
  150. }
  151. test("rlz_unittests") {
  152. sources = [
  153. "lib/crc32_unittest.cc",
  154. "lib/crc8_unittest.cc",
  155. "lib/financial_ping_test.cc",
  156. "lib/lib_values_unittest.cc",
  157. "lib/machine_id_unittest.cc",
  158. "lib/rlz_lib_test.cc",
  159. "lib/string_utils_unittest.cc",
  160. "test/rlz_unittest_main.cc",
  161. ]
  162. if (is_win) {
  163. sources += [ "win/lib/machine_deal_test.cc" ]
  164. }
  165. deps = [
  166. ":rlz_lib",
  167. ":rlz_utils",
  168. ":test_support",
  169. "//base",
  170. "//build:chromeos_buildflags",
  171. "//mojo/core/embedder",
  172. "//net:test_support",
  173. "//services/network:test_support",
  174. "//testing/gmock",
  175. "//testing/gtest",
  176. "//third_party/zlib",
  177. ]
  178. if (is_chromeos_ash) {
  179. deps += [
  180. "//chromeos/ash/components/dbus:test_support",
  181. "//chromeos/ash/components/dbus/debug_daemon",
  182. "//chromeos/system",
  183. ]
  184. }
  185. }
  186. }
  187. if (!is_ios && !is_android) {
  188. executable("rlz_id") {
  189. sources = [ "examples/rlz_id.cc" ]
  190. deps = [
  191. ":rlz_lib",
  192. "//build/win:default_exe_manifest",
  193. ]
  194. }
  195. }
  196. if (is_win) {
  197. shared_library("rlz") {
  198. sources = [
  199. "win/dll/dll_main.cc",
  200. "win/dll/exports.cc",
  201. ]
  202. deps = [
  203. ":rlz_lib",
  204. ":rlz_utils",
  205. "//third_party/zlib",
  206. ]
  207. }
  208. }