# 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/dev/udisplay:headers",
    "//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",
  ]
}
