blob: 97974d94da735266f4d245abdda4779cd86b7082 [file] [log] [blame]
# 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/fuzzing/fuzzer.gni")
import("//build/test.gni")
import("//build/unification/images/migrated_manifest.gni")
driver_module("usb-cdc-ecm") {
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" ]
configs += [ "//build/unification/config:zircon-migrated" ]
sources = [ "usb-cdc-ecm.c" ]
deps = [
":usb-cdc-ecm-lib",
"//sdk/banjo/ddk.protocol.usb.request",
"//src/devices/lib/driver",
"//zircon/public/lib/ddk",
"//zircon/public/lib/pretty",
]
}
source_set("usb-cdc-ecm-lib") {
sources = [ "usb-cdc-ecm-lib.c" ]
public_deps = [
"//sdk/banjo/ddk.protocol.ethernet",
"//sdk/banjo/ddk.protocol.usb",
"//sdk/banjo/ddk.protocol.usb.composite",
"//src/devices/usb/lib/usb",
"//zircon/public/lib/sync",
]
}
test("usb-cdc-ecm-unittest") {
# Dependent manifests unfortunately cannot be marked as `testonly`.
# TODO(44278): Remove when converting this file to proper GN build idioms.
testonly = false
configs += [ "//build/unification/config:zircon-migrated" ]
output_name = "usb-cdc-ecm-unittest"
sources = [ "usb-cdc-ecm-unittest.cc" ]
deps = [
":usb-cdc-ecm-lib",
"//src/devices/testing/fake_ddk",
"//zircon/public/lib/fdio",
"//zircon/public/lib/zxtest",
]
}
migrated_manifest("usb-cdc-ecm-manifest") {
deps = [ ":usb-cdc-ecm" ]
}
migrated_manifest("usb-cdc-ecm-unittest-manifest") {
deps = [ ":usb-cdc-ecm-unittest" ]
}
fuzzer("usb-cdc-ecm-descriptor-fuzzer") {
sources = [ "usb-cdc-ecm-descriptor-fuzzer.cc" ]
deps = [
":usb-cdc-ecm-lib",
"//src/devices/testing/fake_ddk",
"//zircon/public/lib/fdio",
"//zircon/public/lib/zxtest",
]
}