| # 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"], |
| ) |