Port 'external startup data' flag from gyp to gn.

R=jochen@chromium.org
BUG=

Review URL: https://codereview.chromium.org/316363004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
vogelheim@chromium.org 2014-06-06 14:30:33 +00:00
parent ffc4ad0697
commit 1d29b1824b

104
BUILD.gn
View File

@ -218,10 +218,19 @@ action("js2c") {
sources += [ "src/i18n.js" ]
}
args =
rebase_path(outputs, root_build_dir) +
[ "CORE", v8_compress_startup_data ] +
rebase_path(sources, root_build_dir)
args = [
rebase_path("$target_gen_dir/libraries.cc", root_build_dir),
"CORE",
v8_compress_startup_data
] + rebase_path(sources, root_build_dir)
if (v8_use_external_startup_data) {
outputs += [ "$target_gen_dir/libraries.bin" ]
args += [
"--startup_blob",
rebase_path("$target_gen_dir/libraries.bin", root_build_dir)
]
}
}
action("js2c_experimental") {
@ -250,10 +259,41 @@ action("js2c_experimental") {
"$target_gen_dir/experimental-libraries.cc"
]
args =
rebase_path(outputs, root_build_dir) +
[ "EXPERIMENTAL", v8_compress_startup_data ] +
rebase_path(sources, root_build_dir)
args = [
rebase_path("$target_gen_dir/experimental-libraries.cc", root_build_dir),
"EXPERIMENTAL",
v8_compress_startup_data
] + rebase_path(sources, root_build_dir)
if (v8_use_external_startup_data) {
outputs += [ "$target_gen_dir/libraries_experimental.bin" ]
args += [
"--startup_blob",
rebase_path("$target_gen_dir/libraries_experimental.bin", root_build_dir)
]
}
}
action("natives_blob") {
visibility = ":*" # Only targets in this file can depend on this.
deps = [
":js2c",
":js2c_experimental"
]
sources = [
"$target_gen_dir/libraries.bin",
"$target_gen_dir/libraries_experimental.bin"
]
outputs = [
"$root_gen_dir/natives_blob.bin"
]
script = "tools/concatenate-files.py"
args = rebase_path(sources + outputs, root_build_dir)
}
action("postmortem-metadata") {
@ -291,14 +331,21 @@ action("run_mksnapshot") {
"root_out_dir") + "/mksnapshot",
root_build_dir),
"--log-snapshot-positions",
"--logfile", rebase_path("$target_gen_dir/snapshot.log", root_build_dir)
"--logfile", rebase_path("$target_gen_dir/snapshot.log", root_build_dir),
rebase_path("$target_gen_dir/snapshot.cc", root_build_dir)
]
if (v8_random_seed != "0") {
args += [ "--random-seed", v8_random_seed ]
}
args += rebase_path(outputs, root_build_dir)
if (v8_use_external_startup_data) {
outputs += [ "$root_gen_dir/snapshot_blob.bin" ]
args += [
"--startup_blob",
rebase_path("$root_gen_dir/snapshot_blob.bin", root_build_dir)
]
}
}
@ -353,6 +400,29 @@ source_set("v8_snapshot") {
configs += [ ":internal_config", ":features", ":toolchain" ]
}
source_set("v8_external_snapshot") {
visibility = ":*" # Only targets in this file can depend on this.
deps = [
":js2c",
":js2c_experimental",
":generate_trig_table",
":run_mksnapshot",
":v8_base",
":natives_blob",
]
sources = [
"$target_gen_dir/trig-table.cc",
"src/natives-external.cc",
"src/snapshot-external.cc",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs += [ ":internal_config", ":features", ":toolchain" ]
}
source_set("v8_base") {
visibility = ":*" # Only targets in this file can depend on this.
@ -1024,7 +1094,12 @@ component("v8") {
"src/v8dll-main.cc",
]
if (v8_use_snapshot) {
if (v8_use_external_startup_data) {
deps = [
":v8_base",
":v8_external_snapshot",
]
} else if (v8_use_snapshot) {
deps = [
":v8_base",
":v8_snapshot",
@ -1050,7 +1125,12 @@ component("v8") {
} else {
group("v8") {
if (v8_use_snapshot) {
if (v8_use_external_startup_data) {
deps = [
":v8_base",
":v8_external_snapshot",
]
} else if (v8_use_snapshot) {
deps = [
":v8_base",
":v8_snapshot",