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

import("//build/zircon/zx_library.gni")

zx_library("trace-reader") {
  sdk = "source"
  sdk_headers = [
    "trace-reader/file_reader.h",
    "trace-reader/reader.h",
    "trace-reader/reader_internal.h",
    "trace-reader/records.h",
  ]
  sources = [
    "file_reader.cc",
    "reader.cc",
    "reader_internal.cc",
    "records.cc",
  ]
  public_deps = [
    # <trace-reader/records.h> has #include <trace-engine/types.h>.
    "//zircon/system/ulib/trace-engine:trace-engine-headers-for-reader",

    # <trace-reader/records.h> has #include <fbl/array.h>.
    "//zircon/system/ulib/fbl",

    # <trace-reader/records.h> has #include <lib/stdcompat/variant.h>.
    "//sdk/lib/stdcompat",
  ]
  deps = [ "//zircon/system/ulib/fbl" ]
}

group("tests") {
  testonly = true
  deps = [ "test:tests" ]
}
