# 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.

library("perftest") {
  sdk = "source"
  sdk_headers = [
    "perftest/perftest.h",
    "perftest/results.h",
    "perftest/runner.h",
  ]
  testonly = true
  sources = [
    "results.cpp",
    "runner.cpp",
  ]
  configs += [ "$zx/public/gn/config:visibility_hidden" ]
  deps = [
    "$zx/system/ulib/async",
    "$zx/system/ulib/async-loop",
    "$zx/system/ulib/async-loop:async-loop-cpp",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/trace",
    "$zx/system/ulib/trace-engine",
    "$zx/system/ulib/trace-provider",
    "$zx/system/ulib/unittest",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zx",
  ]
}
