| # Copyright 2023 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_overrides/pigweed.gni") |
| import("$dir_pw_build/target_types.gni") |
| |
| config("public_include_path") { |
| include_dirs = [ "public" ] |
| } |
| |
| config("backend_config") { |
| include_dirs = [ "public_overrides" ] |
| } |
| |
| # Backend for //pw_async:task |
| pw_source_set("task") { |
| public_configs = [ |
| ":public_include_path", |
| ":backend_config", |
| ] |
| public_deps = [ |
| "$dir_pw_async:task.facade", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//zircon/system/ulib/zx", |
| ] |
| sources = [ "task.cc" ] |
| } |
| |
| # Backend for //pw_async:fake_dispatcher |
| pw_source_set("fake_dispatcher") { |
| public_configs = [ |
| ":public_include_path", |
| ":backend_config", |
| ] |
| sources = [ "fake_dispatcher.cc" ] |
| public_deps = [ |
| ":task", |
| "$dir_pw_async:fake_dispatcher.facade", |
| ] |
| } |
| |
| source_set("dispatcher") { |
| public_configs = [ ":public_include_path" ] |
| public = [ "public/pw_async_fuchsia/dispatcher.h" ] |
| sources = [ "dispatcher.cc" ] |
| public_deps = [ |
| ":task", |
| "$dir_pw_async:dispatcher", |
| ] |
| } |
| |
| pw_source_set("util") { |
| public_configs = [ ":public_include_path" ] |
| public = [ "public/pw_async_fuchsia/util.h" ] |
| visibility = [ "//src/connectivity/bluetooth/core/bt-host/*" ] |
| } |
| |
| pw_source_set("fake_dispatcher_fixture") { |
| testonly = true |
| public = [ "$dir_pw_async/public/pw_async/fake_dispatcher_fixture.h" ] |
| public_deps = [ |
| ":fake_dispatcher", |
| "$dir_pw_unit_test", |
| "//third_party/googletest:gtest", |
| ] |
| visibility = [ |
| ":*", |
| "//src/connectivity/bluetooth/core/bt-host/*", |
| ] |
| } |
| |
| executable("pigweed_backend_pw_async_fuchsia_tests_executable") { |
| testonly = true |
| sources = [ |
| "dispatcher_test.cc", |
| "fake_dispatcher_fixture_test.cc", |
| ] |
| deps = [ |
| ":dispatcher", |
| ":fake_dispatcher_fixture", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/lib/testing/loop_fixture", |
| ] |
| } |
| |
| fuchsia_unittest_package("tests") { |
| package_name = "pigweed-backend-pw-async-fuchsia-tests" |
| deps = [ ":pigweed_backend_pw_async_fuchsia_tests_executable" ] |
| } |