# Copyright 2018 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/banjo/toolchain.gni")
import("//build/fidl/toolchain.gni")
import("//build/sdk/sdk.gni")
import("//build/sdk/sdk_documentation.gni")

declare_args() {
  # Identifier for the Garnet SDK.
  sdk_id = ""
}

sdk("zircon_sysroot") {
  category = "partner"

  export = true

  deps = [
    "//zircon/public/sysroot:sysroot_sdk",
  ]
}

sdk("ddk") {
  category = "partner"

  deps = [
    "//zircon/public/banjo/ddk-driver:ddk-driver_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-acpi:ddk-protocol-acpi_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-amlogic-canvas:ddk-protocol-amlogic-canvas_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-bad-block:ddk-protocol-bad-block_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-block:ddk-protocol-block_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-bt-gatt-svc:ddk-protocol-bt-gatt-svc_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-bt-hci:ddk-protocol-bt-hci_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-clk:ddk-protocol-clk_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-display-controller:ddk-protocol-display-controller_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-ethernet:ddk-protocol-ethernet_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-ethernet-board:ddk-protocol-ethernet-board_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-ethernet-mac:ddk-protocol-ethernet-mac_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-gpio:ddk-protocol-gpio_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-gpio-impl:ddk-protocol-gpio-impl_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-hidbus:ddk-protocol-hidbus_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-i2c:ddk-protocol-i2c_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-i2c-impl:ddk-protocol-i2c-impl_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-intel-gpu-core:ddk-protocol-intel-gpu-core_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-intel-hda-codec:ddk-protocol-intel-hda-codec_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-intel-hda-dsp:ddk-protocol-intel-hda-dsp_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-iommu:ddk-protocol-iommu_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-mailbox:ddk-protocol-mailbox_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-mipicsi:ddk-protocol-mipicsi_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-nand:ddk-protocol-nand_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-pci:ddk-protocol-pci_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-pciroot:ddk-protocol-pciroot_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-platform-bus:ddk-protocol-platform-bus_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-platform-device:ddk-protocol-platform-device_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-platform-proxy:ddk-protocol-platform-proxy_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-rawnand:ddk-protocol-rawnand_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-scpi:ddk-protocol-scpi_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-sdhci:ddk-protocol-sdhci_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-sdio:ddk-protocol-sdio_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-sdmmc:ddk-protocol-sdmmc_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-serial:ddk-protocol-serial_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-serial-impl:ddk-protocol-serial-impl_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-test:ddk-protocol-test_sdk($banjo_toolchain)",
    "//zircon/public/lib/ddk:ddk_sdk",
    "//zircon/public/lib/ddktl:ddktl_sdk",
    "//zircon/public/lib/driver:driver_sdk",
    "//zircon/public/sysroot:sysroot_sdk",
    "//zircon/public/tool/banjo-format:banjo-format_sdk($host_toolchain)",
    "//zircon/public/tool/banjoc:banjoc_sdk($host_toolchain)",
    "//zircon/public/tool/fidl-format:fidl-format_sdk($host_toolchain)",
    "//zircon/public/tool/fidlc:fidlc_sdk($host_toolchain)",
  ]
}

has_sdk_id = sdk_id != ""

if (has_sdk_id) {
  sdk_id_file = "$target_gen_dir/sdk_id.txt"
  write_file(sdk_id_file, sdk_id)

  sdk_documentation("sdk_id") {
    name = "sdk_id"

    category = "partner"

    files = [
      {
        source = sdk_id_file
        dest = "meta/id.txt"
      }
    ]
  }
}

