blob: 16e721bd347f033dee90baa7600a73455bfe37c2 [file] [log] [blame]
# Copyright 2022 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.
# This file was generated by the `fx create` command. The template
# is located at `//tools/create/templates/component-default/BUILD.gn.tmpl-rust`.
# If you find something broken, we are eager to review fixes.
import("//build/components.gni")
import("//build/rust/rustc_binary.gni")
import("//build/test.gni")
import("//src/sys/core/build/core_shard.gni")
group("fastboot-tcp") {
deps = [ ":package" ]
}
group("tests") {
testonly = true
deps = [
":fastboot-shared-lib-test-package",
":fastboot-tcp-unittests",
]
}
rustc_binary("bin") {
output_name = "fastboot-tcp"
# Generates a GN target for unit-tests with the label `bin_test`, and
# a binary named `fastboot_tcp_bin_test`.
with_unit_tests = true
edition = "2021"
deps = [
":fastboot-shared-lib",
"//src/lib/diagnostics/inspect/runtime/rust",
"//src/lib/diagnostics/inspect/rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/syslog/rust:syslog",
"//src/lib/zircon/rust:fuchsia-zircon",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:byteorder",
"//third_party/rust_crates:chrono",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:tracing",
]
sources = [
"src/fastboot.rs",
"src/fastboot/fastboot_c.rs",
"src/main.rs",
]
configs -= [ "//build/config/rust:allow_unused_results" ]
}
# The core realm shard to be used by product integrators.
core_shard("fastboot-tcp-core-shard") {
shard_file = "meta/fastboot_tcp.core_shard.cml"
}
fuchsia_component("component") {
component_name = "fastboot_tcp"
manifest = "meta/fastboot_tcp.cml"
deps = [ ":bin" ]
}
fuchsia_package("package") {
package_name = "fastboot-tcp"
deps = [ ":component" ]
}
# Run with `fx test fastboot-tcp-unittests`.
fuchsia_unittest_package("fastboot-tcp-unittests") {
deps = [ ":bin_test" ]
}
shared_library("fastboot-shared-lib") {
sources = [ "src/cpp/fastboot.cc" ]
visibility = [ ":*" ]
deps = [ "//src/firmware/lib/fastboot" ]
}
test("fastboot-shared-lib-test") {
sources = [ "src/cpp/transport-test.cc" ]
deps = [
"//src/firmware/lib/fastboot",
"//zircon/system/ulib/zxtest",
]
}
fuchsia_unittest_package("fastboot-shared-lib-test-package") {
package_name = "fastboot-shared-lib-test"
deps = [ ":fastboot-shared-lib-test" ]
}