Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: gin/BUILD.gn

Issue 2841443005: [Bindings] Create and use V8 context snapshots (Closed)
Patch Set: Work for some comments Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//testing/test.gni") 5 import("//testing/test.gni")
6 import("//v8/gni/v8.gni") 6 import("//v8/gni/v8.gni")
7 7
8 # This is depended upon from the browser DLL on Windows, where V8 is not used, 8 # This is depended upon from the browser DLL on Windows, where V8 is not used,
9 # but features are enabled. This cannot depend on V8. 9 # but features are enabled. This cannot depend on V8.
10 component("gin_features") { 10 component("gin_features") {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 ] 88 ]
89 89
90 if (v8_use_external_startup_data) { 90 if (v8_use_external_startup_data) {
91 data = [ 91 data = [
92 "$root_out_dir/natives_blob.bin", 92 "$root_out_dir/natives_blob.bin",
93 "$root_out_dir/snapshot_blob.bin", 93 "$root_out_dir/snapshot_blob.bin",
94 ] 94 ]
95 } 95 }
96 96
97 defines = [ "GIN_IMPLEMENTATION" ] 97 defines = [ "GIN_IMPLEMENTATION" ]
98
99 public_deps = [ 98 public_deps = [
100 "//base", 99 "//base",
101 "//v8", 100 "//v8",
102 ] 101 ]
102
103 deps = [ 103 deps = [
104 ":gin_features", 104 ":gin_features",
105 "//base/third_party/dynamic_annotations", 105 "//base/third_party/dynamic_annotations",
106 "//crypto", 106 "//crypto",
107 ] 107 ]
108 108
109 if (is_mac) { 109 if (is_mac) {
110 libs = [ "CoreFoundation.framework" ] 110 libs = [ "CoreFoundation.framework" ]
111 } 111 }
112 112
(...skipping 10 matching lines...) Expand all
123 "//base", 123 "//base",
124 "//base:i18n", 124 "//base:i18n",
125 "//build/config/sanitizers:deps", 125 "//build/config/sanitizers:deps",
126 "//build/win:default_exe_manifest", 126 "//build/win:default_exe_manifest",
127 "//v8", 127 "//v8",
128 ] 128 ]
129 129
130 configs += [ "//v8:external_startup_data" ] 130 configs += [ "//v8:external_startup_data" ]
131 } 131 }
132 132
133 group("v8_context_snapshot_for_blink") {
134 public_deps = [
135 ":generate_v8_context_snapshot_for_blink",
136 ]
137 }
138
139 action("generate_v8_context_snapshot_for_blink") {
140 script = "run.py"
141 output_file = "$root_out_dir/context_blob.bin"
142 output_path = rebase_path(output_file, root_build_dir)
143
144 args = [
145 "./" + rebase_path(get_label_info(":gin_blink_snapshot($host_toolchain)",
146 "root_out_dir") + "/gin_blink_snapshot",
147 root_build_dir),
148 "--output_file=$output_path",
149 ]
150
151 outputs = [
152 output_file,
153 ]
154
155 deps = [
156 ":gin_blink_snapshot($host_toolchain)",
157 ]
158 }
159
160 # This config disables a link time optimization which merge some pointers,
161 # but we must keep duplicated entries in external references for V8 snapshot.
162 config("disable_icf") {
163 visibility = [ ":*" ] # Only targets in this file can depend on this.
164 if (is_win) {
165 ldflags = [ "/OPT:NOICF" ]
166 } else if (is_posix && !is_mac) {
167 ldflags = [ "-Wl,--icf=none" ]
168 }
169 }
170
171 executable("gin_blink_snapshot") {
172 sources = [
173 "shell/gin_prepare_main.cc",
174 ]
175
176 deps = [
177 ":gin",
178 "//mojo/edk/system:system",
179 "//third_party/WebKit/public:blink",
180 "//v8",
181 ]
182
183 configs += [
184 "//v8:external_startup_data",
185 ":disable_icf",
186 ]
187 }
188
133 source_set("gin_test") { 189 source_set("gin_test") {
134 testonly = true 190 testonly = true
135 sources = [ 191 sources = [
136 "test/file.cc", 192 "test/file.cc",
137 "test/file.h", 193 "test/file.h",
138 "test/file_runner.cc", 194 "test/file_runner.cc",
139 "test/file_runner.h", 195 "test/file_runner.h",
140 "test/gc.cc", 196 "test/gc.cc",
141 "test/gc.h", 197 "test/gc.h",
142 "test/gtest.cc", 198 "test/gtest.cc",
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 "shell/hello_world.js", 248 "shell/hello_world.js",
193 "test/file_unittests.js", 249 "test/file_unittests.js",
194 "test/gtest_unittests.js", 250 "test/gtest_unittests.js",
195 "../OWNERS", 251 "../OWNERS",
196 ] 252 ]
197 253
198 data_deps = [ 254 data_deps = [
199 ":gin_shell", 255 ":gin_shell",
200 ] 256 ]
201 } 257 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698