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

Side by Side Diff: BUILD.gn

Issue 316363004: Port 'external startup data' flag from gyp to gn. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: minor fixes Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 # TODO(jochen): These will need to be user-settable to support standalone V8 5 # TODO(jochen): These will need to be user-settable to support standalone V8
6 # builds. 6 # builds.
7 v8_compress_startup_data = "off" 7 v8_compress_startup_data = "off"
8 v8_deprecation_warnings = false 8 v8_deprecation_warnings = false
9 v8_enable_disassembler = false 9 v8_enable_disassembler = false
10 v8_enable_gdbjit = false 10 v8_enable_gdbjit = false
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 ] 211 ]
212 212
213 outputs = [ 213 outputs = [
214 "$target_gen_dir/libraries.cc" 214 "$target_gen_dir/libraries.cc"
215 ] 215 ]
216 216
217 if (v8_enable_i18n_support) { 217 if (v8_enable_i18n_support) {
218 sources += [ "src/i18n.js" ] 218 sources += [ "src/i18n.js" ]
219 } 219 }
220 220
221 args = 221 args = [
222 rebase_path(outputs, root_build_dir) + 222 rebase_path("$target_gen_dir/libraries.cc", root_build_dir),
223 [ "CORE", v8_compress_startup_data ] + 223 "CORE",
224 rebase_path(sources, root_build_dir) 224 v8_compress_startup_data
225 ] + rebase_path(sources, root_build_dir)
226
227 if (v8_use_external_startup_data) {
228 outputs += [ "$target_gen_dir/libraries.bin" ]
229 args += [
230 "--startup_blob",
231 rebase_path("$target_gen_dir/libraries.bin", root_build_dir)
232 ]
233 }
225 } 234 }
226 235
227 action("js2c_experimental") { 236 action("js2c_experimental") {
228 visibility = ":*" # Only targets in this file can depend on this. 237 visibility = ":*" # Only targets in this file can depend on this.
229 238
230 script = "tools/js2c.py" 239 script = "tools/js2c.py"
231 240
232 # The script depends on this other script, this rule causes a rebuild if it 241 # The script depends on this other script, this rule causes a rebuild if it
233 # changes. 242 # changes.
234 source_prereqs = [ "tools/jsmin.py" ] 243 source_prereqs = [ "tools/jsmin.py" ]
235 244
236 sources = [ 245 sources = [
237 "src/macros.py", 246 "src/macros.py",
238 "src/symbol.js", 247 "src/symbol.js",
239 "src/proxy.js", 248 "src/proxy.js",
240 "src/collection.js", 249 "src/collection.js",
241 "src/collection-iterator.js", 250 "src/collection-iterator.js",
242 "src/generator.js", 251 "src/generator.js",
243 "src/array-iterator.js", 252 "src/array-iterator.js",
244 "src/harmony-string.js", 253 "src/harmony-string.js",
245 "src/harmony-array.js", 254 "src/harmony-array.js",
246 "src/harmony-math.js", 255 "src/harmony-math.js",
247 ] 256 ]
248 257
249 outputs = [ 258 outputs = [
250 "$target_gen_dir/experimental-libraries.cc" 259 "$target_gen_dir/experimental-libraries.cc"
251 ] 260 ]
252 261
253 args = 262 args = [
254 rebase_path(outputs, root_build_dir) + 263 rebase_path("$target_gen_dir/experimental-libraries.cc", root_build_dir),
255 [ "EXPERIMENTAL", v8_compress_startup_data ] + 264 "EXPERIMENTAL",
256 rebase_path(sources, root_build_dir) 265 v8_compress_startup_data
266 ] + rebase_path(sources, root_build_dir)
267
268 if (v8_use_external_startup_data) {
269 outputs += [ "$target_gen_dir/libraries_experimental.bin" ]
270 args += [
271 "--startup_blob",
272 rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir)
273 ]
274 }
275 }
276
277 action("natives_blob") {
278 visibility = ":*" # Only targets in this file can depend on this.
279
280 deps = [
281 ":js2c",
282 ":js2c_experimental"
283 ]
284
285 sources = [
286 "$target_gen_dir/libraries.bin",
287 "$target_gen_dir/libraries_experimental.bin"
288 ]
289
290 outputs = [
291 "$root_gen_dir/natives_blob.bin"
292 ]
293
294 script = "tools/concatenate-files.py"
295
296 args = rebase_path(sources + outputs, root_build_dir)
257 } 297 }
258 298
259 action("postmortem-metadata") { 299 action("postmortem-metadata") {
260 visibility = ":*" # Only targets in this file can depend on this. 300 visibility = ":*" # Only targets in this file can depend on this.
261 301
262 script = "tools/gen-postmortem-metadata.py" 302 script = "tools/gen-postmortem-metadata.py"
263 303
264 sources = [ 304 sources = [
265 "src/objects.h", 305 "src/objects.h",
266 "src/objects-inl.h", 306 "src/objects-inl.h",
(...skipping 17 matching lines...) Expand all
284 324
285 outputs = [ 325 outputs = [
286 "$target_gen_dir/snapshot.cc" 326 "$target_gen_dir/snapshot.cc"
287 ] 327 ]
288 328
289 args = [ 329 args = [
290 "./" + rebase_path(get_label_info(":mksnapshot($host_toolchain)", 330 "./" + rebase_path(get_label_info(":mksnapshot($host_toolchain)",
291 "root_out_dir") + "/mksnapshot", 331 "root_out_dir") + "/mksnapshot",
292 root_build_dir), 332 root_build_dir),
293 "--log-snapshot-positions", 333 "--log-snapshot-positions",
294 "--logfile", rebase_path("$target_gen_dir/snapshot.log", root_build_dir) 334 "--logfile", rebase_path("$target_gen_dir/snapshot.log", root_build_dir),
335 rebase_path("$target_gen_dir/snapshot.cc", root_build_dir)
295 ] 336 ]
296 337
297 if (v8_random_seed != "0") { 338 if (v8_random_seed != "0") {
298 args += [ "--random-seed", v8_random_seed ] 339 args += [ "--random-seed", v8_random_seed ]
299 } 340 }
300 341
301 args += rebase_path(outputs, root_build_dir) 342 if (v8_use_external_startup_data) {
343 outputs += [ "$root_gen_dir/snapshot_blob.bin" ]
344 args += [
345 "--startup_blob",
346 rebase_path("$root_gen_dir/snapshot_blob.bin", root_build_dir)
347 ]
348 }
302 } 349 }
303 350
304 351
305 ############################################################################### 352 ###############################################################################
306 # Source Sets (aka static libraries) 353 # Source Sets (aka static libraries)
307 # 354 #
308 355
309 source_set("v8_nosnapshot") { 356 source_set("v8_nosnapshot") {
310 visibility = ":*" # Only targets in this file can depend on this. 357 visibility = ":*" # Only targets in this file can depend on this.
311 358
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 "$target_gen_dir/trig-table.cc", 393 "$target_gen_dir/trig-table.cc",
347 "$target_gen_dir/snapshot.cc", 394 "$target_gen_dir/snapshot.cc",
348 "src/snapshot-common.cc", 395 "src/snapshot-common.cc",
349 ] 396 ]
350 397
351 configs -= [ "//build/config/compiler:chromium_code" ] 398 configs -= [ "//build/config/compiler:chromium_code" ]
352 configs += [ "//build/config/compiler:no_chromium_code" ] 399 configs += [ "//build/config/compiler:no_chromium_code" ]
353 configs += [ ":internal_config", ":features", ":toolchain" ] 400 configs += [ ":internal_config", ":features", ":toolchain" ]
354 } 401 }
355 402
403 source_set("v8_external_snapshot") {
404 visibility = ":*" # Only targets in this file can depend on this.
405
406 deps = [
407 ":js2c",
408 ":js2c_experimental",
409 ":generate_trig_table",
410 ":run_mksnapshot",
411 ":v8_base",
412 ":natives_blob",
413 ]
414
415 sources = [
416 "$target_gen_dir/trig-table.cc",
417 "src/natives-external.cc",
418 "src/snapshot-external.cc",
419 ]
420
421 configs -= [ "//build/config/compiler:chromium_code" ]
422 configs += [ "//build/config/compiler:no_chromium_code" ]
423 configs += [ ":internal_config", ":features", ":toolchain" ]
424 }
425
356 source_set("v8_base") { 426 source_set("v8_base") {
357 visibility = ":*" # Only targets in this file can depend on this. 427 visibility = ":*" # Only targets in this file can depend on this.
358 428
359 sources = [ 429 sources = [
360 "src/accessors.cc", 430 "src/accessors.cc",
361 "src/accessors.h", 431 "src/accessors.h",
362 "src/allocation.cc", 432 "src/allocation.cc",
363 "src/allocation.h", 433 "src/allocation.h",
364 "src/allocation-site-scopes.cc", 434 "src/allocation-site-scopes.cc",
365 "src/allocation-site-scopes.h", 435 "src/allocation-site-scopes.h",
(...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after
1017 # Public targets 1087 # Public targets
1018 # 1088 #
1019 1089
1020 if (component_mode == "shared_library") { 1090 if (component_mode == "shared_library") {
1021 1091
1022 component("v8") { 1092 component("v8") {
1023 sources = [ 1093 sources = [
1024 "src/v8dll-main.cc", 1094 "src/v8dll-main.cc",
1025 ] 1095 ]
1026 1096
1027 if (v8_use_snapshot) { 1097 if (v8_use_external_startup_data) {
1098 deps = [
1099 ":v8_base",
1100 ":v8_external_snapshot",
1101 ]
1102 } else if (v8_use_snapshot) {
1028 deps = [ 1103 deps = [
1029 ":v8_base", 1104 ":v8_base",
1030 ":v8_snapshot", 1105 ":v8_snapshot",
1031 ] 1106 ]
1032 } else { 1107 } else {
1033 deps = [ 1108 deps = [
1034 ":v8_base", 1109 ":v8_base",
1035 ":v8_nosnapshot", 1110 ":v8_nosnapshot",
1036 ] 1111 ]
1037 } 1112 }
1038 1113
1039 configs -= [ "//build/config/compiler:chromium_code" ] 1114 configs -= [ "//build/config/compiler:chromium_code" ]
1040 configs += [ "//build/config/compiler:no_chromium_code" ] 1115 configs += [ "//build/config/compiler:no_chromium_code" ]
1041 configs += [ ":internal_config", ":features", ":toolchain" ] 1116 configs += [ ":internal_config", ":features", ":toolchain" ]
1042 1117
1043 direct_dependent_configs = [ ":external_config" ] 1118 direct_dependent_configs = [ ":external_config" ]
1044 1119
1045 if (is_android && current_toolchain != host_toolchain) { 1120 if (is_android && current_toolchain != host_toolchain) {
1046 libs += [ "log" ] 1121 libs += [ "log" ]
1047 } 1122 }
1048 } 1123 }
1049 1124
1050 } else { 1125 } else {
1051 1126
1052 group("v8") { 1127 group("v8") {
1053 if (v8_use_snapshot) { 1128 if (v8_use_external_startup_data) {
1129 deps = [
1130 ":v8_base",
1131 ":v8_external_snapshot",
1132 ]
1133 } else if (v8_use_snapshot) {
1054 deps = [ 1134 deps = [
1055 ":v8_base", 1135 ":v8_base",
1056 ":v8_snapshot", 1136 ":v8_snapshot",
1057 ] 1137 ]
1058 } else { 1138 } else {
1059 deps = [ 1139 deps = [
1060 ":v8_base", 1140 ":v8_base",
1061 ":v8_nosnapshot", 1141 ":v8_nosnapshot",
1062 ] 1142 ]
1063 } 1143 }
1064 1144
1065 direct_dependent_configs = [ ":external_config" ] 1145 direct_dependent_configs = [ ":external_config" ]
1066 } 1146 }
1067 1147
1068 } 1148 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698