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

# Common benchmarking functionality and utilities shared by benchmarks across
# all layers.
source_set("benchmarking") {
  sources = [
    "benchmarking.cc",
    "benchmarking.h",
  ]

  public_deps = [
    "//src/lib/fxl",
    "//zircon/public/lib/fdio",
    "//zircon/public/lib/zx",
  ]

  libs = [ "zircon" ]
}

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

  public_deps = [
    "//src/lib/fxl",
    "//zircon/public/lib/fdio",
    "//zircon/public/lib/zx",
  ]

  libs = [ "zircon" ]
}
