| # Copyright 2021 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_v2") { |
| _asset_path = "${target_out_dir}/${target_name}/unwind_cfi_32_v2" |
| _unwind_action = "${target_name}__create_unwind_table" |
| |
| 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/create_unwind_table.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), |
| "--readobj_path", |
| rebase_path("$clang_base_path/bin/llvm-readobj", 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" ] |
| } |
| } |