# 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", ] } }