summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/config/fuchsia/symbol_archive.gni
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/build/config/fuchsia/symbol_archive.gni')
-rw-r--r--third_party/libwebrtc/build/config/fuchsia/symbol_archive.gni47
1 files changed, 47 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/config/fuchsia/symbol_archive.gni b/third_party/libwebrtc/build/config/fuchsia/symbol_archive.gni
new file mode 100644
index 0000000000..9dcb53cae0
--- /dev/null
+++ b/third_party/libwebrtc/build/config/fuchsia/symbol_archive.gni
@@ -0,0 +1,47 @@
+# 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"),
+ ]
+ }
+}