# Copyright 2020 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.

declare_args() {
  # Is the `assemble_system()` instantiation used by the product the standard
  # one or the bringup one?
  use_bringup_assembly = false

  # A list of binary labels to include in ZBIs built for this product.
  product_bootfs_labels = []

  # A list of binary host tool labels to also build.
  product_host_labels = []

  # A list of packages to be included in the bootfs as
  # meta.fars and content-id'd blobs.
  product_bootfs_packages = []

  # A human readable product description.
  product_description = ""

  # The following arguments are all used to configure the contents of the core
  # component realm. See //src/sys/core/build/core.gni for documentation on what
  # each field means.
  # TODO: redo comments
  core_realm_shards = []

  # Determines whether the fuchsia_async library used by many Rust targets will be compiled
  # with TRACE level log statements that increase binary size a measurable amount.
  # TODO(https://fxbug.dev/42161120) move this to a toolchain to allow multiple products to build together
  fuchsia_async_trace_level_logging = true

  # The product assembly config used to configure the main Fuchsia image.
  # For GN products, this is required.
  # For Bazel products, this is optional.
  # For Bazel products, netboot will only be available when this is supplied.
  fuchsia_product_assembly_config_label = false

  # The product assembly config used to configure the Zedboot image.
  zedboot_product_assembly_config_label = false

  # TODO(https://fxbug.dev/42175904): move to board definitions.
  # Adds a prefix to the start of the virtual device name. Used to distinguish
  # between similar virtual device's using different configuration's such as
  # `emu_window_size`.
  virtual_device_name_prefix = ""

  # Configuration to override the default window size for the virtual device in pixels.
  emu_window_size_width = false
  emu_window_size_height = false

  # Targets to be traversed by //:cipd_assembly_artifacts for GN metadata only.
  # These targets are expected to set "assembly_inputs" in metadata, which can
  # include a JSON file describing artifacts to be uploaded to CPID.
  #
  # NOTE: These targets are for GN metadata walk only. If the artifacts need to
  # be built, they should be included in the build graph through other means.
  cipd_assembly_artifact_targets = [ "//build/images:main_assembly" ]
}
