summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/config/android/extract_unwind_tables.gni
blob: 5444c5b9721784dfac6ae90145393f2224b5a9e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# 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/config/android/rules.gni")

template("unwind_table_asset") {
  # Note: This file name is used in multiple monochrome build scripts.
  _asset_path = "${target_gen_dir}/${target_name}/unwind_cfi_32"
  _unwind_action = "${target_name}__extract"

  action(_unwind_action) {
    forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)

    _root_dir = "$root_out_dir"
    if (defined(android_secondary_abi_cpu)) {
      _root_dir = get_label_info(":foo($android_secondary_abi_toolchain)",
                                 "root_out_dir")
    }

    script = "//build/android/gyp/extract_unwind_tables.py"
    outputs = [ _asset_path ]
    inputs = [ "${_root_dir}/lib.unstripped/$shlib_prefix${invoker.library_target}$shlib_extension" ]

    args = [
      "--input_path",
      rebase_path(
          "${_root_dir}/lib.unstripped/$shlib_prefix${invoker.library_target}$shlib_extension",
          root_build_dir),
      "--output_path",
      rebase_path(_asset_path, root_build_dir),
      "--dump_syms_path",
      rebase_path("$root_out_dir/dump_syms", root_build_dir),
    ]
    deps = invoker.deps
    deps += [ "//third_party/breakpad:dump_syms" ]
  }
  android_assets(target_name) {
    forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
    sources = [ _asset_path ]
    disable_compression = true
    deps = [ ":$_unwind_action" ]
  }
}