| # Copyright 2025 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("//build/tools/bazel2gn/bazel_rules:defs.bzl", "rustc_library") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| rustc_library( |
| name = "fuchsia-async", |
| srcs = [ |
| "src/condition.rs", |
| "src/handle/mod.rs", |
| "src/lib.rs", |
| "src/net/mod.rs", |
| "src/runtime/instrument.rs", |
| "src/runtime/mod.rs", |
| "src/runtime/scope.rs", |
| "src/runtime/task_group.rs", |
| "src/test_support.rs", |
| ] + select({ |
| "@platforms//os:fuchsia": [ |
| "src/handle/zircon/channel.rs", |
| "src/handle/zircon/fifo.rs", |
| "src/handle/zircon/mod.rs", |
| "src/handle/zircon/on_interrupt.rs", |
| "src/handle/zircon/on_signals.rs", |
| "src/handle/zircon/rwhandle.rs", |
| "src/handle/zircon/socket.rs", |
| "src/net/fuchsia/mod.rs", |
| "src/net/fuchsia/tcp.rs", |
| "src/net/fuchsia/udp.rs", |
| "src/runtime/fuchsia/executor/atomic_future.rs", |
| "src/runtime/fuchsia/executor/atomic_future/hooks.rs", |
| "src/runtime/fuchsia/executor/atomic_future/spawnable_future.rs", |
| "src/runtime/fuchsia/executor/common.rs", |
| "src/runtime/fuchsia/executor/local.rs", |
| "src/runtime/fuchsia/executor/mod.rs", |
| "src/runtime/fuchsia/executor/packets.rs", |
| "src/runtime/fuchsia/executor/scope.rs", |
| "src/runtime/fuchsia/executor/send.rs", |
| "src/runtime/fuchsia/executor/time.rs", |
| "src/runtime/fuchsia/mod.rs", |
| "src/runtime/fuchsia/task.rs", |
| "src/runtime/fuchsia/timer.rs", |
| ], |
| "//conditions:default": [ |
| "src/handle/emulated/channel.rs", |
| "src/handle/emulated/mod.rs", |
| "src/handle/emulated/socket.rs", |
| "src/net/portable/mod.rs", |
| "src/net/portable/udp.rs", |
| "src/runtime/portable.rs", |
| "src/runtime/portable/scope.rs", |
| ], |
| }), |
| edition = "2021", |
| proc_macro_deps = [ |
| "//src/lib/fuchsia-async-macro", |
| ], |
| test_deps = [ |
| "//third_party/rust_crates/vendor:assert_matches", |
| "//third_party/rust_crates/vendor:futures-test", |
| ] + select({ |
| "@platforms//os:fuchsia": [ |
| "//third_party/rust_crates/vendor:rand", |
| ], |
| "//conditions:default": [], |
| }), |
| with_unit_tests = True, |
| deps = [ |
| "//third_party/rust_crates/vendor:futures", |
| "//third_party/rust_crates/vendor:pin-project-lite", |
| ] + select({ |
| "@platforms//os:fuchsia": [ |
| "//sdk/lib/fdio", |
| "//sdk/rust/zx", |
| "//src/lib/fuchsia-sync", |
| "//third_party/rust_crates/vendor:crossbeam", |
| "//third_party/rust_crates/vendor:libc", |
| "//third_party/rust_crates/vendor:rustc-hash", |
| "//third_party/rust_crates/vendor:socket2", |
| "//third_party/rust_crates/vendor:zerocopy", |
| ], |
| "//conditions:default": [ |
| "//sdk/rust/zx-status", |
| "//sdk/rust/zx-types", |
| "//third_party/rust_crates/vendor:bitflags", |
| "//third_party/rust_crates/vendor:futures-lite", |
| "//third_party/rust_crates/vendor:lazy_static", |
| "//third_party/rust_crates/vendor:tokio", |
| ], |
| }), |
| ) |