# 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/cpp/sdk_source_set.gni")
import("//build/zircon/zx_library.gni")

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

config("include") {
  include_dirs = [ "include" ]
}

sdk_source_set("ddktl") {
  category = "experimental"  # due to //sdk/lib/fidl/llcpp
  sdk_name = "ddktl"
  sources = [
    "include/ddktl/device-internal.h",
    "include/ddktl/device.h",
    "include/ddktl/fidl.h",
    "include/ddktl/init-txn.h",
    "include/ddktl/metadata.h",
    "include/ddktl/resume-txn.h",
    "include/ddktl/suspend-txn.h",
    "include/ddktl/unbind-txn.h",
  ]
  public_configs = [ ":include" ]
  public_deps = [
    # <ddktl/fidl.h> has #include <lib/stdcompat/span.h>
    "//sdk/lib/stdcompat",

    # <ddktl/fidl.h> has #include <lib/fidl/llcpp/transaction.h>.
    "//sdk/lib/fidl/llcpp",

    # <ddktl/device.h> has #include <lib/zx/channel.h>.
    "//zircon/system/ulib/zx",

    # <ddktl/fidl.h> has #include <ddk/device.h>
    "//src/lib/ddk",
  ]
  deps = [
    "//sdk/lib/driver_runtime:driver_runtime_cpp",
    "//src/lib/ddk",
    "//zircon/system/ulib/sync",
    "//zircon/system/ulib/zx",
  ]
}
