# 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/package.gni")

package("kcounter_inspect") {
  binaries = [
    {
      name = "kcounter_inspect"
      shell = true
    },
  ]

  meta = [
    {
      path = "meta/kcounter_inspect.cmx"
      dest = "kcounter_inspect.cmx"
    },
  ]

  deps = [ ":main" ]
}

source_set("lib") {
  sources = [
    "vmo_file_with_update.cc",
    "vmo_file_with_update.h",
  ]

  public_deps = [
    "//sdk/lib/vfs/cpp",
    "//zircon/public/lib/zx",
    "//zircon/system/fidl/fuchsia-kernel",
  ]
}

executable("main") {
  output_name = "kcounter_inspect"

  sources = [ "main.cc" ]

  deps = [
    ":lib",
    "//garnet/public/lib/inspect_deprecated",
    "//garnet/public/lib/inspect_deprecated:component",
    "//sdk/lib/sys/cpp",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/async-loop-default",
    "//zircon/system/fidl/fuchsia-kernel",
  ]
}
