[dart2wasm] Build snapshot as part of the SDK.
Change-Id: Iea75c14b6709f2347fe82af2ef226a1ed068d8a6
Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try,dart-sdk-mac-arm64-try,dart-sdk-mac-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/261502
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 1773913..7c566ef 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -103,12 +103,18 @@
deps = [ "utils/compiler:dart2js" ]
}
-group("dart2wasm") {
+group("dart2wasm_platform") {
deps = [
":runtime_precompiled",
"utils/dart2wasm:compile_dart2wasm_platform",
"utils/dart2wasm:dart2wasm_asserts_snapshot",
"utils/dart2wasm:dart2wasm_snapshot",
+ ]
+}
+
+group("dart2wasm") {
+ deps = [
+ ":dart2wasm_platform",
"utils/dart2wasm:test_wasm_modules",
]
}
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 63ff6ff..f33fb05 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -38,10 +38,12 @@
# ......dartaotruntime or dartaotruntime.exe (executable)
# ......dart2js
# ......dartdevc
+# ......run_wasm.js (if not on ia32)
# ......utils/gen_snapshot or utils/gen_snapshot.exe (if not on ia32)
# ......snapshots/
# ........analysis_server.dart.snapshot
# ........dart2js.dart.snapshot
+# ........dart2wasm.dart.snapshot (if not on ia32)
# ........dartdev.dart.snapshot
# ........dartdev.dill
# ........dartdevc.dart.snapshot
@@ -67,6 +69,8 @@
# ........dart2js_platform_unsound.dill
# ........dart2js_server_platform.dill
# ........dart2js_server_platform_unsound.dill
+# ........dart2wasm_platform.dill (if not on ia32)
+# ........dart2wasm_outline.dill (if not on ia32)
# ........vm_platform_strong.dill
# ........dev_compiler/
# ......async/
@@ -481,6 +485,37 @@
[ "$root_out_dir/$dart_sdk_output/lib/_internal/{{source_file_part}}" ]
}
+copy("copy_dart2wasm_platform") {
+ visibility = [ ":create_full_sdk" ]
+ deps = [
+ ":copy_libraries",
+ "../:dart2wasm_platform",
+ "../utils/dart2wasm:compile_dart2wasm_platform",
+ ]
+ sources = [
+ "$root_out_dir/dart2wasm_outline.dill",
+ "$root_out_dir/dart2wasm_platform.dill",
+ ]
+ outputs =
+ [ "$root_out_dir/$dart_sdk_output/lib/_internal/{{source_file_part}}" ]
+}
+
+copy("copy_dart2wasm_runtime") {
+ visibility = [ ":create_full_sdk" ]
+ sources = [ "../pkg/dart2wasm/bin/run_wasm.js" ]
+ outputs = [ "$root_out_dir/$dart_sdk_output/bin/{{source_file_part}}" ]
+}
+
+copy("copy_dart2wasm_snapshot") {
+ visibility = [ ":create_full_sdk" ]
+ deps = [
+ ":copy_libraries",
+ "../utils/dart2wasm:dart2wasm_snapshot",
+ ]
+ sources = [ "$root_out_dir/dart2wasm.snapshot" ]
+ outputs = [ "$root_out_dir/$dart_sdk_output/snapshots/{{source_file_part}}" ]
+}
+
# Copies DDC's SDK weak outline .dill to lib/_internal
# TODO(nshahan) Fix the outline to be consistent and merge with below as a
# breaking change.
@@ -775,6 +810,14 @@
":copy_full_sdk_scripts",
":copy_full_sdk_snapshots",
]
+
+ if (dart_target_arch != "ia32" && dart_target_arch != "x86") {
+ public_deps += [
+ ":copy_dart2wasm_platform",
+ ":copy_dart2wasm_runtime",
+ ":copy_dart2wasm_snapshot",
+ ]
+ }
}
# Build a SDK with less stuff. It excludes dart2js, ddc, and web libraries.