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

driver("cpu-trace") {
  sources = [
    "cpu-trace.cpp",
    "perf-mon.cpp",
  ]

  if (current_cpu == "arm64") {
    sources += [ "arm64-pm.cpp" ]
  } else if (current_cpu == "x64") {
    sources += [
      "intel-pm.cpp",
      "intel-pt.cpp",
    ]
  }

  deps = [
    "$zx/system/banjo/ddk-protocol-platform-device",
    "$zx/system/ulib/ddk",
    "$zx/system/ulib/ddktl",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zircon-internal",
    "$zx/system/ulib/zx",
    "$zx/system/ulib/zxcpp",
  ]
}
