# 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/toolchain/toolchain_environment.gni")
import("//build/zircon/zx_library.gni")

zx_library("pretty") {
  sdk = "static"
  sdk_headers = [
    "pretty/hexdump.h",
    "pretty/sizes.h",
  ]

  sources = [
    "hexdump.cc",
    "sizes.cc",
  ]
  public_deps = [ "//zircon/system/ulib/zircon-internal:headers" ]
  if (is_kernel && toolchain_environment != "kernel") {
    deps = [ "//zircon/kernel/lib/libc" ]
  }
}

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