| # Copyright 2021 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") | 
 |  | 
 | test("test") { | 
 |   output_name = "fidl-protocol-test" | 
 |  | 
 |   sources = [ "fidl-protocol-test.cc" ] | 
 |  | 
 |   deps = [ | 
 |     "//garnet/examples/fidl/services:echo_llcpp", | 
 |     "//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test_llcpp", | 
 |     "//sdk/lib/fdio", | 
 |     "//src/devices/lib/device-watcher/cpp", | 
 |     "//src/lib/ddk", | 
 |     "//zircon/system/ulib/service:service-llcpp", | 
 |     "//zircon/system/ulib/zxtest", | 
 |   ] | 
 | } | 
 |  | 
 | fuchsia_unittest_package("fidl-protocol-test") { | 
 |   deps = [ | 
 |     ":child", | 
 |     ":parent", | 
 |     ":test", | 
 |     "//sdk/lib/driver_test_realm", | 
 |     "//src/devices/misc/drivers/test-parent", | 
 |   ] | 
 | } | 
 |  | 
 | bind_library("fidl.examples.echo-bind") { | 
 |   name = "fidl.examples.echo" | 
 |   source = "fidl-examples-echo.bind" | 
 | } | 
 |  | 
 | driver_bind_rules("parent-driver-bind") { | 
 |   rules = "parent-driver.bind" | 
 |   header_output = "parent-driver-bind.h" | 
 |   deps = [ "//src/devices/bind/fuchsia.test" ] | 
 | } | 
 |  | 
 | fuchsia_driver("parent-driver") { | 
 |   output_name = "fidl-protocol-parent" | 
 |   sources = [ "parent-driver.cc" ] | 
 |   deps = [ | 
 |     ":parent-driver-bind", | 
 |     "//garnet/examples/fidl/services:echo_llcpp", | 
 |     "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp", | 
 |     "//src/devices/lib/driver", | 
 |     "//src/lib/ddk", | 
 |     "//src/lib/ddktl", | 
 |     "//zircon/system/ulib/fidl:fidl-llcpp", | 
 |     "//zircon/system/ulib/svc", | 
 |   ] | 
 | } | 
 |  | 
 | fuchsia_driver_component("parent") { | 
 |   component_name = "parent" | 
 |   deps = [ ":parent-driver" ] | 
 | } | 
 |  | 
 | driver_bind_rules("child-driver-bind") { | 
 |   rules = "child-driver.bind" | 
 |   header_output = "child-driver-bind.h" | 
 |   deps = [ ":fidl.examples.echo-bind" ] | 
 | } | 
 |  | 
 | fuchsia_driver("child-driver") { | 
 |   output_name = "fidl-protocol-child" | 
 |   sources = [ "child-driver.cc" ] | 
 |   deps = [ | 
 |     ":child-driver-bind", | 
 |     "//garnet/examples/fidl/services:echo_llcpp", | 
 |     "//src/devices/lib/driver", | 
 |     "//src/lib/ddk", | 
 |     "//src/lib/ddktl", | 
 |     "//zircon/system/ulib/fidl:fidl-llcpp", | 
 |   ] | 
 | } | 
 |  | 
 | fuchsia_driver_component("child") { | 
 |   component_name = "child" | 
 |   deps = [ ":child-driver" ] | 
 | } | 
 |  | 
 | group("tests") { | 
 |   testonly = true | 
 |   deps = [ ":fidl-protocol-test" ] | 
 | } |