# Copyright 2017 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/v8.gni")

v8_executable("mkgrokdump") {
  testonly = true

  # mkgrokdump is used to create tools/v8heapconst.py.

  sources = [ "mkgrokdump.cc" ]

  configs = [ "../..:internal_config_base" ]

  defines = []

  deps = [
    "../..:v8",
    "../..:v8_libbase",
    "../..:v8_libplatform",
    "../..:v8_wrappers",
    "//build/win:default_exe_manifest",
  ]

  data_deps = [ "../../tools:v8_testrunner" ]

  data = [
    "mkgrokdump.status",
    "testcfg.py",
    "../../tools/v8heapconst.py",
  ]
}
