# 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"), ] } }