| # Copyright 2019 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("//src/sys/core/build/core_shard.gni") |
| |
| _common_deps = [ |
| "dhcp:component", |
| "dhcpv6/client:component", |
| "dns:component", |
| "http-client:component", |
| "reachability:component", |
| ] |
| |
| fuchsia_component("component") { |
| component_name = "network" |
| manifest = "meta/network-default.cml" |
| deps = _common_deps + [ |
| "netstack:component", |
| "netcfg:component-advanced", |
| ] |
| } |
| |
| # TODO(https://fxbug.dev/85450): use subassembly-based product assembly to |
| # assemble the network realm from shards depending on the product, rather than |
| # creating two separate component manifests and relying on include shards to |
| # reduce duplication. |
| fuchsia_component("component-basic") { |
| component_name = "network" |
| manifest = "meta/network-basic.cml" |
| deps = _common_deps + [ |
| "netstack:component", |
| "netcfg:component-basic", |
| ] |
| } |
| |
| # TODO(https://fxbug.dev/85450): use subassembly-based product assembly to |
| # create this variant. |
| fuchsia_component("component-with-tracing") { |
| component_name = "network" |
| manifest = "meta/network-default.cml" |
| deps = _common_deps + [ |
| "netstack:component-with-tracing", |
| "netcfg:component-advanced", |
| ] |
| } |
| |
| fuchsia_package("network") { |
| deps = [ ":component" ] |
| } |
| |
| fuchsia_package("network-basic") { |
| package_name = "network" |
| deps = [ ":component-basic" ] |
| } |
| |
| fuchsia_package("network-with-tracing") { |
| package_name = "network" |
| deps = [ ":component-with-tracing" ] |
| } |
| |
| core_shard("virtualization-core-shard") { |
| shard_file = "meta/virtualization.core_shard.cml" |
| } |
| |
| # TODO(https://fxbug.dev/85821): Remove once out-of-tree users no longer |
| # reference v1 components. |
| fuchsia_package("network-legacy-deprecated") { |
| deps = [ |
| "dns:component-legacy", |
| "netstack:component-legacy", |
| "netstack:component-with-fast-udp-legacy", |
| "netstack3:component-legacy", |
| ] |
| } |
| |
| # TODO(https://fxbug.dev/85742): Remove this target once out-of-tree |
| # integration tests inject components from network-legacy-deprecated. |
| group("integration-test-deps") { |
| deps = [ "netstack" ] |
| } |
| |
| group("drivers") { |
| deps = [ "drivers/network-device" ] |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| # Ensure this target doesn't rot. This dependency can be removed if the |
| # target becomes load bearing elsewhere. |
| ":component-with-tracing", |
| "dhcp:tests", |
| "dhcpv6:tests", |
| "dns:tests", |
| "drivers:tests", |
| "http-client:tests", |
| "lib:tests", |
| "mdns:tests", |
| "net-cli:tests", |
| "netcfg:tests", |
| "netstack:tests", |
| "netstack3:tests", |
| "reachability:tests", |
| "testing:tests", |
| "tests", |
| "tools:tests", |
| "tun:tests", |
| ] |
| } |