Index: runtime/bin/BUILD.gn |
diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn |
index 94abe9846b87a76e15f9fa36c0c135680c9d40ac..df71085bc8f427365513db6043d50b6a2de60a5a 100644 |
--- a/runtime/bin/BUILD.gn |
+++ b/runtime/bin/BUILD.gn |
@@ -41,6 +41,43 @@ action("gen_resources_cc") { |
] + rebase_path(sources, root_build_dir) |
} |
+template("gen_service_isolate_bindata") { |
+ assert(defined(invoker.output), "Need output in $target_name") |
+ extra_args = [] |
+ if (defined(invoker.extra_args)) { |
+ extra_args += invoker.extra_args |
+ } |
+ extra_deps = [] |
+ if (defined(invoker.extra_deps)) { |
+ extra_deps += invoker.extra_deps |
+ } |
+ action(target_name) { |
+ visibility = [ ":*" ] |
+ script = "../tools/create_service_isolate_bindata.py" |
+ inputs = [ |
+ "../tools/create_service_isolate_bindata.py", |
+ ] |
+ outputs = [ |
+ invoker.output, |
+ ] |
+ args = [ |
+ "--build_dir", |
+ rebase_path("$root_build_dir"), |
+ "--output", |
+ rebase_path(invoker.output, root_build_dir), |
+ ] + extra_args |
+ deps = extra_deps |
+ } |
+} |
+ |
+gen_service_isolate_bindata("service_isolate_bindata_empty") { |
+ output = "$target_gen_dir/service_isolate_bindata_empty.cc" |
+ extra_args = [ |
+ "--empty", |
+ "true", |
+ ] |
+} |
+ |
template("gen_library_src_path") { |
assert(defined(invoker.sources), "Need sources in $target_name") |
assert(defined(invoker.output), "Need output in $target_name") |
@@ -282,6 +319,7 @@ executable("gen_snapshot") { |
":generate_io_cc_file", |
":generate_io_patch_cc_file", |
":libdart_builtin", |
+ ":service_isolate_bindata_empty", |
"..:libdart_nosnapshot_with_precompiler", |
] |
@@ -298,11 +336,13 @@ executable("gen_snapshot") { |
"loader.h", |
# Very limited native resolver provided. |
+ "$target_gen_dir/service_isolate_bindata_empty.cc", |
"builtin_common.cc", |
"builtin_gen_snapshot.cc", |
"dfe.cc", |
"dfe.h", |
"gen_snapshot.cc", |
+ "service_isolate_bindata.h", |
"vmservice_impl.cc", |
"vmservice_impl.h", |
] |
@@ -681,10 +721,16 @@ template("dart_executable") { |
} |
} |
+gen_service_isolate_bindata("service_isolate_bindata") { |
+ output = "$target_gen_dir/service_isolate_bindata.cc" |
+ extra_deps = [ ":dart_bootstrap" ] |
+} |
+ |
dart_executable("dart") { |
extra_deps = [ |
"..:libdart_jit", |
":dart_snapshot_cc", |
+ ":service_isolate_bindata", |
"../observatory:standalone_observatory_archive", |
] |
extra_sources = [ |
@@ -693,6 +739,8 @@ dart_executable("dart") { |
"dfe.h", |
"loader.cc", |
"loader.h", |
+ "service_isolate_bindata.h", |
+ "$target_gen_dir/service_isolate_bindata.cc", |
] |
} |
@@ -731,6 +779,7 @@ dart_executable("dart_bootstrap") { |
":generate_web_sql_cc_file", |
":generate_svg_cc_file", |
":generate_web_audio_cc_file", |
+ ":service_isolate_bindata_empty", |
"..:libdart_nosnapshot_with_precompiler", |
] |
extra_defines = [ "NO_OBSERVATORY" ] |
@@ -743,6 +792,7 @@ dart_executable("dart_bootstrap") { |
"loader.h", |
"observatory_assets_empty.cc", |
"snapshot_empty.cc", |
+ "service_isolate_bindata.h", |
# Include generated source files. |
"$target_gen_dir/builtin_gen.cc", |
@@ -760,6 +810,7 @@ dart_executable("dart_bootstrap") { |
"$target_gen_dir/web_sql_gen.cc", |
"$target_gen_dir/svg_gen.cc", |
"$target_gen_dir/web_audio_gen.cc", |
+ "$target_gen_dir/service_isolate_bindata_empty.cc", |
] |
} |