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

import("//build/bind/bind.gni")

bind_library("fuchsia.pci") {
  sdk_category = "experimental"
  source = "fuchsia.pci.bind"
}

bind_library("fuchsia.pci.serial") {
  source = "fuchsia.pci.serial.bind"
}

group("serial") {
  public_deps = [ ":fuchsia.pci.serial" ]
}

bind_library("fuchsia.pci.serial.usb") {
  source = "fuchsia.pci.serial.usb.bind"
}

group("serial.usb") {
  public_deps = [ ":fuchsia.pci.serial.usb" ]
}
