blob: 6409b762c3bd35f43cf3867aa4db939b99ec2bbd [file] [log] [blame]
# Copyright 2021 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.
# Verifies the list of shared libraries against an allowlist.
#
# Parameters
#
# target_label
# Label of the target that we are checking. Used for error printing.
# libraries_used_file
# Path to the file that lists the shared libraries that the target is using.
# libraries_allowlist_file
# Path to the file that lists the shared libraries in the allowlist
# output_file
# Path to the output. The output exists so the build knows we completed the action.
template("verify_shared_libraries") {
assert(defined(invoker.target_label), "target_label must be provided")
assert(defined(invoker.libraries_used_file),
"libraries_used_file must be provided")
assert(defined(invoker.libraries_allowlist_file),
"libraries_allowlist_file must be provided")
assert(defined(invoker.output_file), "output_file must be provided")
action(target_name) {
script = "//build/drivers/verify_shared_libraries.sh"
forward_variables_from(invoker,
[
"deps",
"testonly",
])
inputs = [
invoker.libraries_allowlist_file,
invoker.libraries_used_file,
]
outputs = [ invoker.output_file ]
args = [
invoker.target_label,
rebase_path(invoker.libraries_used_file, root_build_dir),
rebase_path(invoker.libraries_allowlist_file, root_build_dir),
rebase_path(invoker.output_file, root_build_dir),
]
}
}