blob: ab9ded6a4bb3af2f4abb4de0d8e1264a300a57d4 [file] [log] [blame]
# 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.
# Verifies that there are no duplicate headers in an SDK library declaration.
# On failure, an error message will be printed indicating which headers
# are duplicated.
#
# Parameters
#
# target_label (required)
# GN label of the SDK target that exposes the headers. Used in
# error messages (i.e. not a dependency).
#
# headers (required)
# A list of header paths.
# Type: list of strings.
#
# testonly, visibility
# Usual GN meaning.
#
template("verify_public_headers") {
_stamp_file = "$target_gen_dir/$target_name.stamp"
action(target_name) {
forward_variables_from(invoker,
[
"testonly",
"visibility",
])
script = "//build/cpp/verify_public_headers.py"
inputs = []
outputs = [ _stamp_file ]
args = [
"--gn-label",
get_label_info(invoker.target_label, "label_no_toolchain"),
"--stamp-file",
rebase_path(_stamp_file, root_build_dir),
] + invoker.headers
}
}