# 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 = [ "../../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-tq.cc", "$target_gen_dir/../../torque-generated/class-debug-readers-tq.h", "$target_gen_dir/../../torque-generated/instance-types-tq.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" ] }