blob: 8b33fae39da1d0d49fbfc8295872d9bb0ea0b0e9 [file] [log] [blame]
load(
"@rules_fuchsia//fuchsia:defs.bzl",
"fuchsia_driver_component",
"fuchsia_component_manifest",
"fuchsia_driver_bytecode_bind_rules",
"fuchsia_driver_header_bind_rules",
"fuchsia_package",
)
fuchsia_driver_header_bind_rules(
name = "bind_header",
output = "example_driver_bind.h",
rules = "example_driver.bind",
deps = ["@fuchsia_sdk//bind/fuchsia.test"],
)
fuchsia_driver_bytecode_bind_rules(
name = "bind_bytecode",
output = "example_driver.bindbc",
rules = "example_driver.bind",
deps = ["@fuchsia_sdk//bind/fuchsia.test"],
)
cc_binary(
name = "example_driver",
srcs = [
"example_driver.cc",
"example_driver.h",
],
linkshared = True,
deps = [
":bind_header",
"@fuchsia_sdk//fidl/zx:zx_cc",
"@fuchsia_sdk//pkg/ddk",
"@fuchsia_sdk//pkg/ddktl-experimental-driver-only",
"@fuchsia_sdk//pkg/fidl-llcpp-experimental-driver-only",
"@fuchsia_sdk//pkg/zx-experimental-driver-only",
],
)
fuchsia_component_manifest(
name = "manifest",
src = "meta/example_driver.cml",
)
fuchsia_driver_component(
name = "component",
driver_lib = ":example_driver",
bind_bytecode = ":bind_bytecode",
manifest = ":manifest",
)
fuchsia_package(
name = "pkg",
package_name = "example_driver",
visibility = ["//visibility:public"],
deps = [
":component",
],
)