# 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/zircon/migrated_targets.gni")

zx_library("ldmsg") {
  sdk = "static"
  sdk_headers = [ "ldmsg/ldmsg.h" ]
  sdk_migrated = true
  sources = [ "ldmsg.c" ]
  deps = [ "//src/zircon/lib/zircon" ]

  # It uses <string.h> for memcpy.
  deps += [ "//zircon/system/ulib/c:headers" ]

  # This code is called by the dynamic linker in early startup before
  # fancy stacks have been set up.  So it can't rely on safe-stack or
  # shadow-call-stack ABIs.
  configs += [
    "//build/config/zircon:no_safestack",
    "//build/config/zircon:no-shadow-call-stack",

    # 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.
    "//build/config/zircon:no_fuzzer",
  ]

  # TODO(fxb/58162): delete the below and fix compiler warnings
  configs += [ "//build/config/zircon:Wno-conversion" ]
}

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