1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//build/module_args/v8.gni")
6 import("//testing/test.gni")
21 "function_template.cc",
22 "function_template.h",
30 "modules/file_module_provider.cc",
31 "modules/file_module_provider.h",
32 "modules/module_registry.cc",
33 "modules/module_registry.h",
34 "modules/module_registry_observer.h",
35 "modules/module_runner_delegate.cc",
36 "modules/module_runner_delegate.h",
39 "object_template_builder.cc",
40 "object_template_builder.h",
41 "per_context_data.cc",
43 "per_isolate_data.cc",
45 "public/context_holder.h",
47 "public/gin_embedders.h",
48 "public/isolate_holder.h",
49 "public/v8_idle_task_runner.h",
50 "public/v8_platform.h",
51 "public/wrapper_info.h",
52 "run_microtasks_observer.cc",
53 "run_microtasks_observer.h",
62 "v8_isolate_memory_dump_provider.cc",
63 "v8_isolate_memory_dump_provider.h",
70 if (v8_use_external_startup_data) {
72 "$root_out_dir/natives_blob.bin",
73 "$root_out_dir/snapshot_blob.bin",
77 defines = [ "GIN_IMPLEMENTATION" ]
84 "//base/third_party/dynamic_annotations",
86 if (v8_use_external_startup_data && is_win) {
87 public_deps += [ ":gin_v8_snapshot_fingerprint" ]
88 deps += [ "//crypto:crypto" ]
89 sources += [ "$target_gen_dir/v8_snapshot_fingerprint.cc" ]
90 defines += [ "V8_VERIFY_EXTERNAL_STARTUP_DATA" ]
94 if (v8_use_external_startup_data) {
95 action("gin_v8_snapshot_fingerprint") {
96 script = "//gin/fingerprint/fingerprint_v8_snapshot.py"
98 snapshot_file = "$root_build_dir/snapshot_blob.bin"
99 natives_file = "$root_build_dir/natives_blob.bin"
100 output_file = "$target_gen_dir/v8_snapshot_fingerprint.cc"
104 rebase_path(snapshot_file, root_build_dir),
106 rebase_path(natives_file, root_build_dir),
108 rebase_path(output_file, root_build_dir),
124 executable("gin_shell") {
133 "//build/config/sanitizers:deps",
138 source_set("gin_test") {
143 "test/file_runner.cc",
144 "test/file_runner.h",
162 test("gin_unittests") {
164 "converter_unittest.cc",
165 "interceptor_unittest.cc",
166 "modules/module_registry_unittest.cc",
167 "modules/timer_unittest.cc",
168 "per_context_data_unittest.cc",
169 "shell/gin_shell_unittest.cc",
170 "shell_runner_unittest.cc",
171 "test/run_all_unittests.cc",
172 "test/run_js_tests.cc",
173 "v8_isolate_memory_dump_provider_unittest.cc",
174 "wrappable_unittest.cc",
179 "//base/test:test_support",