blob: 340a9b3949e9a344faba6d28b9151ce838c72ef6 [file] [log] [blame]
# Copyright 2018 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/config.gni")
import("//build/rust/rustc_library.gni")
rustc_library("fuchsia-hyper") {
name = "fuchsia_hyper"
edition = "2018"
version = "0.1.0"
with_unit_tests = true
deps = [
"//src/lib/fuchsia-async",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:hex",
"//third_party/rust_crates:http",
"//third_party/rust_crates:hyper",
"//third_party/rust_crates:hyper-rustls",
"//third_party/rust_crates:log",
"//third_party/rust_crates:lru-cache-v0_1_2",
"//third_party/rust_crates:parking_lot",
"//third_party/rust_crates:pin-project",
"//third_party/rust_crates:rustls",
"//third_party/rust_crates:tokio",
]
test_deps = [
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:matches",
"//third_party/rust_crates:rand",
"//third_party/rust_crates:webpki",
]
if (is_host) {
deps += [
"//third_party/rust_crates:async-net",
"//third_party/rust_crates:rustls-native-certs-v0_3_0",
"//third_party/rust_crates:tower-service-v0_3_0",
]
} else {
deps += [
"//garnet/lib/rust/webpki-roots-fuchsia",
"//sdk/fidl/fuchsia.net:fuchsia.net-rustc",
"//sdk/fidl/fuchsia.posix.socket:fuchsia.posix.socket-rustc",
"//src/lib/fuchsia-component",
"//src/lib/network/fidl_fuchsia_net_ext",
"//src/lib/zircon/rust:fuchsia-zircon",
"//src/sys/lib/fidl-connector",
"//third_party/rust_crates:itertools",
"//third_party/rust_crates:libc",
"//third_party/rust_crates:socket2",
]
test_deps += [
"//sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces-rustc",
"//sdk/fidl/fuchsia.netstack:fuchsia.netstack-rustc",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//third_party/rust_crates:test-case",
]
}
sources = [
"src/lib.rs",
"src/session_cache.rs",
]
if (is_host) {
sources += [ "src/not_fuchsia.rs" ]
} else {
sources += [
"src/fuchsia.rs",
"src/happy_eyeballs.rs",
]
}
}
fuchsia_component("fuchsia-hyper-lib-test") {
testonly = true
manifest = "meta/fuchsia_hyper_lib_test.cmx"
deps = [ ":fuchsia-hyper_test" ]
}
fuchsia_test_package("fuchsia-hyper-tests") {
test_components = [ ":fuchsia-hyper-lib-test" ]
}
group("tests") {
testonly = true
deps = [
":fuchsia-hyper-tests",
":fuchsia-hyper_test($host_toolchain)",
]
}