blob: 9111011c6452a96b0fb3685e612817b3832348dc [file] [log] [blame]
# Copyright 2024 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.
load(
"@rules_fuchsia//fuchsia:defs.bzl",
"fuchsia_cc_driver",
"fuchsia_cc_test",
"fuchsia_component_manifest",
"fuchsia_driver_bind_bytecode",
"fuchsia_driver_component",
"fuchsia_package",
"fuchsia_unittest_package",
)
fuchsia_driver_bind_bytecode(
name = "parent-driver-bind-bytecode",
output = "parent-driver.bindbc",
rules = "meta/parent-driver.bind",
deps = [
"//examples/drivers/bind/bindlib:gizmo.example",
"@fuchsia_sdk//bind/fuchsia.test",
],
)
cc_library(
name = "parent-common",
srcs = [
"parent-driver.cc",
],
hdrs = [
"parent-driver.h",
],
deps = [
"//sdk/lib/driver/compat/cpp",
"@fuchsia_sdk//fidl/fuchsia.hardware.i2cimpl:fuchsia.hardware.i2cimpl_cpp",
"@fuchsia_sdk//pkg/driver_component_cpp",
"@fuchsia_sdk//pkg/driver_logging_cpp",
"@fuchsia_sdk//pkg/zx",
],
)
fuchsia_cc_driver(
name = "driver-transport-parent",
deps = [":parent-common"],
)
fuchsia_component_manifest(
name = "parent_manifest",
src = "meta/parent-driver.cml",
)
fuchsia_driver_component(
name = "driver_transport_parent",
bind_bytecode = ":parent-driver-bind-bytecode",
driver_lib = ":driver-transport-parent",
manifest = ":parent_manifest",
)
fuchsia_package(
name = "driver_transport_parent_pkg",
package_name = "driver_transport_parent_pkg",
components = [":driver_transport_parent"],
fuchsia_api_level = "HEAD",
package_repository_name = "fuchsia.com",
visibility = ["//visibility:public"],
)
fuchsia_driver_bind_bytecode(
name = "child-driver-bind-bytecode",
output = "child-driver.bindbc",
rules = "meta/child-driver.bind",
deps = [
"@fuchsia_sdk//fidl/fuchsia.hardware.i2cimpl:fuchsia.hardware.i2cimpl_bindlib",
],
)
cc_library(
name = "child-common",
srcs = [
"child-driver.cc",
],
hdrs = [
"child-driver.h",
],
deps = [
"@fuchsia_sdk//fidl/fuchsia.hardware.i2cimpl:fuchsia.hardware.i2cimpl_cpp",
"@fuchsia_sdk//pkg/driver_component_cpp",
"@fuchsia_sdk//pkg/driver_logging_cpp",
"@fuchsia_sdk//pkg/zx",
],
)
fuchsia_cc_driver(
name = "driver-transport-child",
deps = [":child-common"],
)
fuchsia_component_manifest(
name = "child_manifest",
src = "meta/child-driver.cml",
)
fuchsia_driver_component(
name = "driver_transport_child",
bind_bytecode = ":child-driver-bind-bytecode",
driver_lib = ":driver-transport-child",
manifest = ":child_manifest",
)
fuchsia_package(
name = "driver_transport_child_pkg",
package_name = "driver_transport_child_pkg",
components = [":driver_transport_child"],
fuchsia_api_level = "HEAD",
package_repository_name = "fuchsia.com",
visibility = ["//visibility:public"],
)
fuchsia_cc_test(
name = "child-driver-test-bin",
srcs = [
"tests/child-driver-test.cc",
],
deps = [
":child-common",
"@com_google_googletest//:gtest_main",
"@fuchsia_sdk//pkg/driver_runtime_cpp",
"@fuchsia_sdk//pkg/driver_testing_cpp",
],
)
fuchsia_cc_test(
name = "parent-driver-test-bin",
srcs = [
"tests/parent-driver-test.cc",
],
deps = [
":parent-common",
"@com_google_googletest//:gtest_main",
"@fuchsia_sdk//pkg/driver_runtime_cpp",
"@fuchsia_sdk//pkg/driver_testing_cpp",
],
)
fuchsia_unittest_package(
name = "driver-transport-test",
package_name = "driver_transport_example_test",
fuchsia_api_level = "HEAD",
unit_tests = [
":child-driver-test-bin",
":parent-driver-test-bin",
],
visibility = ["//visibility:public"],
)