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

executable("profiler_example_bin") {
  sources = [
    "magic_numbers.cc",
    "main.cc",
    "trie.h",
    "words.cc",
  ]

  public_deps = [
    "//garnet/lib/profiler",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
  ]
}

package("profiler_example") {
  deprecated_bare_package_url = "//build"

  deps = [
    ":profiler_example_bin",
  ]

  binary = "profiler_example_bin"

  meta = [
    {
      path = rebase_path("meta/profiler_example.cmx")
      dest = "profiler_example.cmx"
    },
  ]
}
