| # 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/config/fuchsia/rules.gni") |
| import("//build/test.gni") |
| import("//build/unification/images/migrated_manifest.gni") |
| |
| driver_module("usb-bus") { |
| defines = [ "_ALL_SOURCE" ] |
| configs += [ "//build/config/fuchsia:enable_zircon_asserts" ] |
| configs -= [ "//build/config/fuchsia:no_cpp_standard_library" ] |
| configs += [ "//build/config/fuchsia:static_cpp_standard_library" ] |
| if (is_fuchsia) { |
| configs += [ "//build/unification/config:zircon-migrated" ] |
| } |
| sources = [ "usb-bus.cc" ] |
| deps = [ |
| ":common", |
| "//src/devices/lib/driver", |
| ] |
| } |
| |
| source_set("common") { |
| defines = [ "_ALL_SOURCE" ] |
| sources = [ "usb-device.cc" ] |
| deps = [ |
| "//sdk/banjo/ddk.protocol.usb.hub", |
| "//zircon/public/lib/ddk", |
| "//zircon/public/lib/fbl", |
| "//zircon/system/banjo/ddk.protocol.usb.composite", |
| "//zircon/system/ulib/utf_conversion", |
| ] |
| public_deps = [ |
| "//sdk/banjo/ddk.protocol.usb.bus", |
| "//sdk/banjo/ddk.protocol.usb.hci", |
| "//sdk/fidl/fuchsia.hardware.usb.device:fuchsia.hardware.usb.device_llcpp", |
| "//zircon/public/lib/ddktl", |
| "//zircon/public/lib/sync", |
| "//zircon/public/lib/usb", |
| "//zircon/system/banjo/ddk.protocol.usb", |
| "//zircon/system/banjo/ddk.protocol.usb.request", |
| ] |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ ":usb-device" ] |
| } |
| |
| test("usb-device") { |
| # Dependent manifests unfortunately cannot be marked as `testonly`. |
| # TODO(44278): Remove when converting this file to proper GN build idioms. |
| if (is_fuchsia) { |
| testonly = false |
| } |
| if (is_fuchsia) { |
| configs += [ "//build/unification/config:zircon-migrated" ] |
| } |
| if (is_fuchsia) { |
| fdio_config = [ "//build/config/fuchsia:fdio_config" ] |
| if (configs + fdio_config - fdio_config != configs) { |
| configs -= fdio_config |
| } |
| } |
| sources = [ "tests/usb-device.cc" ] |
| deps = [ |
| ":common", |
| "//zircon/public/lib/fake-bti", |
| "//zircon/public/lib/fake_ddk", |
| "//zircon/public/lib/zxtest", |
| "//zircon/system/ulib/utf_conversion", |
| ] |
| } |
| |
| migrated_manifest("usb-bus-manifest") { |
| deps = [ ":usb-bus" ] |
| } |
| |
| migrated_manifest("usb-device-manifest") { |
| deps = [ ":usb-device" ] |
| } |