# Copyright 2019 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

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

zx_library("debuglog") {
  sources = [ "debuglog.cc" ]
  deps = [
    ":tests",
    "//sdk/lib/fit",
    "//zircon/kernel/lib/boot-options",
    "//zircon/kernel/lib/crashlog",
    "//zircon/kernel/lib/init",
    "//zircon/kernel/lib/io",
    "//zircon/kernel/lib/ktl",
    "//zircon/kernel/lib/persistent-debuglog",
    "//zircon/kernel/lib/version",
  ]
}

source_set("tests") {
  #TODO: testonly = true
  visibility = [ ":*" ]
  sources = [ "debuglog_tests.cc" ]

  deps = [
    ":headers",
    "//zircon/kernel/lib/unittest",
    "//zircon/system/ulib/zircon-internal",
  ]
}
