# 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("sync") {
  sdk = "static"
  sdk_publishable = true
  sdk_headers = [
    "lib/sync/internal/condition-template.h",
    "lib/sync/internal/mutex-internal.h",
    "lib/sync/completion.h",
    "lib/sync/condition.h",
    "lib/sync/mutex.h",
  ]
  sources = [
    "completion.c",
    "condition.cc",
    "mutex.c",
  ]
  deps = [
    "//src/zircon/lib/zircon",
    "//zircon/system/ulib/zircon-internal",
  ]

  if (toolchain.base_environment == "user") {
    # This code is used in early startup, where safe-stack setup is not
    # ready yet.
    configs += [ "//build/config/zircon:no_sanitizers" ]
  }
}
