# 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",
    "//src/lib/fxl",
  ]
}

package("profiler_example") {
  deps = [
    ":profiler_example_bin",
  ]

  binary = "profiler_example_bin"

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