# Copyright 2021 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/zx_library.gni")

zx_library("fit-promise") {
  sdk = "source"
  sdk_publishable = "partner"
  stable = true

  sdk_headers = [
    "lib/fpromise/barrier.h",
    "lib/fpromise/bridge.h",
    "lib/fpromise/bridge_internal.h",
    "lib/fpromise/promise.h",
    "lib/fpromise/promise_internal.h",
    "lib/fpromise/result.h",
    "lib/fpromise/scheduler.h",
    "lib/fpromise/scope.h",
    "lib/fpromise/sequencer.h",
    "lib/fpromise/single_threaded_executor.h",
  ]

  sources = [
    "barrier.cc",
    "promise.cc",
    "scheduler.cc",
    "scope.cc",
    "sequencer.cc",
    "single_threaded_executor.cc",
  ]

  public_deps = [
    "//sdk/lib/fit",
    "//sdk/lib/stdcompat",
  ]
}

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