| # 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/components.gni") |
| import("//build/drivers.gni") |
| |
| group("compat") { |
| deps = [ |
| ":compat_v1_create_test", |
| ":compat_v1_device_add_null_test", |
| ":compat_v1_missing_test", |
| ":compat_v1_test", |
| ] |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ ":compat_test" ] |
| } |
| |
| # Set this to true to see all active node names that a driver that is logging is binded to. |
| add_node_names_to_log_tags = false |
| |
| source_set("lib") { |
| sources = [ |
| "api.cc", |
| "compat_driver_server.cc", |
| "compat_driver_server.h", |
| "composite_node_spec_util.h", |
| "device.cc", |
| "device.h", |
| "driver.cc", |
| "driver.h", |
| "loader.cc", |
| "loader.h", |
| "simple_binding.cc", |
| "simple_binding.h", |
| ] |
| deps = [ |
| "//sdk/lib/driver/compat/cpp", |
| "//sdk/lib/driver/compat/cpp:symbols", |
| "//sdk/lib/driver/component/cpp", |
| "//src/devices/lib/fidl:devfs_fidl", |
| "//src/devices/lib/log", |
| "//src/lib/driver_symbols:driver_symbols", |
| ] |
| public_deps = [ |
| "//sdk/fidl/fuchsia.boot:fuchsia.boot_cpp", |
| "//sdk/fidl/fuchsia.device:fuchsia.device_cpp", |
| "//sdk/fidl/fuchsia.device.manager:fuchsia.device.manager_cpp", |
| "//sdk/fidl/fuchsia.driver.compat:fuchsia.driver.compat_cpp", |
| "//sdk/fidl/fuchsia.kernel:fuchsia.kernel_cpp", |
| "//sdk/fidl/fuchsia.scheduler:fuchsia.scheduler_cpp", |
| "//sdk/lib/component/incoming/cpp", |
| "//sdk/lib/component/outgoing/cpp", |
| "//sdk/lib/driver/devfs/cpp", |
| "//sdk/lib/driver/promise/cpp", |
| "//sdk/lib/inspect/component/cpp", |
| "//sdk/lib/stdcompat", |
| "//src/devices/lib/driver:driver_runtime", |
| "//src/lib/ddk", |
| "//src/lib/ddktl", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/sync:sync-cpp", |
| ] |
| |
| if (add_node_names_to_log_tags) { |
| defines = [ "DRIVER_COMPAT_ADD_NODE_NAMES_TO_LOG_TAGS" ] |
| } |
| } |
| |
| fuchsia_driver("driver") { |
| output_name = "compat" |
| deps = [ ":lib" ] |
| _version_script = "//src/devices/misc/drivers/compat/compat.ld" |
| ldflags = |
| [ "-Wl,--version-script=" + rebase_path(_version_script, root_build_dir) ] |
| inputs = [ _version_script ] |
| } |
| |
| driver_bind_rules("v1_test_bind") { |
| disable_autobind = true |
| } |
| |
| fuchsia_driver("v1_test") { |
| sources = [ |
| "v1_test.cc", |
| "v1_test.h", |
| ] |
| deps = [ |
| ":v1_test_bind", |
| "//src/devices/lib/driver", |
| "//src/lib/ddk", |
| ] |
| } |
| |
| fuchsia_driver_component("compat_v1_test") { |
| deps = [ ":v1_test" ] |
| info = "compat_v1_test-info.json" |
| manifest = "meta/compat_v1_test.cml" |
| } |
| |
| fidl("fuchsia.test.echo") { |
| sources = [ "test.echo.fidl" ] |
| } |
| |
| fuchsia_driver("v1_create_test") { |
| sources = [ |
| "v1_create_test.cc", |
| "v1_test.h", |
| ] |
| deps = [ |
| ":v1_test_bind", |
| "//src/devices/lib/driver", |
| "//src/lib/ddk", |
| ] |
| } |
| |
| fuchsia_driver_component("compat_v1_create_test") { |
| deps = [ ":v1_create_test" ] |
| info = "compat_v1_create_test-info.json" |
| manifest = "meta/compat_v1_create_test.cml" |
| } |
| |
| fuchsia_driver("v1_missing_test") { |
| sources = [ "v1_missing_test.cc" ] |
| deps = [ |
| ":v1_test_bind", |
| "//src/devices/lib/driver", |
| "//src/lib/ddk", |
| ] |
| } |
| |
| fuchsia_driver_component("compat_v1_missing_test") { |
| deps = [ ":v1_missing_test" ] |
| info = "compat_v1_missing_test-info.json" |
| manifest = "meta/compat_v1_missing_test.cml" |
| } |
| |
| fuchsia_driver("v1_device_add_null_test") { |
| sources = [ |
| "v1_device_add_null.cc", |
| "v1_test.h", |
| ] |
| deps = [ |
| ":v1_test_bind", |
| "//src/devices/lib/driver", |
| "//src/lib/ddk", |
| ] |
| } |
| |
| fuchsia_driver_component("compat_v1_device_add_null_test") { |
| deps = [ ":v1_device_add_null_test" ] |
| info = "compat_v1_device_add_null-info.json" |
| manifest = "meta/compat_v1_device_add_null_test.cml" |
| } |
| |
| resource("test-firmware-file") { |
| sources = [ "test-firmware.txt" ] |
| outputs = [ "lib/firmware/test" ] |
| } |
| |
| executable("unittests") { |
| testonly = true |
| output_name = "compat_test" |
| sources = [ |
| "api_test.cc", |
| "device_test.cc", |
| "driver_test.cc", |
| "loader_test.cc", |
| "v1_test.h", |
| ] |
| deps = [ |
| ":fuchsia.test.echo_cpp", |
| ":lib", |
| ":test-firmware-file", |
| "//sdk/fidl/fuchsia.boot:fuchsia.boot_cpp_testing", |
| "//sdk/fidl/fuchsia.device.fs:fuchsia.device.fs_cpp_testing", |
| "//sdk/fidl/fuchsia.device.manager:fuchsia.device.manager_cpp_testing", |
| "//sdk/fidl/fuchsia.driver.framework:fuchsia.driver.framework_cpp_testing", |
| "//sdk/fidl/fuchsia.io:fuchsia.io_cpp_testing", |
| "//sdk/fidl/fuchsia.ldsvc:fuchsia.ldsvc_cpp_testing", |
| "//sdk/fidl/fuchsia.logger:fuchsia.logger_cpp_testing", |
| "//sdk/fidl/fuchsia.scheduler:fuchsia.scheduler_cpp_testing", |
| "//sdk/lib/async_patterns/testing/cpp", |
| "//sdk/lib/driver/compat/cpp", |
| "//sdk/lib/driver/compat/cpp:symbols", |
| "//sdk/lib/driver/runtime/testing/cpp", |
| "//sdk/lib/driver/testing/cpp", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/lib/testing/loop_fixture", |
| "//src/testing/fidl:placeholders_cpp", |
| "//zircon/system/ulib/async-default", |
| "//zircon/system/ulib/async-testing", |
| "//zircon/system/ulib/mock-boot-arguments", |
| "//zircon/system/ulib/sync:sync-cpp", |
| ] |
| } |
| |
| fuchsia_unittest_package("compat_test") { |
| manifest = "meta/compat_test.cml" |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| deps = [ |
| ":compat_v1_create_test", |
| ":compat_v1_device_add_null_test", |
| ":compat_v1_missing_test", |
| ":compat_v1_test", |
| ":unittests", |
| ] |
| } |