summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/linux/extract_symbols.gni
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/build/linux/extract_symbols.gni')
-rw-r--r--third_party/libwebrtc/build/linux/extract_symbols.gni41
1 files changed, 41 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/linux/extract_symbols.gni b/third_party/libwebrtc/build/linux/extract_symbols.gni
new file mode 100644
index 0000000000..c92aaa0a19
--- /dev/null
+++ b/third_party/libwebrtc/build/linux/extract_symbols.gni
@@ -0,0 +1,41 @@
+# 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.$target_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 ]
+ }
+}