# 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/config.gni")
import("//build/package.gni")

executable("bin") {
  output_name = "mem"
  sources = [ "main.cc" ]
  deps = [
    "//sdk/lib/sys/cpp",
    "//src/developer/memory/metrics",
    "//src/lib/fxl",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/async-loop-default",
    "//zircon/public/lib/trace",
    "//zircon/public/lib/trace-provider-with-fdio",
  ]
}

package("mem") {
  deps = [ ":bin" ]
  binaries = [
    {
      name = "mem"
      shell = true
    },
  ]
}
