blob: 064bc32260320c7f3b4473bc355ced45c33b0a31 [file] [log] [blame]
# Copyright 2019 the V8 project 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("../../gni/snapshot_toolchain.gni")
import("../../gni/v8.gni")
config("internal_config") {
visibility = [ ":*" ] # Only targets in this file can depend on this.
if (is_component_build) {
defines = [ "BUILDING_V8_DEBUG_HELPER" ]
}
configs = [ "../..:v8_tracing_config" ]
include_dirs = [
".",
"../..",
"$target_gen_dir",
"$target_gen_dir/../..",
]
}
# This config should be applied to code using v8_debug_helper.
config("external_config") {
if (is_component_build) {
defines = [ "USING_V8_DEBUG_HELPER" ]
}
configs = [ "../..:external_config" ]
include_dirs = [ "." ]
}
action("run_mkgrokdump") {
testonly = true
visibility = [ ":*" ]
deps = [
"../..:run_mksnapshot_default",
"../../test/mkgrokdump:mkgrokdump($v8_generator_toolchain)",
]
script = "../run.py"
outputs = [ "$target_gen_dir/v8heapconst.py" ]
args = [
"./" + rebase_path(
get_label_info(
"../../test/mkgrokdump:mkgrokdump($v8_generator_toolchain)",
"root_out_dir") + "/mkgrokdump",
root_build_dir),
"--outfile",
rebase_path("$target_gen_dir/v8heapconst.py", root_build_dir),
]
}
action("gen_heap_constants") {
testonly = true
visibility = [ ":*" ]
deps = [ ":run_mkgrokdump" ]
script = "gen-heap-constants.py"
outputs = [ "$target_gen_dir/heap-constants-gen.cc" ]
args = [
rebase_path(target_gen_dir, root_build_dir),
rebase_path("$target_gen_dir/heap-constants-gen.cc", root_build_dir),
]
}
v8_component("v8_debug_helper") {
testonly = true
public = [ "debug-helper.h" ]
sources = [
"$target_gen_dir/../../torque-generated/class-debug-readers.cc",
"$target_gen_dir/../../torque-generated/class-debug-readers.h",
"$target_gen_dir/../../torque-generated/instance-types.h",
"$target_gen_dir/heap-constants-gen.cc",
"compiler-types.cc",
"debug-helper-internal.cc",
"debug-helper-internal.h",
"debug-helper.h",
"get-object-properties.cc",
"heap-constants.cc",
"heap-constants.h",
"list-object-classes.cc",
]
deps = [
":gen_heap_constants",
"../..:generate_bytecode_builtins_list",
"../..:run_torque",
"../..:v8_headers",
"../..:v8_libbase",
]
configs = [ ":internal_config" ]
if (v8_enable_i18n_support) {
configs += [ "//third_party/icu:icu_config" ]
}
remove_configs = [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":external_config" ]
}