# 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-amlogiccanvas:ddk-protocol-amlogiccanvas_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-badblock:ddk-protocol-badblock_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-block:ddk-protocol-block_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-bt-gattsvc:ddk-protocol-bt-gattsvc_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-gpioimpl:ddk-protocol-gpioimpl_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-i2cimpl:ddk-protocol-i2cimpl_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-intelgpucore:ddk-protocol-intelgpucore_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-intelhda-codec:ddk-protocol-intelhda-codec_sdk($banjo_toolchain)",
    "//zircon/public/banjo/ddk-protocol-intelhda-dsp:ddk-protocol-intelhda-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-serialimpl:ddk-protocol-serialimpl_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",
    "tools:symbolize_sdk($host_toolchain)",
    "//build/images:images_sdk",
    "//garnet/bin/cmc:cmc_sdk($host_toolchain)",
    "//garnet/bin/dev_finder:dev_finder_sdk($host_toolchain)",
    "//garnet/bin/far:bin_sdk($host_toolchain)",
    "//garnet/bin/zxdb:zxdb_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",
    "//sdk/fidl/fuchsia.bluetooth.gatt:fuchsia.bluetooth.gatt_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.bluetooth.le:fuchsia.bluetooth.le_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.camera:fuchsia.camera_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.developer.tiles:fuchsia.developer.tiles_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.fonts:fuchsia.fonts_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.images:fuchsia.images_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.math:fuchsia.math_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.media:fuchsia.media_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.mediaplayer:fuchsia.mediaplayer_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.net.http:fuchsia.net.http_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.net.oldhttp:fuchsia.net.oldhttp_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.netstack:fuchsia.netstack_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.simplecamera:fuchsia.simplecamera_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.sys:fuchsia.sys_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.ui.app:fuchsia.ui.app_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.ui.gfx:fuchsia.ui.gfx_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.ui.input:fuchsia.ui.input_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.ui.policy:fuchsia.ui.policy_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.ui.scenic:fuchsia.ui.scenic_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.ui.views:fuchsia.ui.views_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.ui.viewsv1:fuchsia.ui.viewsv1_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.ui.viewsv1token:fuchsia.ui.viewsv1token_sdk($fidl_toolchain)",
    "//sdk/fidl/fuchsia.wlan.service:fuchsia.wlan.service_sdk($fidl_toolchain)",
    "//sdk/lib/fidl/cpp:cpp_sdk",
    "//sdk/lib/svc:svc_sdk",
    "//sdk/lib/ui/scenic/cpp:cpp_sdk",
    "//third_party/vulkan_loader_and_validation_layers/loader:loader_sdk",
    "//zircon/public/fidl/fuchsia-cobalt:fuchsia-cobalt_sdk($fidl_toolchain)",
    "//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/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/fuchsia/+/master/docs/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",
    ]
  }
}
