blob: 9dcb53cae0fdb8d4264851a69bebd77c394b3e02 [file] [log] [blame]
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
assert(is_fuchsia)
# Creates a tarball of unstripped binaries, structured according to the
# ".build_ids" convention used by the symbolizer and GNU GDB.
#
# Parameters:
# deps: Must all be cr_fuchsia_package() or fuchsia_package() targets.
# ids_txt: The "ids.txt" file which lists the relative paths to unstripped
# executables and libraries, along with their build IDs.
# archive_name: The path to the compressed tarball that will be generated.
template("symbol_archive") {
assert(!is_debug)
action(target_name) {
_ids_txt = invoker.ids_txt
_build_ids = invoker.archive_name
script = "//build/config/fuchsia/build_symbol_archive.py"
inputs = [ _ids_txt ]
outputs = [ _build_ids ]
# For each package in |deps| it is necessary to additionally depend upon
# the corresponding archive-manifest target, which is what creates the
# ids.txt file.
deps = []
foreach(package, invoker.deps) {
deps += [
package,
package + "__archive-manifest",
]
}
args = [
rebase_path(_ids_txt),
"-o",
rebase_path(_build_ids),
"--fuchsia-build-id-dir",
rebase_path("//third_party/fuchsia-sdk/sdk/.build-id"),
]
}
}