blob: bedd5a475199092e9f78a9ffff0b906923e2d61a [file] [log] [blame]
# 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/dart/toolchain.gni")
import("//build/fidl/toolchain.gni")
import("//build/sdk/sdk.gni")
import("//build/sdk/sdk_documentation.gni")
import("config.gni")
# This default target should contain all public or partner SDKs.
group("sdk") {
testonly = true
public_deps = [
":core",
":ddk",
":e2e_testing",
":modular_testing",
":zircon_sysroot",
]
}
sdk_documentation("open_source") {
name = "open_source"
category = "public"
files = []
foreach(file,
[
"AUTHORS",
"LICENSE",
"PATENTS",
]) {
files += [
{
source = "//$file"
dest = file
},
]
}
}
sdk_documentation("musl_license") {
name = "musl_license"
category = "public"
files = [
{
source = "//zircon/third_party/ulib/musl/COPYRIGHT"
dest = "COPYRIGHT.musl"
},
]
}
sdk_molecule("license") {
visibility = [ ":*" ]
deps = [
":musl_license",
":open_source",
]
}
sdk("zircon_sysroot") {
category = "internal"
export = true
deps = [
"//zircon/public/sysroot:sysroot_sdk",
]
}
sdk("ddk") {
category = "internal"
deps = [
"tools:banjo_sdk($host_toolchain)",
"//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.clock:ddk.protocol.clock_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.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.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/fidl-format:fidl-format_sdk($host_toolchain)",
"//zircon/public/tool/fidlc:fidlc_sdk($host_toolchain)",
]
}
sdk("e2e_testing") {
# TODO(DX-1314): this id should not be necessary.
id = sdk_id
category = "partner"
api = "e2e_testing.api"
deps = [
"//sdk/testing/sl4f/client:client_sdk($dart_toolchain)",
]
}
sdk_molecule("fidl") {
visibility = [ ":*" ]
deps = [
"//sdk/fidl/fuchsia.accessibility.semantics:fuchsia.accessibility.semantics_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.auth.oldtokens:fuchsia.auth.oldtokens_sdk($fidl_toolchain)",
"//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.castauth:fuchsia.castauth_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.castsetup:fuchsia.castsetup_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.castsysteminfo:fuchsia.castsysteminfo_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.deprecatedtimezone:fuchsia.deprecatedtimezone_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.developer.tiles:fuchsia.developer.tiles_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.factory:fuchsia.factory_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.feedback:fuchsia.feedback_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.media.audio:fuchsia.media.audio_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.media.drm:fuchsia.media.drm_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.media.playback:fuchsia.media.playback_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.media.sessions2:fuchsia.media.sessions2_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.net.http:fuchsia.net.http_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.net.mdns:fuchsia.net.mdns_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.settings:fuchsia.settings_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.simplecamera:fuchsia.simplecamera_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.sys:fuchsia.sys_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.sys.test:fuchsia.sys.test_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.input2:fuchsia.ui.input2_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.types:fuchsia.ui.types_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.ui.views:fuchsia.ui.views_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.web:fuchsia.web_sdk($fidl_toolchain)",
"//sdk/fidl/fuchsia.wlan.service:fuchsia.wlan.service_sdk($fidl_toolchain)",
"//zircon/public/fidl/fuchsia-cobalt:fuchsia-cobalt_sdk($fidl_toolchain)",
"//zircon/public/fidl/fuchsia-crash:fuchsia-crash_sdk($fidl_toolchain)",
"//zircon/public/fidl/fuchsia-hardware-goldfish-address-space:fuchsia-hardware-goldfish-address-space_sdk($fidl_toolchain)",
"//zircon/public/fidl/fuchsia-hardware-goldfish-control:fuchsia-hardware-goldfish-control_sdk($fidl_toolchain)",
"//zircon/public/fidl/fuchsia-hardware-goldfish-pipe:fuchsia-hardware-goldfish-pipe_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-posix-socket:fuchsia-posix-socket_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/fidl/fuchsia-tracing-provider:fuchsia-tracing-provider_sdk($fidl_toolchain)",
]
}
sdk_molecule("core_tools") {
visibility = [ ":*" ]
deps = [
"tools:dev_finder_sdk($host_toolchain)",
"tools:symbolize_sdk($host_toolchain)",
"//garnet/bin/far:bin_sdk($host_toolchain)",
"//garnet/go/src/fidl:fidlgen_sdk($host_toolchain)",
"//garnet/go/src/pm:pm_bin_sdk($host_toolchain)",
"//src/developer/debug/zxdb:zxdb_sdk($host_toolchain)",
"//src/developer/feedback/bugreport:client_sdk($host_toolchain)",
"//src/sys/cmc:cmc_sdk($host_toolchain)",
"//tools/fidlcat:fidlcat_sdk($host_toolchain)",
"//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)",
]
}
sdk_molecule("core_lib") {
visibility = [ ":*" ]
deps = [
"//sdk/lib/fidl/cpp:cpp_sdk",
"//sdk/lib/svc:svc_sdk",
"//sdk/lib/sys/cpp:cpp_sdk",
"//sdk/lib/sys/cpp/testing:unit_sdk",
"//sdk/lib/ui/scenic/cpp:cpp_sdk",
"//sdk/lib/vfs/cpp:cpp_sdk",
"//zircon/public/lib/async:async_sdk",
"//zircon/public/lib/async-cpp:async-cpp_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/async-loop-default:async-loop-default_sdk",
"//zircon/public/lib/async-testing:async-testing_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/lib/trace:trace_sdk",
"//zircon/public/lib/trace-engine:trace-engine_sdk",
"//zircon/public/lib/trace-provider-so:trace-provider-so_sdk",
]
}
sdk("core") {
id = sdk_id
category = "partner"
api = "core.api"
testonly = true
deps = [
":core_lib",
":core_tools",
":fidl",
":license",
"devices",
"docs",
"//garnet/lib/vulkan:vulkan_layers",
"//third_party/Vulkan-Loader:libvulkan_sdk",
"//third_party/Vulkan-Loader:vulkan_license",
"//zircon/public/sysroot:sysroot_sdk",
]
}
# Tools and libraries to develop for Fuchsia with Dart.
# TODO(gridman): Rename to fuchsia_dart after migration from //topaz/public/sdk is done.
sdk("fuchsia_dart2") {
category = "partner"
id = sdk_id
api = "fuchsia_dart.api"
deps = [
"//sdk/docs:modular_config_schema",
# TODO(viktard): remove, needed to soft transition
# https://fuchsia-review.googlesource.com/c/fuchsia/+/295264
"//sdk/fidl/fuchsia.ui.input2:fuchsia.ui.input2_sdk",
# TODO(SCN-1343): Remove this temporary dependency.
# Temporarily added as a direct dependency so that it can be removed from
# //sdk/fidl/fuchsia.ui.views.
"//sdk/fidl/fuchsia.intl:fuchsia.intl_sdk",
"//topaz/bin/fidlgen_dart:fidlgen_dart_sdk($host_toolchain)",
"//topaz/public/dart/composition_delegate:composition_delegate_sdk($dart_toolchain)",
"//topaz/public/dart/fidl:fidl_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia:fuchsia_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_inspect:fuchsia_inspect_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_logger:fuchsia_logger_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_media:fuchsia_media_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_modular:fuchsia_modular_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_modular_testing:fuchsia_modular_testing_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_scenic:fuchsia_scenic_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_scenic_flutter:fuchsia_scenic_flutter_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_services:fuchsia_services_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_vfs:fuchsia_vfs_sdk($dart_toolchain)",
"//topaz/public/dart/fuchsia_webview_flutter:fuchsia_webview_flutter_sdk($dart_toolchain)",
"//topaz/runtime/dart:gen_snapshot_sdk($dart_toolchain)",
"//topaz/runtime/dart:kernel_compiler_sdk($host_toolchain)",
]
}
# The `modular_testing` SDK provides FIDL protocols and C++ libraries for writing hermetic
# integration tests which use modular.
#
# This SDK has runtime dependencies on the following fuchsia packages:
# * environment_delegating_runner
# * modular_test_harness
sdk("modular_testing") {
testonly = true
id = sdk_id
api = "modular_testing.api"
category = "partner"
deps = [
"//sdk/fidl/fuchsia.modular.testing:fuchsia.modular.testing_sdk($fidl_toolchain)",
"//sdk/lib/modular/testing/cpp:cpp_sdk",
]
}