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

# A collection of GN arguments that developers can manually set to alter the
# behavior of the build.

declare_args() {
  # List of labels for binaries to include in the system image.
  dev_system_image_deps = []

  # List of labels for targets that should be built but not included in any
  # build outputs that are part of the build API (e.g. zbi's, package servers).
  dev_build_only_deps = []

  # An optional golden file for fuchsia.zbi kernel cmdline args. If specified,
  # this golden file would be compared against fuchsia.zbi kernel cmdline during
  # build time.
  dev_fuchsia_zbi_kernel_cmdline_golden = ""

  # List of labels for objects to include in the ZBI.
  dev_bootfs_labels = []
}
