blob: 49d959a8df44c23742cc38cae3f3747ae3092109 [file] [log] [blame]
# Copyright 2019 The Fuchsia 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/clang/clang.gni")
import("//build/dart/dart_tool.gni")
dart_tool("dart_profiler_symbols") {
main_dart = "dart_profiler_symbols.dart"
force_prebuilt_dart = true
disable_analysis = true
source_dir = "."
sources = [
"dart_profiler_symbols.dart",
]
deps = [
"//third_party/dart-pkg/pub/args",
]
}
template("generate_dart_profiler_symbols") {
assert(defined(invoker.library_label), "Must define 'library_label'")
assert(defined(invoker.library_path), "Must define 'library_path'")
assert(defined(invoker.output), "Must define 'output'")
action(target_name) {
deps = [
":dart_profiler_symbols",
invoker.library_label,
]
inputs = [
invoker.library_path,
]
outputs = [
invoker.output,
]
script = get_label_info(":dart_profiler_symbols", "root_out_dir") +
"/dart-tools/dart_profiler_symbols"
args = [
"--nm",
"$default_clang_prefix/llvm-nm",
"--binary",
rebase_path(invoker.library_path),
"--output",
rebase_path(invoker.output),
]
}
}
_shared_out_dir =
get_label_info(":bogus(${target_toolchain}-shared)", "root_out_dir")
generate_dart_profiler_symbols("libdart_jit") {
library_label = "//third_party/dart/runtime:libdart_jit"
library_path = "${_shared_out_dir}/lib.unstripped/libdart_jit.so"
output = "${target_gen_dir}/libdart_jit.dartprofilersymbols"
}
generate_dart_profiler_symbols("libdart_precompiled_runtime") {
library_label = "//third_party/dart/runtime:libdart_precompiled_runtime"
library_path =
"${_shared_out_dir}/lib.unstripped/libdart_precompiled_runtime.so"
output = "${target_gen_dir}/libdart_precompiled_runtime.dartprofilersymbols"
}
generate_dart_profiler_symbols("flutter_jit_runner") {
library_label = "//topaz/runtime/flutter_runner:jit"
library_path = "${root_out_dir}/exe.unstripped/flutter_jit_runner"
output = "${target_gen_dir}/flutter_jit_runner.dartprofilersymbols"
}
generate_dart_profiler_symbols("flutter_aot_runner") {
library_label = "//topaz/runtime/flutter_runner:aot"
library_path = "${root_out_dir}/exe.unstripped/flutter_aot_runner"
output = "${target_gen_dir}/flutter_aot_runner.dartprofilersymbols"
}