| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Note that this build file assumes rlz_use_chrome_net which is a condition in |
| # the GYP file, but is always true for Chrome builds. |
| |
| import("//testing/test.gni") |
| |
| config("rlz_lib_config") { |
| defines = [ "RLZ_NETWORK_IMPLEMENTATION_CHROME_NET" ] |
| } |
| |
| source_set("rlz_utils") { |
| sources = [ |
| "lib/assert.cc", |
| "lib/assert.h", |
| "lib/crc32.h", |
| "lib/crc32_wrapper.cc", |
| "lib/lib_values.cc", |
| "lib/lib_values.h", |
| "lib/net_response_check.cc", |
| "lib/net_response_check.h", |
| "lib/rlz_api.h", |
| "lib/rlz_enums.h", |
| "lib/string_utils.cc", |
| "lib/string_utils.h", |
| ] |
| |
| public_deps = [ "//base" ] |
| |
| deps = [ "//third_party/zlib" ] |
| } |
| |
| if (!is_android) { |
| source_set("rlz_lib_no_network") { |
| sources = [ |
| "chromeos/lib/rlz_value_store_chromeos.cc", |
| "chromeos/lib/rlz_value_store_chromeos.h", |
| "ios/lib/machine_id_ios.cc", |
| "lib/crc8.cc", |
| "lib/crc8.h", |
| "lib/machine_deal_win.h", |
| "lib/machine_id.cc", |
| "lib/machine_id.h", |
| "lib/rlz_lib_clear.cc", |
| "lib/rlz_lib_clear.h", |
| "lib/rlz_value_store.h", |
| "lib/supplementary_branding.cc", |
| "lib/supplementary_branding.h", |
| "lib/time_util.h", |
| "mac/lib/machine_id_mac.cc", |
| "mac/lib/rlz_value_store_mac.h", |
| "mac/lib/rlz_value_store_mac.mm", |
| "win/lib/lib_mutex.cc", |
| "win/lib/lib_mutex.h", |
| "win/lib/machine_deal.cc", |
| "win/lib/machine_deal.h", |
| "win/lib/machine_id_win.cc", |
| "win/lib/process_info.cc", |
| "win/lib/process_info.h", |
| "win/lib/registry_util.cc", |
| "win/lib/registry_util.h", |
| "win/lib/rlz_lib_win.cc", |
| "win/lib/rlz_value_store_registry.cc", |
| "win/lib/rlz_value_store_registry.h", |
| ] |
| |
| if (is_win) { |
| sources += [ "lib/time_util_win.cc" ] |
| } else { |
| sources += [ "lib/time_util_base.cc" ] |
| } |
| |
| deps = [ |
| ":rlz_utils", |
| "//base", |
| ] |
| |
| if (is_chromeos) { |
| deps += [ |
| "//chromeos/dbus", |
| "//chromeos/system", |
| ] |
| } |
| |
| if (is_mac) { |
| libs = [ |
| "Foundation.framework", |
| "IOKit.framework", |
| ] |
| } |
| |
| if (is_ios) { |
| # These _mac files are also used on iOS. |
| set_sources_assignment_filter([]) |
| sources += [ |
| "mac/lib/rlz_value_store_mac.h", |
| "mac/lib/rlz_value_store_mac.mm", |
| ] |
| set_sources_assignment_filter(sources_assignment_filter) |
| } |
| |
| if (is_posix) { |
| sources += [ |
| "lib/recursive_cross_process_lock_posix.cc", |
| "lib/recursive_cross_process_lock_posix.h", |
| ] |
| } |
| } |
| |
| source_set("rlz_lib") { |
| sources = [ |
| "lib/financial_ping.cc", |
| "lib/financial_ping.h", |
| "lib/rlz_lib.cc", |
| "lib/rlz_lib.h", |
| ] |
| |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| |
| public_deps = [ |
| ":rlz_lib_no_network", |
| "//base", |
| ] |
| |
| deps = [ |
| ":rlz_utils", |
| "//base/third_party/dynamic_annotations", |
| "//net", |
| "//services/network/public/cpp:cpp", |
| "//services/network/public/mojom", |
| "//url", |
| ] |
| |
| if (is_chromeos) { |
| deps += [ |
| "//chromeos/dbus", |
| "//chromeos/system", |
| ] |
| } |
| |
| public_configs = [ ":rlz_lib_config" ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| sources = [ |
| "test/rlz_test_helpers.cc", |
| "test/rlz_test_helpers.h", |
| ] |
| public_deps = [ |
| "//base", |
| "//base/test:test_support", |
| "//testing/gtest", |
| ] |
| deps = [ ":rlz_lib" ] |
| if (is_chromeos) { |
| public_deps += [ "//chromeos/system" ] |
| } |
| } |
| |
| test("rlz_unittests") { |
| sources = [ |
| "lib/crc32_unittest.cc", |
| "lib/crc8_unittest.cc", |
| "lib/financial_ping_test.cc", |
| "lib/lib_values_unittest.cc", |
| "lib/machine_id_unittest.cc", |
| "lib/rlz_lib_test.cc", |
| "lib/string_utils_unittest.cc", |
| "test/rlz_unittest_main.cc", |
| "win/lib/machine_deal_test.cc", |
| ] |
| |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] |
| |
| deps = [ |
| ":rlz_lib", |
| ":rlz_utils", |
| ":test_support", |
| "//base", |
| "//mojo/core/embedder", |
| "//net:test_support", |
| "//services/network:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/zlib", |
| ] |
| if (is_chromeos) { |
| deps += [ |
| "//chromeos/dbus:test_support", |
| "//chromeos/system", |
| ] |
| } |
| } |
| } |
| |
| if (!is_ios && !is_android) { |
| executable("rlz_id") { |
| sources = [ "examples/rlz_id.cc" ] |
| deps = [ |
| ":rlz_lib", |
| "//build/win:default_exe_manifest", |
| ] |
| } |
| } |
| |
| if (is_win) { |
| shared_library("rlz") { |
| sources = [ |
| "win/dll/dll_main.cc", |
| "win/dll/exports.cc", |
| ] |
| deps = [ |
| ":rlz_lib", |
| ":rlz_utils", |
| "//third_party/zlib", |
| ] |
| } |
| } |