| Index: gin/BUILD.gn
|
| diff --git a/gin/BUILD.gn b/gin/BUILD.gn
|
| index 9d66473aa6f4982e5809788721838c60111fd24e..67959cfc771e929951790c763824221d7b293531 100644
|
| --- a/gin/BUILD.gn
|
| +++ b/gin/BUILD.gn
|
| @@ -4,6 +4,7 @@
|
|
|
| import("//testing/test.gni")
|
| import("//v8/gni/v8.gni")
|
| +import("//v8/snapshot_toolchain.gni")
|
|
|
| # This is depended upon from the browser DLL on Windows, where V8 is not used,
|
| # but features are enabled. This cannot depend on V8.
|
| @@ -95,11 +96,11 @@ component("gin") {
|
| }
|
|
|
| defines = [ "GIN_IMPLEMENTATION" ]
|
| -
|
| public_deps = [
|
| "//base",
|
| "//v8",
|
| ]
|
| +
|
| deps = [
|
| ":gin_features",
|
| "//base/third_party/dynamic_annotations",
|
| @@ -130,6 +131,56 @@ executable("gin_shell") {
|
| configs += [ "//v8:external_startup_data" ]
|
| }
|
|
|
| +if (current_toolchain == v8_snapshot_toolchain) {
|
| + action("run_gin_blink_snapshot") {
|
| + script = "run.py"
|
| + exec = "$root_out_dir/gin_blink_snapshot"
|
| + output_file = "$root_out_dir/context_blob.bin"
|
| + output_path = rebase_path(output_file, root_build_dir)
|
| +
|
| + args = [
|
| + rebase_path(exec, root_build_dir),
|
| + "--output_file=$output_path",
|
| + ]
|
| +
|
| + outputs = [
|
| + output_file,
|
| + ]
|
| +
|
| + deps = [
|
| + ":gin_blink_snapshot($v8_snapshot_toolchain)",
|
| + ]
|
| + }
|
| +}
|
| +
|
| +# This config disables a link time optimization which merge some pointers,
|
| +# but we must keep duplicated entries in external references for V8 snapshot.
|
| +config("disable_icf") {
|
| + visibility = [ ":*" ] # Only targets in this file can depend on this.
|
| + if (is_win) {
|
| + ldflags = [ "/OPT:NOICF" ]
|
| + } else if (is_posix && !is_mac) {
|
| + ldflags = [ "-Wl,--icf=none" ]
|
| + }
|
| +}
|
| +
|
| +executable("gin_blink_snapshot") {
|
| + sources = [
|
| + "shell/gin_prepare_main.cc",
|
| + ]
|
| +
|
| + deps = [
|
| + ":gin",
|
| + "//mojo/edk/system:system",
|
| + "//third_party/WebKit/public:blink",
|
| + ]
|
| +
|
| + configs += [
|
| + "//v8:external_startup_data",
|
| + ":disable_icf",
|
| + ]
|
| +}
|
| +
|
| source_set("gin_test") {
|
| testonly = true
|
| sources = [
|
|
|