sdk("garnet") {
  category = "partner"

  testonly = true

  deps = [
    "docs",
    "//build/images:images_sdk",
    "//garnet/bin/far:bin_sdk($host_toolchain)",
    "//garnet/bin/zxdb:zxdb_sdk($host_toolchain)",
    "//garnet/bin/dev_finder:dev_finder_sdk($host_toolchain)",
    "//garnet/go/src/fidl:fidlgen_sdk($host_toolchain)",
    "//garnet/go/src/pm:pm_bin_sdk($host_toolchain)",
    "//garnet/lib/vulkan:vulkan_layers",
    "//garnet/public/fidl/fuchsia.bluetooth.gatt:fuchsia.bluetooth.gatt_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.bluetooth.le:fuchsia.bluetooth.le_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.developer.tiles:fuchsia.developer.tiles_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.fonts:fuchsia.fonts_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.images:fuchsia.images_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.math:fuchsia.math_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.media:fuchsia.media_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.mediacodec:fuchsia.mediacodec_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.net.http:fuchsia.net.http_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.net.oldhttp:fuchsia.net.oldhttp_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.netstack:fuchsia.netstack_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.simplecamera:fuchsia.simplecamera_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.sys:fuchsia.sys_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.ui.app:fuchsia.ui.app_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.ui.gfx:fuchsia.ui.gfx_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.ui.input:fuchsia.ui.input_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.ui.policy:fuchsia.ui.policy_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.ui.scenic:fuchsia.ui.scenic_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.ui.views:fuchsia.ui.views_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.ui.viewsv1:fuchsia.ui.viewsv1_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.ui.viewsv1token:fuchsia.ui.viewsv1token_sdk($fidl_toolchain)",
    "//garnet/public/fidl/fuchsia.wlan.service:fuchsia.wlan.service_sdk($fidl_toolchain)",
    "//garnet/public/lib/fidl/cpp:cpp_sdk",
    "//garnet/public/lib/svc:svc_sdk",
    "//garnet/public/lib/ui/scenic/cpp:cpp_sdk",
    "//third_party/vulkan_loader_and_validation_layers/loader:loader_sdk",
    "//zircon/public/fidl/fuchsia-logger:fuchsia-logger_sdk($fidl_toolchain)",
    "//zircon/public/fidl/fuchsia-mem:fuchsia-mem_sdk($fidl_toolchain)",
    "//zircon/public/fidl/fuchsia-process:fuchsia-process_sdk($fidl_toolchain)",
    "//zircon/public/fidl/fuchsia-sysinfo:fuchsia-sysinfo_sdk($fidl_toolchain)",
    "//zircon/public/lib/async:async_sdk",
    "//zircon/public/lib/async-default:async-default_sdk",
    "//zircon/public/lib/async-loop:async-loop_sdk",
    "//zircon/public/lib/async-loop-cpp:async-loop-cpp_sdk",
    "//zircon/public/lib/fdio:fdio_sdk",
    "//zircon/public/lib/memfs:memfs_sdk",
    "//zircon/public/lib/sync:sync_sdk",
    "//zircon/public/lib/syslog:syslog_sdk",
    "//zircon/public/sysroot:sysroot_sdk",
    "//zircon/public/tool/bootserver:bootserver_sdk($host_toolchain)",
    "//zircon/public/tool/fidl-format:fidl-format_sdk($host_toolchain)",
    "//zircon/public/tool/fidlc:fidlc_sdk($host_toolchain)",
    "//zircon/public/tool/fvm:fvm_sdk($host_toolchain)",
    "//zircon/public/tool/loglistener:loglistener_sdk($host_toolchain)",
    "//zircon/public/tool/merkleroot:merkleroot_sdk($host_toolchain)",
    "//zircon/public/tool/minfs:minfs_sdk($host_toolchain)",
    "//zircon/public/tool/netaddr:netaddr_sdk($host_toolchain)",
    "//zircon/public/tool/netcp:netcp_sdk($host_toolchain)",
    "//zircon/public/tool/netls:netls_sdk($host_toolchain)",
    "//zircon/public/tool/netruncmd:netruncmd_sdk($host_toolchain)",
    "//zircon/public/tool/zbi:zbi_sdk($host_toolchain)",
  ]

  if (has_sdk_id) {
    deps += [
      ":sdk_id",
    ]
  }

  # We explicitly do not want to pull these dependencies into the SDK.
  #
  # These libraries are common dependencies in the Fuchsia source tree, but they
  # are not stable enough to expose in the SDK.
  #
  # See <https://fuchsia.googlesource.com/docs/+/master/development/sdk/standards.md#dependencies>
  # for more information.
  assert_no_deps = [
    "//garnet/public/lib/fsl:fsl_sdk",
    "//garnet/public/lib/fxl:fxl_sdk",
    "//zircon/public/lib/fbl:fbl_sdk",
    "//zircon/public/lib/fs:fs_sdk",
  ]

  if (target_cpu != "arm64") {
    deps += [
      "//build/images:fvm.sparse.blk_sdk",
      "//build/images:local.esp.blk_sdk",
      "//build/images:zircon.vboot_sdk",
    ]
  }
}
