| # 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("//tools/cmc/build/cmc.gni") |
| |
| # Defines a new core realm. |
| # |
| # The core realm on Fuchsia is a packaged non-executable component that holds |
| # most of the interesting packaged CFv2 components. This realm is configurable |
| # on a per-product basis to allow product owners to control which features and |
| # functionality the component instance tree is capable of on their product. |
| # |
| # For typical product definitions, the arguments to this template are set |
| # through GN arguments, declared in //build/product.gni. |
| # |
| # Parameters |
| # |
| # deps |
| # testonly |
| # visibility |
| template("core_realm_definition") { |
| if (defined(invoker.deps)) { |
| shard_deps = invoker.deps |
| } else { |
| shard_deps = [] |
| } |
| |
| generated_file_target = "${target_name}" |
| generated_file(generated_file_target) { |
| forward_variables_from(invoker, |
| [ |
| "testonly", |
| "metadata", |
| ]) |
| deps = shard_deps |
| data_keys = [ "shard_files" ] |
| outputs = [ "$target_out_dir/${target_name}_core_shard_list" ] |
| } |
| } |