| # Copyright 2019 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/compiled_action.gni") | 
 |  | 
 | # Generates a flat romfs image from the provided files. | 
 | template("romfs_image") { | 
 |   image_target = "_${target_name}_image" | 
 |   check_target = "_${target_name}_check" | 
 |   compiled_action(image_target) { | 
 |     assert(defined(invoker.output), "output must be defined for $target_name") | 
 |     assert(defined(invoker.inputs), "inputs must be defined for $target_name") | 
 |     forward_variables_from(invoker, "*") | 
 |     tool = "//src/virtualization/buildtools:mkromfs" | 
 |     outputs = [ output ] | 
 |     args = [ rebase_path(output, root_out_dir) ] | 
 |     foreach(input, inputs) { | 
 |       args += [ rebase_path(input, root_out_dir) ] | 
 |     } | 
 |   } | 
 |   action(check_target) { | 
 |     forward_variables_from(invoker, [ "testonly" ]) | 
 |     deps = [ ":${image_target}" ] | 
 |     script = "//src/virtualization/buildtools/romfsck.py" | 
 |     inputs = [ invoker.output ] | 
 |     outputs = [ "${invoker.output}.verify" ] | 
 |     args = [ | 
 |       rebase_path(invoker.output, root_out_dir), | 
 |       rebase_path("${invoker.output}.verify", root_out_dir), | 
 |     ] | 
 |   } | 
 |   group("${target_name}") { | 
 |     forward_variables_from(invoker, [ "testonly" ]) | 
 |     public_deps = [ ":${image_target}" ] | 
 |     deps = [ ":${check_target}" ] | 
 |   } | 
 | } |