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

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

sdk_source_set("driver_runtime") {
  category = "experimental"
  sdk_name = "driver_runtime"
  sources = [
    "include/lib/fdf/arena.h",
    "include/lib/fdf/channel.h",
    "include/lib/fdf/channel_read.h",
    "include/lib/fdf/dispatcher.h",
    "include/lib/fdf/types.h",
  ]
  public_configs = [ ":include" ]
  public_deps = [
    # <lib/fdf/channel_read.h> and <lib/fdf/dispatcher.h> have #include <lib/async/dispatcher.h>.
    "//zircon/system/ulib/async",
  ]
  deps = [
    "//zircon/system/ulib/sync",
    "//zircon/system/ulib/zx",
  ]
}

sdk_source_set("driver_runtime_cpp") {
  category = "experimental"
  sdk_name = "driver_runtime_cpp"
  public = [
    "include/lib/fdf/cpp/arena.h",
    "include/lib/fdf/cpp/channel.h",
    "include/lib/fdf/cpp/channel_read.h",
    "include/lib/fdf/cpp/dispatcher.h",
    "include/lib/fdf/cpp/unowned.h",
  ]
  public_configs = [ ":include" ]
  public_deps = [
    ":driver_runtime",
    "//sdk/lib/fit",
    "//zircon/system/ulib/zx",
    "//zircon/system/ulib/zxc",
  ]
  sources = [ "channel_read.cc" ]
  deps = [ ":driver_runtime" ]
}

sdk_source_set("driver_runtime_internal") {
  category = "experimental"
  sdk_name = "driver_runtime_internal"
  sources = [ "include/lib/fdf/internal.h" ]
  visibility = [
    "//sdk/lib/driver_runtime/*",
    "//sdk/lib/fidl_driver/tests/coding/*",
    "//sdk/lib/fidl_driver/tests/transport/*",
    "//src/devices/bin/driver_host/*",
    "//src/devices/bin/driver_host2/*",
    "//src/devices/bin/driver_runtime/*",
    "//src/devices/misc/drivers/compat:unittests",

    # This should be migrated to mock_ddk to avoid this.
    "//src/devices/securemem/drivers/aml-securemem:aml-securemem-test-bin",
    "//src/devices/testing/driver-runtime-main/*",
    "//src/tests/benchmarks/fidl/driver_cpp/*",
    "//src/tests/benchmarks/fidl/driver_llcpp/*",
  ]
  public_deps = [
    ":driver_runtime",
    "//zircon/system/ulib/zx",
  ]
  public_configs = [ ":include" ]
}

sdk_source_set("driver_runtime_internal_cpp") {
  category = "partner"
  sdk_name = "driver_runtime_internal_cpp"
  public = [ "include/lib/fdf/cpp/internal.h" ]
  public_configs = [ ":include" ]
  public_deps = [
    ":driver_runtime_internal",
    "//sdk/lib/fit",
    "//zircon/system/ulib/zx",
  ]
  sources = [ "internal.cc" ]
}
