blob: cc945394c62887ce940c3e286c78e37337336e49 [file] [log] [blame]
# 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",
],
}),
)