# Copyright 2017 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")

executable("benchmark_example") {
  sources = [
    "main.cc",
  ]

  public_deps = [
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/trace-provider",
  ]
}

package("benchmark") {
  deprecated_system_image = true

  deps = [
    ":benchmark_example",
  ]

  binaries = [ {
        name = "benchmark_example"
      } ]
  resources = [ {
        path = rebase_path("benchmark_example.tspec")
        dest = "benchmark_example/benchmark_example.tspec"
      } ]
}
