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

source_set("threads") {
  configs += [ "//build/unification/config:zircon-migrated" ]

  testonly = true
  sources = [
    "register-set.cc",
    "threads.cc",
  ]
  deps = [
    ":thread-functions",
    "//sdk/lib/fdio",
    "//zircon/public/lib/zx",
    "//zircon/public/lib/zxtest",
    "//zircon/system/ulib/mini-process",
    "//zircon/system/ulib/runtime",
    "//zircon/system/ulib/test-exceptions",
  ]
}

source_set("thread-functions") {
  configs += [ "//build/unification/config:zircon-migrated" ]

  testonly = true
  visibility = [ ":*" ]
  sources = [ "thread-functions/thread-functions.cc" ]
  configs += [ "//build/config:no_sanitizers" ]
  deps = [ "//zircon/system/ulib/runtime" ]
}
