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

# DO NOT MANUALLY EDIT!
# Generated by //scripts/sdk/gn/generate.py.


import("../../build/fuchsia_sdk_pkg.gni")

fuchsia_sdk_pkg("trace-engine") {
  shared_libs = [ "trace-engine" ]

  deps = [
    "../async",
  ]
  sources = [
    "include/lib/trace-engine/context.h",
    "include/lib/trace-engine/fields.h",
    "include/lib/trace-engine/handler.h",
    "include/lib/trace-engine/instrumentation.h",
    "include/lib/trace-engine/types.h",
  ]
  include_dirs = [ "include" ]
}

group("all"){
  deps = [
    ":trace-engine",
  ]
}
