# Copyright 2019 The Fuchsia 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/unification/zx_library.gni")

assert(is_fuchsia, "Fuchsia-only library")

zx_library("storage-metrics") {
  sdk = "source"
  sdk_headers = [ "storage-metrics/storage-metrics.h" ]
  sources = [ "storage-metrics.cc" ]
  public_deps = [
    "//sdk/fidl/fuchsia.hardware.block:fuchsia.hardware.block_c",
    "//sdk/fidl/fuchsia.hardware.block:fuchsia.hardware.block_llcpp",
    "//sdk/fidl/fuchsia.minfs:fuchsia.minfs_c",
    "//sdk/fidl/fuchsia.minfs:fuchsia.minfs_llcpp",
    "//sdk/fidl/fuchsia.storage.metrics:fuchsia.storage.metrics_c",
    "//sdk/fidl/fuchsia.storage.metrics:fuchsia.storage.metrics_llcpp",
    "//zircon/public/lib/fbl",
  ]
  deps = [
    "//sdk/banjo/fuchsia.hardware.block",
    "//sdk/fidl/fuchsia.hardware.block:fuchsia.hardware.block_c",
    "//sdk/fidl/fuchsia.hardware.block:fuchsia.hardware.block_llcpp",
    "//sdk/fidl/fuchsia.minfs:fuchsia.minfs_c",
    "//sdk/fidl/fuchsia.minfs:fuchsia.minfs_llcpp",
    "//sdk/fidl/fuchsia.storage.metrics:fuchsia.storage.metrics_c",
    "//sdk/fidl/fuchsia.storage.metrics:fuchsia.storage.metrics_llcpp",
    "//zircon/public/lib/fbl",
  ]
}

group("tests") {
  testonly = true
  deps = [ "test:tests" ]
}
