# Copyright 2017 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() {
  # Board name used for paving and amber updates.
  board_name = ""

  # A list of package labels to include in the 'base' package set. Used by the
  # board definition rather than the product definition.
  board_package_labels = []

  # A list of binary labels to include in the ZBI.
  board_bootfs_labels = []

  # List of kernel command line arguments to bake into the zedboot image that are
  # required by this board. See also zedboot_cmdline_args in
  # //build/images/zedboot/BUILD.gn
  board_zedboot_cmdline_args = []

  # A list of binary labels to include in the zedboot ZBI.
  board_zedboot_bootfs_labels = []

  # A list of binary labels to include in the recovery ZBI.
  board_recovery_bootfs_labels = []

  # A list of binary labels to include in the system_image package.
  board_system_image_deps = []
}
