# Copyright 2015 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.

static_library("metrics_services_manager") {
  sources = [
    "metrics_services_manager.cc",
    "metrics_services_manager.h",
    "metrics_services_manager_client.cc",
    "metrics_services_manager_client.h",
  ]

  deps = [
    "//base",
    "//components/metrics",
    "//components/rappor",
    "//components/ukm",
    "//components/variations",
    "//components/variations/service",
    "//services/network/public/cpp:cpp",
  ]

  # These dependencies are currently disabled or do not exist in Cobalt.
  # Eliminating these significantly simplifies bringing in the
  # metrics_services_manager as a dependendency.
  if (use_cobalt_customizations) {
    deps -= [
      "//components/rappor",
      "//components/ukm",
      "//components/variations/service",
      "//services/network/public/cpp:cpp",
    ]
  }
}
