# 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.

# TODO(BLD-353): This is all temporary hacks for integrating with
# the legacy Fuchsia GN build.  This file should not exist at all.

group("banjo") {
  deps = [
    "ddk.driver",
    "ddk.hw.wlan.ieee80211",
    "ddk.hw.wlan.wlaninfo",
    "ddk.physiter",
    "ddk.protocol.acpi",
    "ddk.protocol.amlogiccanvas",
    "ddk.protocol.badblock",
    "ddk.protocol.block",
    "ddk.protocol.block.partition",
    "ddk.protocol.block.volume",
    "ddk.protocol.bt.gattsvc",
    "ddk.protocol.bt.hci",
    "ddk.protocol.buttons",
    "ddk.protocol.camerahwaccel",
    "ddk.protocol.camerasensor",
    "ddk.protocol.clock",
    "ddk.protocol.clockimpl",
    "ddk.protocol.codec",
    "ddk.protocol.composite",
    "ddk.protocol.display.capture",
    "ddk.protocol.display.controller",
    "ddk.protocol.dotmatrixdisplay",
    "ddk.protocol.dsiimpl",
    "ddk.protocol.ethernet",
    "ddk.protocol.ethernet.board",
    "ddk.protocol.ethernet.mac",
    "ddk.protocol.gdc",
    "ddk.protocol.goldfish.pipe",
    "ddk.protocol.gpio",
    "ddk.protocol.gpioimpl",
    "ddk.protocol.hidbus",
    "ddk.protocol.hiddevice",
    "ddk.protocol.i2c",
    "ddk.protocol.i2cimpl",
    "ddk.protocol.intelgpucore",
    "ddk.protocol.intelhda.codec",
    "ddk.protocol.iommu",
    "ddk.protocol.mailbox",
    "ddk.protocol.mipicsi",
    "ddk.protocol.nand",
    "ddk.protocol.pci",
    "ddk.protocol.pciroot",
    "ddk.protocol.platform.bus",
    "ddk.protocol.platform.device",
    "ddk.protocol.power",
    "ddk.protocol.powerimpl",
    "ddk.protocol.pwm",
    "ddk.protocol.rawnand",
    "ddk.protocol.scpi",
    "ddk.protocol.sdhci",
    "ddk.protocol.sdio",
    "ddk.protocol.sdmmc",
    "ddk.protocol.serial",
    "ddk.protocol.serialimpl",
    "ddk.protocol.serialimpl.async",
    "ddk.protocol.shareddma",
    "ddk.protocol.spi",
    "ddk.protocol.spiimpl",
    "ddk.protocol.sysmem",
    "ddk.protocol.tee",
    "ddk.protocol.test",
    "ddk.protocol.usb",
    "ddk.protocol.usb.bus",
    "ddk.protocol.usb.composite",
    "ddk.protocol.usb.dci",
    "ddk.protocol.usb.function",
    "ddk.protocol.usb.hci",
    "ddk.protocol.usb.hub",
    "ddk.protocol.usb.modeswitch",
    "ddk.protocol.usb.phy",
    "ddk.protocol.usb.request",
    "ddk.protocol.wlan.info",
    "ddk.protocol.wlan.mac",
    "ddk.protocol.wlanif",
    "wlan.protocol.info",
    "zircon.device.audio",
    "zircon.device.block",
    "zircon.device.camera",
    "zircon.device.nand",
    "zircon.device.scpi",
    "zircon.device.sysmem",
    "zircon.hw.pci",
    "zircon.hw.usb",
    "zircon.hw.usb.hub",
    "zircon.syscalls.pci",
  ]
}
