| # Copyright 2026 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. |
| |
| # Support libraries for C++ DSO components. See //src/sys/runners/dso/README.md |
| # for more information. |
| # |
| # DSO runner supports two kinds of components: "sync" and "async". Sync |
| # components receive a dedicated thread -- their dso_main() is very similar to |
| # standard main(). Async components may share a thread and run on a Fuchsia |
| # Driver Framework dispatcher (`fdf_dispatcher_t*`). DSO components that are |
| # written in C++ should depend on the corresponding library depending on if they |
| # are sync or async. Most users should use the convenience "fuchsia_cc_dso" |
| # wrapper in `fuchsia_dso.gni` to do this for them. |
| |
| source_set("sync") { |
| sources = [ |
| "sync.cc", |
| "sync.h", |
| ] |
| deps = [ "//zircon/system/public" ] |
| } |
| |
| source_set("async") { |
| sources = [ |
| "async.cc", |
| "async.h", |
| ] |
| public_deps = [ |
| "//sdk/lib/driver/runtime:driver_runtime", |
| "//zircon/system/public", |
| ] |
| deps = [ "//src/devices/bin/driver_runtime" ] |
| } |