From: vogelheim@chromium.org Date: Fri, 6 Jun 2014 14:30:33 +0000 (+0000) Subject: Port 'external startup data' flag from gyp to gn. X-Git-Tag: upstream/4.7.83~8776 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d29b1824b46a6ec170fb6335f7eda88f05627f0;p=platform%2Fupstream%2Fv8.git 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 --- diff --git a/BUILD.gn b/BUILD.gn index 6c6210c..f9bd41e 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -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",