Index: runtime/vm/BUILD.gn |
diff --git a/runtime/vm/BUILD.gn b/runtime/vm/BUILD.gn |
index 0634496bc59b76a131deec048f35c97d6ad484c1..fe20b99c3c4256c9bd3ffe4816187dd95f54a814 100644 |
--- a/runtime/vm/BUILD.gn |
+++ b/runtime/vm/BUILD.gn |
@@ -415,130 +415,128 @@ template("concatenate_patch") { |
} |
if (!defined(is_fuchsia) || !is_fuchsia) { |
+ template("generate_patched_sdk") { |
+ assert(defined(invoker.libraries), "Need libraries in $target_name") |
-template("generate_patched_sdk") { |
- assert(defined(invoker.libraries), "Need libraries in $target_name") |
+ concatenation_target_names = [] |
+ concatenation_files = [] |
- concatenation_target_names = [] |
- concatenation_files = [] |
+ # Concatenate vm library patches. |
+ foreach(library, invoker.libraries) { |
+ name = library[1] |
- # Concatenate vm library patches. |
- foreach(library, invoker.libraries) { |
- name = library[1] |
+ target_output = "$target_gen_dir/patches/${name}_patch.dart" |
+ concatenate_patch("concatenate_${name}_patch") { |
+ libname = name |
+ dir = library[0] |
+ output = target_output |
+ } |
+ concatenation_target_names += [ ":concatenate_${name}_patch" ] |
+ concatenation_files += [ target_output ] |
+ } |
- target_output = "$target_gen_dir/patches/${name}_patch.dart" |
- concatenate_patch("concatenate_${name}_patch") { |
- libname = name |
- dir = library[0] |
- output = target_output |
+ # Build the patched sdk out of the concatenated patches and the special |
+ # libraries. |
+ action(target_name) { |
+ deps = concatenation_target_names |
+ |
+ patches_dir = "$target_gen_dir/patches" |
+ patched_sdk_dir = "$root_out_dir/patched_sdk" |
+ |
+ script = "../../tools/patch_sdk.py" |
+ |
+ # We list all files which make up the sdk (modulo patches) and get them back |
+ # as a GN list object. |
+ shared_sdk_sources = exec_script("../../tools/list_dart_files.py", |
+ [ "../../sdk/lib" ], |
+ "list lines") |
+ |
+ # We list the `patch_sdk.dart` tool here because the [script] (which is |
+ # implicitly an input) will call it. |
+ inputs = [ |
+ "../../tools/patch_sdk.dart", |
+ ] |
+ |
+ # Files below are not patches, they will not be in [concatenation_files] but |
+ # the `patch_sdk.dart` script will copy them into the patched sdk. |
+ inputs += [ |
+ "../lib/typed_data.dart", |
+ "../bin/builtin.dart", |
+ "../bin/vmservice/vmservice_io.dart", |
+ "../bin/vmservice/loader.dart", |
+ "../bin/vmservice/server.dart", |
+ ] |
+ |
+ # Add all the normal sdk sources. |
+ inputs += shared_sdk_sources |
+ |
+ # Add all the concatenated patch files. |
+ inputs += concatenation_files |
+ |
+ outputs = [ |
+ # Instead of listing all outputs we list a single well-known one. |
+ "${patched_sdk_dir}/lib/core/core.dart", |
+ ] |
+ |
+ args = [ |
+ "vm", |
+ rebase_path("../../sdk"), |
+ rebase_path(patches_dir, root_build_dir), |
+ rebase_path(patched_sdk_dir, root_build_dir), |
+ ] |
} |
- concatenation_target_names += [ ":concatenate_${name}_patch" ] |
- concatenation_files += [ target_output ] |
} |
- # Build the patched sdk out of the concatenated patches and the special |
- # libraries. |
- action(target_name) { |
- deps = concatenation_target_names |
- |
- patches_dir = "$target_gen_dir/patches" |
- patched_sdk_dir = "$target_gen_dir/patched_sdk" |
- |
- script = "../../tools/patch_sdk.py" |
- |
- # We list all files which make up the sdk (modulo patches) and get them back |
- # as a GN list object. |
- shared_sdk_sources = exec_script("../../tools/list_dart_files.py", |
- [ "../../sdk/lib" ], |
- "list lines") |
- |
- # We list the `patch_sdk.dart` tool here because the [script] (which is |
- # implicitly an input) will call it. |
- inputs = [ |
- "../../tools/patch_sdk.dart", |
- ] |
- |
- # Files below are not patches, they will not be in [concatenation_files] but |
- # the `patch_sdk.dart` script will copy them into the patched sdk. |
- inputs += [ |
- "../lib/typed_data.dart", |
- "../bin/builtin.dart", |
- "../bin/vmservice/vmservice_io.dart", |
- "../bin/vmservice/loader.dart", |
- "../bin/vmservice/server.dart", |
- ] |
- |
- # Add all the normal sdk sources. |
- inputs += shared_sdk_sources |
- |
- # Add all the concatenated patch files. |
- inputs += concatenation_files |
- |
- outputs = [ |
- # Instead of listing all outputs we list a single well-known one. |
- "${patched_sdk_dir}/lib/core/core.dart", |
- ] |
- |
- args = [ |
- "vm", |
- rebase_path("../../sdk"), |
- rebase_path(patches_dir, root_build_dir), |
- rebase_path(patched_sdk_dir, root_build_dir), |
+ generate_patched_sdk("patched_sdk") { |
+ libraries = [ |
+ [ |
+ "lib", |
+ "async", |
+ ], |
+ [ |
+ "lib", |
+ "collection", |
+ ], |
+ [ |
+ "lib", |
+ "convert", |
+ ], |
+ [ |
+ "lib", |
+ "core", |
+ ], |
+ [ |
+ "lib", |
+ "developer", |
+ ], |
+ [ |
+ "lib", |
+ "internal", |
+ ], |
+ [ |
+ "lib", |
+ "isolate", |
+ ], |
+ [ |
+ "lib", |
+ "math", |
+ ], |
+ [ |
+ "lib", |
+ "mirrors", |
+ ], |
+ [ |
+ "lib", |
+ "profiler", |
+ ], |
+ [ |
+ "lib", |
+ "vmservice", |
+ ], |
+ [ |
+ "bin", |
+ "io", |
+ ], |
] |
} |
} |
- |
-generate_patched_sdk("patched_sdk") { |
- libraries = [ |
- [ |
- "lib", |
- "async", |
- ], |
- [ |
- "lib", |
- "collection", |
- ], |
- [ |
- "lib", |
- "convert", |
- ], |
- [ |
- "lib", |
- "core", |
- ], |
- [ |
- "lib", |
- "developer", |
- ], |
- [ |
- "lib", |
- "internal", |
- ], |
- [ |
- "lib", |
- "isolate", |
- ], |
- [ |
- "lib", |
- "math", |
- ], |
- [ |
- "lib", |
- "mirrors", |
- ], |
- [ |
- "lib", |
- "profiler", |
- ], |
- [ |
- "lib", |
- "vmservice", |
- ], |
- [ |
- "bin", |
- "io", |
- ], |
- ] |
-} |
- |
-} |