# Copyright 2018 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("garnet_benchmarks") {
  testonly = true

  binaries = [
    {
      name = rebase_path("benchmarks.sh")
      dest = "benchmarks.sh"
    },
    {
      name = rebase_path("gfx_benchmarks.sh")
      dest = "gfx_benchmarks.sh"
    },
  ]
}
