# 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("zx-panic-libc") {
  sdk = "source"

  host = true
  static = true

  sdk_headers = []
  sdk_migrated = true

  sources = [ "zx_panic_libc.cc" ]
}

source_set("as_source") {
  visibility = [ "$zx/system/ulib/c:*" ]
  sources = [ "zx_panic_libc.cc" ]

  # This library is linked into libc, which is used by libfuzzer.
  # Don't instrument it to avoid getting noise in code coverage.
  # TODO(fxbug.dev/25073): Once a cleaner solution is found, remove this.
  configs += [ "$zx_build_config:no_fuzzer" ]
}
