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

# driver async helper library used by driver_compat library
package(default_visibility = ["//visibility:public"])

cc_library(
    name = "cpp",
    srcs = [
        "async_task.cc",
        "task_group.cc",
    ],
    hdrs = [
        "include/lib/driver/async-helpers/cpp/async_task.h",
        "include/lib/driver/async-helpers/cpp/task_group.h",
    ],
    includes = [
        "include",
    ],
    target_compatible_with = ["@platforms//os:fuchsia"],
    deps = [
        "@fuchsia_sdk//pkg/async-cpp",
        "@fuchsia_sdk//pkg/driver_runtime_cpp",
        "@fuchsia_sdk//pkg/fit",
    ],
)
