# Copyright 2019 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. import("//build/config/chromeos/ui_mode.gni") import("//build/config/features.gni") static_library("sync_device_info") { sources = [ "device_count_metrics_provider.cc", "device_count_metrics_provider.h", "device_info.cc", "device_info.h", "device_info_prefs.cc", "device_info_prefs.h", "device_info_sync_bridge.cc", "device_info_sync_bridge.h", "device_info_sync_client.cc", "device_info_sync_client.h", "device_info_sync_service.cc", "device_info_sync_service.h", "device_info_sync_service_impl.cc", "device_info_sync_service_impl.h", "device_info_tracker.h", "device_info_util.cc", "device_info_util.h", "local_device_info_provider.h", "local_device_info_provider_impl.cc", "local_device_info_provider_impl.h", "local_device_info_util.cc", "local_device_info_util.h", ] configs += [ "//build/config:precompiled_headers" ] public_deps = [ "//base", "//components/sync", "//components/sync/invalidations", "//components/sync/protocol", ] deps = [ "//build:chromeos_buildflags", "//components/keyed_service/core", "//components/metrics", "//components/prefs", "//components/version_info", "//ui/base", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] if (is_android) { sources += [ "local_device_info_util_android.cc" ] } if (is_chromeos) { sources += [ "local_device_info_util_chromeos.cc" ] } if (is_ios) { sources += [ "local_device_info_util_ios.mm" ] } if (is_linux) { sources += [ "local_device_info_util_linux.cc" ] } if (is_fuchsia) { sources += [ "local_device_info_util_fuchsia.cc" ] } if (is_mac) { sources += [ "local_device_info_util_mac.mm" ] frameworks = [ "CoreFoundation.framework", "SystemConfiguration.framework", # For local_device_info_util_mac.mm. ] } if (is_win) { sources += [ "local_device_info_util_win.cc" ] } if (is_chromeos) { deps += [ "//chromeos/constants", "//chromeos/system", ] } } static_library("test_support") { testonly = true sources = [ "fake_device_info_sync_service.cc", "fake_device_info_sync_service.h", "fake_device_info_tracker.cc", "fake_device_info_tracker.h", "fake_local_device_info_provider.cc", "fake_local_device_info_provider.h", ] public_deps = [ ":sync_device_info" ] deps = [ "//components/sync:test_support" ] } source_set("unit_tests") { testonly = true sources = [ "device_count_metrics_provider_unittest.cc", "device_info_prefs_unittest.cc", "device_info_sync_bridge_unittest.cc", "device_info_util_unittest.cc", "local_device_info_provider_impl_unittest.cc", "local_device_info_util_unittest.cc", ] configs += [ "//build/config:precompiled_headers" ] deps = [ ":sync_device_info", ":test_support", "//base", "//base/test:test_support", "//build:chromeos_buildflags", "//components/prefs:test_support", "//components/sync:test_support", "//components/version_info:version_string", "//testing/gmock", "//testing/gtest", ] if (is_chromeos_ash) { deps += [ "//chromeos/system" ] } }