blob: d9e288700f0afe0466b420aeb80783154af56d61 [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/dist/renamed_binary.gni")
import("//build/drivers.gni")
driver_bind_rules("sysdev-bind") {
header_output = "sysdev-bind.h"
disable_autobind = true
}
# TODO(https://fxbug.dev/77388): enable tests to select only 1 of the 3
# root device drivers (test, misc, and sys).
#
# This is a workaround to include the sysdev test driver as the sys root
# device driver. It would be better to do this by specifying the
# `--sys-device-driver` flag to `driver-manager-test`, but this is
# currently not possible to do at build time with the v2 isolated_devmgr
# template. With this flag unspecified, `driver-manager-test` falls back to
# looking for driver/platform-bus.so, so we rename this sys driver to that.
renamed_binary("renamed_sys_binary") {
source = "$root_out_dir/sysdev.so"
source_deps = [ ":sysdev" ]
dest = "driver/platform-bus.so"
}
fuchsia_driver("sysdev-driver") {
output_name = "sysdev"
sources = [ "sysdev.cc" ]
deps = [
":sysdev-bind",
"//sdk/fidl/fuchsia.boot:fuchsia.boot_c",
"//sdk/lib/fdio",
"//src/devices/lib/driver",
"//src/lib/ddk",
"//src/lib/ddktl",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/zx",
]
# TODO(fxbug.dev/95833): This target uses the deprecated C bindings.
# Consider switching to the C++ bindings. See linked bug for details.
configs += [ "//build/c:fidl-deprecated-c-bindings" ]
}
fuchsia_driver_component("sysdev") {
component_name = "sysdev"
deps = [ ":sysdev-driver" ]
info = "sysdev-info.json"
colocate = true
}