blob: 7613470926b7eaddc28296d2d8fa13cd24f0ecd8 [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/bind/bind.gni")
import("//build/components.gni")
import("//build/drivers.gni")
import("//build/test.gni")
driver_bind_rules("buttons-bind") {
rules = "buttons.bind"
bind_output = "buttons.bindbc"
tests = "bind-tests.json"
deps = [
"//sdk/fidl/fuchsia.hardware.gpio:fuchsia.hardware.gpio_bindlib",
"//src/devices/bind/fuchsia.devicetree",
"//src/devices/bind/fuchsia.gpio",
"//src/devices/bind/fuchsia.platform",
]
}
fuchsia_driver("buttons-driver") {
output_name = "buttons"
deps = [
":buttons-bind",
":common",
]
}
fuchsia_driver_component("buttons") {
visibility = [ ":*" ]
component_name = "buttons"
deps = [ ":buttons-driver" ]
info = "buttons-info.json"
manifest = "meta/buttons.cml"
}
fuchsia_driver_package("package") {
package_name = "buttons"
driver_components = [ ":buttons" ]
}
source_set("common") {
configs += [ "//build/config:all_source" ]
sources = [
"buttons-device.cc",
"buttons.cc",
]
public_deps = [
"//sdk/fidl/fuchsia.driver.compat:fuchsia.driver.compat_cpp",
"//sdk/fidl/fuchsia.hardware.gpio:fuchsia.hardware.gpio_cpp",
"//sdk/fidl/fuchsia.input.report:fuchsia.input.report_cpp",
"//sdk/lib/driver/compat/cpp:cpp",
"//sdk/lib/driver/component/cpp:cpp",
"//sdk/lib/driver/devfs/cpp",
"//src/devices/bin/driver_runtime",
"//src/devices/bus/lib/device-protocol-pdev",
"//src/lib/ddk:ddk-metadata-headers",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/inspect",
"//zircon/system/ulib/zx",
]
}
test("buttons-test") {
configs += [ "//build/config:all_source" ]
output_name = "buttons-test"
sources = [ "buttons-test.cc" ]
deps = [
":common",
"//sdk/lib/async_patterns/testing/cpp",
"//sdk/lib/driver/testing/cpp:cpp",
"//src/devices/gpio/testing/fake-gpio",
"//zircon/system/ulib/zxtest",
]
}
fuchsia_unittest_package("buttons-test-package") {
package_name = "buttons-test"
deps = [ ":buttons-test" ]
}
group("tests") {
testonly = true
deps = [
":buttons-bind_test",
":buttons-test-package",
]
}