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.
4
5component("gin") {
6  sources = [
7    "arguments.cc",
8    "arguments.h",
9    "array_buffer.cc",
10    "array_buffer.h",
11    "context_holder.cc",
12    "converter.cc",
13    "converter.h",
14    "debug_impl.cc",
15    "debug_impl.h",
16    "dictionary.cc",
17    "dictionary.h",
18    "function_template.cc",
19    "function_template.h",
20    "gin_export.h",
21    "handle.h",
22    "interceptor.cc",
23    "interceptor.h",
24    "isolate_holder.cc",
25    "modules/console.cc",
26    "modules/console.h",
27    "modules/file_module_provider.cc",
28    "modules/file_module_provider.h",
29    "modules/module_registry.cc",
30    "modules/module_registry.h",
31    "modules/module_registry_observer.h",
32    "modules/module_runner_delegate.cc",
33    "modules/module_runner_delegate.h",
34    "modules/timer.cc",
35    "modules/timer.h",
36    "object_template_builder.cc",
37    "object_template_builder.h",
38    "per_context_data.cc",
39    "per_context_data.h",
40    "per_isolate_data.cc",
41    "per_isolate_data.h",
42    "public/context_holder.h",
43    "public/debug.h",
44    "public/gin_embedders.h",
45    "public/isolate_holder.h",
46    "public/v8_platform.h",
47    "public/wrapper_info.h",
48    "runner.cc",
49    "runner.h",
50    "run_microtasks_observer.cc",
51    "run_microtasks_observer.h",
52    "shell_runner.cc",
53    "shell_runner.h",
54    "try_catch.cc",
55    "try_catch.h",
56    "v8_platform.cc",
57    "wrappable.cc",
58    "wrappable.h",
59    "wrapper_info.cc",
60  ]
61
62  defines = [ "GIN_IMPLEMENTATION" ]
63
64  public_deps = [
65    "//base",
66    "//v8",
67  ]
68  deps = [
69    "//base/third_party/dynamic_annotations",
70  ]
71}
72
73executable("gin_shell") {
74  sources = [
75    "shell/gin_main.cc",
76  ]
77
78  deps = [
79    ":gin",
80    "//base",
81    "//base:i18n",
82    "//v8",
83  ]
84}
85
86source_set("gin_test") {
87  testonly = true
88  sources = [
89    "test/file.cc",
90    "test/file.h",
91    "test/file_runner.cc",
92    "test/file_runner.h",
93    "test/gc.cc",
94    "test/gc.h",
95    "test/gtest.cc",
96    "test/gtest.h",
97    "test/v8_test.cc",
98    "test/v8_test.h",
99  ]
100
101  public_deps = [
102    ":gin",
103    "//testing/gtest",
104  ]
105  deps = [
106    "//v8",
107  ]
108}
109
110test("gin_unittests") {
111  sources = [
112    "converter_unittest.cc",
113    "interceptor_unittest.cc",
114    "modules/module_registry_unittest.cc",
115    "modules/timer_unittest.cc",
116    "per_context_data_unittest.cc",
117    "shell_runner_unittest.cc",
118    "shell/gin_shell_unittest.cc",
119    "test/run_all_unittests.cc",
120    "test/run_js_tests.cc",
121    "wrappable_unittest.cc",
122  ]
123
124  deps = [
125    ":gin_test",
126    "//base/test:test_support",
127    "//v8",
128  ]
129}
130