# 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" ]

  sources = [ "ldmsg.c" ]

  deps = [
    "//src/zircon/lib/zircon",

    # It uses <lib/fidl/txn_header.h> for initializing FIDL
    # transactional message headers.
    "//sdk/lib/fidl_base:fidl_txn_header",

    # It uses <string.h> for memcpy.
    "//zircon/system/ulib/c:headers",
  ]

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

  # 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:no-compiler-abi" ]
  configs -= [ "//build/config:no-compiler-abi" ]
  configs += [ "//build/config:no-compiler-abi" ]
}

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