# Copyright 2021 The Chromium Authors # 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. # # Args: # binary_input: Path to the binary containing symbols to extract, e.g.: # "$root_out_dir/chrome" # symbol_output: Desired output file for symbols, e.g.: # "$root_out_dir/chrome.debug" # stripped_binary_output: Desired output file for stripped file, e.g.: # "$root_out_dir/chrome.stripped" template("strip_binary") { forward_variables_from(invoker, [ "deps", "testonly", ]) action("${target_name}") { eu_strip_binary = "//buildtools/third_party/eu-strip/bin/eu-strip" script = "//build/linux/strip_binary.py" if (defined(invoker.stripped_binary_output)) { stripped_binary_output = invoker.stripped_binary_output } else { stripped_binary_output = invoker.binary_input + ".stripped" } if (defined(invoker.symbol_output)) { symbol_output = invoker.symbol_output } else { symbol_output = invoker.binary_input + ".debug" } inputs = [ invoker.binary_input, eu_strip_binary, ] outputs = [ symbol_output, stripped_binary_output, ] args = [ "--eu-strip-binary-path", rebase_path(eu_strip_binary, root_build_dir), "--symbol-output", rebase_path(symbol_output, root_build_dir), "--stripped-binary-output", rebase_path(stripped_binary_output, root_build_dir), "--binary-input", rebase_path(invoker.binary_input, root_build_dir), ] } }