# 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("$zx_build/public/gn/migrated_targets.gni")

zx_library("pretty") {
  sdk = "static"
  sdk_headers = [
    "pretty/hexdump.h",
    "pretty/sizes.h",
  ]
  sdk_migrated = true
  kernel = true
  host = true
  static = true
  sources = [
    "hexdump.cc",
    "sizes.cc",
  ]
  public_deps = [ "$zx/system/ulib/zircon-internal:headers" ]
  if (is_kernel && toolchain.environment != "kernel") {
    deps = [ "$zx/kernel/lib/libc" ]
  }

  # TODO(fxbug.dev/58162): delete the below and fix compiler warnings
  configs += [ "$zx_build_config:Wno-conversion" ]
}

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