# 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") {
  sources = [
    "event.cc",
    "observer.cc",
    "include/lib/trace/event.h",
    "include/lib/trace/event_args.h",
    "include/lib/trace/internal/event_args.h",
    "include/lib/trace/internal/event_common.h",
    "include/lib/trace/internal/event_internal.h",
    "include/lib/trace/internal/pairs_internal.h",
    "include/lib/trace/internal/string_traits.h",
    "include/lib/trace/observer.h",
  ]
  include_dirs = [ "include" ]
  public_deps = [
    "../async",
    "../async-cpp",
    "../fit",
    "../trace-engine",
    "../zx",
  ]
}

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