1234567891011121314151617181920212223242526272829303132333435363738394041 |
- # Copyright 2018 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.
- import("//build/toolchain/toolchain.gni")
- # Extracts symbols from a binary into a symbol file using dump_app_syms.py.
- #
- # Args:
- # binary: Path to the binary containing symbols to extract, e.g.:
- # "$root_out_dir/chrome"
- # symbol_file: Desired output file for symbols, e.g.:
- # "$root_out_dir/chrome.breakpad.$current_cpu"
- template("extract_symbols") {
- forward_variables_from(invoker,
- [
- "deps",
- "testonly",
- ])
- action("${target_name}") {
- dump_syms_label = "//third_party/breakpad:dump_syms($host_toolchain)"
- dump_syms_binary =
- get_label_info(dump_syms_label, "root_out_dir") + "/" + "dump_syms"
- pool = "//build/toolchain:link_pool($default_toolchain)"
- script = "//build/linux/dump_app_syms.py"
- inputs = [
- invoker.binary,
- dump_syms_binary,
- ]
- outputs = [ invoker.symbol_file ]
- args = [
- "./" + rebase_path(dump_syms_binary, root_build_dir),
- "0", # strip_binary = false
- rebase_path(invoker.binary, root_build_dir),
- rebase_path(invoker.symbol_file, root_build_dir),
- ]
- deps += [ dump_syms_label ]
- }
- }
|