1# Copyright 2019 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5assert(is_fuchsia) 6 7# Creates a tarball of unstripped binaries, structured according to the 8# ".build_ids" convention used by the symbolizer and GNU GDB. 9# 10# Parameters: 11# deps: Must all be fuchsia_package() targets. 12# ids_txt: The "ids.txt" file which lists the relative paths to unstripped 13# executables and libraries, along with their build IDs. 14# archive_name: The path to the compressed tarball that will be generated. 15template("symbol_archive") { 16 assert(!is_debug) 17 18 action(target_name) { 19 _ids_txt = invoker.ids_txt 20 _build_ids = invoker.archive_name 21 22 script = "//build/config/fuchsia/build_symbol_archive.py" 23 24 inputs = [ _ids_txt ] 25 26 outputs = [ _build_ids ] 27 28 # For each package in |deps| it is necessary to additionally depend upon 29 # the corresponding archive-manifest target, which is what creates the 30 # ids.txt file. 31 deps = [] 32 foreach(package, invoker.deps) { 33 deps += [ 34 package, 35 package + "__archive-manifest", 36 ] 37 } 38 39 args = [ 40 rebase_path(_ids_txt), 41 "-o", 42 rebase_path(_build_ids), 43 "--fuchsia-build-id-dir", 44 rebase_path("//third_party/fuchsia-sdk/sdk/.build-id"), 45 ] 46 } 47} 48