| # 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. |
| |
| import("//build/components.gni") |
| import("//build/rust/rustc_binary.gni") |
| import("//src/starnix/kernel/starnix.gni") |
| |
| group("runner") { |
| deps = [ |
| ":starnix_package", |
| "//src/starnix/kernel:starnix_kernel_package", |
| ] |
| } |
| |
| rustc_binary("starnix_runner_bin") { |
| name = "starnix_runner" |
| edition = "2021" |
| with_unit_tests = true |
| |
| source_root = "main.rs" |
| deps = [ |
| ":starnix_runner_config", |
| "//sdk/fidl/fuchsia.component:fuchsia.component_rust", |
| "//sdk/fidl/fuchsia.component.runner:fuchsia.component.runner_rust", |
| "//sdk/fidl/fuchsia.memory.attribution:fuchsia.memory.attribution_rust", |
| "//sdk/fidl/fuchsia.settings:fuchsia.settings_rust", |
| "//sdk/fidl/fuchsia.starnix.runner:fuchsia.starnix.runner_rust", |
| "//src/lib/fidl/rust/fidl", |
| "//src/lib/fuchsia", |
| "//src/lib/fuchsia-component", |
| "//src/lib/fuchsia-sync", |
| "//src/lib/zircon/rust:fuchsia-zircon", |
| "//src/performance/memory/attribution", |
| "//src/starnix/lib/kernel_manager", |
| "//src/storage/lib/vfs/rust:vfs", |
| "//third_party/rust_crates:anyhow", |
| "//third_party/rust_crates:futures", |
| "//third_party/rust_crates:tracing", |
| ] |
| |
| sources = [ |
| "kernels.rs", |
| "main.rs", |
| ] |
| |
| configs += [ "//src/starnix/config:starnix_clippy_lints" ] |
| } |
| |
| fuchsia_component_manifest("starnix_runner_component_manifest") { |
| manifest = "meta/starnix_runner.cml" |
| component_name = "starnix_runner" |
| } |
| |
| # Starnix runner is configured by software assembly. |
| fuchsia_structured_config_rust_lib("starnix_runner_config") { |
| cm_label = ":starnix_runner_component_manifest" |
| } |
| |
| fuchsia_component("starnix_runner_component") { |
| cm_label = ":starnix_runner_component_manifest" |
| deps = [ ":starnix_runner_bin" ] |
| } |
| |
| fuchsia_package("starnix_package") { |
| package_name = "starnix" |
| |
| subpackages = [ "//src/starnix/kernel:starnix_kernel_package" ] |
| |
| deps = [ |
| ":starnix_runner_bin", |
| ":starnix_runner_component", |
| ":starnix_runner_component_manifest", |
| ] |
| } |