blob: 60a693f3f183e169f20546a8e70ec9299aeee7cb [file] [log] [blame]
# Copyright 2021 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/dist/component_manifest_resources.gni")
import("//build/drivers.gni")
import("//build/rust/rustc_binary.gni")
import("//build/rust/rustc_library.gni")
import("//src/bringup/bin/virtcon2/virtcon_args.gni")
group("bootfs") {
deps = [
":bin",
":meta",
]
}
group("tests") {
testonly = true
deps = [ ":virtual_console_tests" ]
}
component_manifest_resources("meta") {
sources = [ "meta/virtual-console.cml" ]
}
rustc_library("lib") {
name = "virtual_console_lib"
edition = "2018"
with_unit_tests = true
sources = [
"src/app.rs",
"src/args.rs",
"src/colors.rs",
"src/lib.rs",
"src/log.rs",
"src/session_manager.rs",
"src/terminal.rs",
"src/text_grid.rs",
"src/view.rs",
]
deps = [
"//sdk/fidl/fuchsia.boot:fuchsia.boot-rustc",
"//sdk/fidl/fuchsia.hardware.display:fuchsia.hardware.display-rustc",
"//sdk/fidl/fuchsia.hardware.power.statecontrol:fuchsia.hardware.power.statecontrol-rustc",
"//sdk/fidl/fuchsia.hardware.pty:fuchsia.hardware.pty-rustc",
"//sdk/fidl/fuchsia.virtualconsole:fuchsia.virtualconsole-rustc",
"//src/graphics/lib/compute/rive-rs",
"//src/lib/fdio/rust:fdio",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-runtime",
"//src/lib/pty",
"//src/lib/trace/rust:trace",
"//src/lib/trace/rust:trace-provider",
"//src/lib/ui/carnelian",
"//src/lib/zircon/rust:fuchsia-zircon",
"//src/sys/lib/stdout-to-debuglog/rust",
"//src/ui/bin/terminal/third_party/term-model",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:euclid",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:libc",
"//third_party/rust_crates:rustc-hash",
]
}
resource("font") {
sources = [ virtcon_font_path ]
outputs = [ "data/font.ttf" ]
}
resource("boot_animation") {
sources = [ virtcon_boot_animation_path ]
outputs = [ "data/boot-animation.riv" ]
}
rustc_binary("bin") {
name = "virtual_console"
edition = "2018"
source_root = "src/main.rs"
sources = [ "src/main.rs" ]
deps = [
":boot_animation",
":font",
":lib",
"//sdk/fidl/fuchsia.boot:fuchsia.boot-rustc",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/trace/rust:trace-provider",
"//src/lib/ui/carnelian",
"//src/sys/lib/stdout-to-debuglog/rust",
"//third_party/rust_crates:anyhow",
]
configs += [ "//build/config/rust:bootfs" ]
# Can't dynamically link libstd and libtest for ZBI binaries
configs -= [ "//build/config/fuchsia:dynamic_rust_standard_library" ]
}
resource("font_test") {
sources = [ "data/test.ttf" ]
outputs = [ "data/font.ttf" ]
}
resource("boot_animation_test") {
sources = [ "data/test.riv" ]
outputs = [ "data/boot-animation.riv" ]
}
fuchsia_test_component("virtual_console_tests_component") {
deps = [
":boot_animation_test",
":font_test",
":lib_test",
]
manifest = "meta/virtual-console-tests.cmx"
}
fuchsia_test_package("virtual_console_tests") {
test_components = [ ":virtual_console_tests_component" ]
}