# Copyright 2022 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/images/custom_signing.gni")

# If a board-specific custom script needs to be used to post-process (aka "sign
# the zbi"), this collects its deps here, and centralizes this bit of logic.
group("deps") {
  deps = custom_signing_script_deps

  foreach(host_dep, custom_signing_script_tools) {
    _label_no_toolchain = get_label_info(host_dep, "label_no_toolchain")
    deps += [ "${_label_no_toolchain}($host_toolchain)" ]
  }
}
