# 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.

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 = [
    "$zx/system/ulib/zircon",
    "$zx/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 += [ "$zx_build/public/gn/config:no_sanitizers" ]
  }
}
