Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(805)

Unified Diff: runtime/vm/BUILD.gn

Issue 2469683002: Emit patched_sdk in the root output directory. (Closed)
Patch Set: Martin's comment Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | runtime/vm/vm.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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",
- ],
- ]
-}
-
-}
« no previous file with comments | « no previous file | runtime/vm/vm.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698