mirror of
https://github.com/dart-lang/sdk
synced 2024-10-02 23:39:19 +00:00
[dart2wasm] Build product snapshot when building for the SDK.
The `dartaotruntime` is built in `product` mode even when we do a release build. This CL wires up a product flag so we always build the Dart2Wasm product snapshot when creating the SDK. Change-Id: Ic8c6a6da180a47a19ba818d7c449f712c9e60123 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/264887 Reviewed-by: Slava Egorov <vegorov@google.com> Commit-Queue: Joshua Litt <joshualitt@google.com> Reviewed-by: Jake Macdonald <jakemac@google.com>
This commit is contained in:
parent
478f2bb34c
commit
1ed2a07022
8
BUILD.gn
8
BUILD.gn
|
@ -109,8 +109,12 @@ group("dart2wasm_platform") {
|
||||||
"utils/dart2wasm:compile_dart2wasm_platform",
|
"utils/dart2wasm:compile_dart2wasm_platform",
|
||||||
"utils/dart2wasm:dart2wasm_snapshot",
|
"utils/dart2wasm:dart2wasm_snapshot",
|
||||||
]
|
]
|
||||||
if (defined(is_product) && !is_product) {
|
if (defined(is_product)) {
|
||||||
deps += [ "utils/dart2wasm:dart2wasm_asserts_snapshot" ]
|
if (is_product) {
|
||||||
|
deps += [ "utils/dart2wasm:dart2wasm_product_snapshot" ]
|
||||||
|
} else {
|
||||||
|
deps += [ "utils/dart2wasm:dart2wasm_asserts_snapshot" ]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -347,6 +347,10 @@ template("dart_action") {
|
||||||
# packages (optional):
|
# packages (optional):
|
||||||
# The un-rebased path to the package_config.json file.
|
# The un-rebased path to the package_config.json file.
|
||||||
#
|
#
|
||||||
|
# force_product_mode (optional):
|
||||||
|
# Setting this to true will cause snapshot to be built in product mode even
|
||||||
|
# if dart_runtime_mode is not product.
|
||||||
|
#
|
||||||
# Forwarded to action() with the usual meaning:
|
# Forwarded to action() with the usual meaning:
|
||||||
# depfile
|
# depfile
|
||||||
# deps
|
# deps
|
||||||
|
@ -355,12 +359,19 @@ template("dart_action") {
|
||||||
# testonly
|
# testonly
|
||||||
# visibility
|
# visibility
|
||||||
template("gen_snapshot_action") {
|
template("gen_snapshot_action") {
|
||||||
|
product_mode =
|
||||||
|
(defined(dart_runtime_mode) && dart_runtime_mode == "release") ||
|
||||||
|
(defined(invoker.force_product_mode) && invoker.force_product_mode)
|
||||||
assert(
|
assert(
|
||||||
!defined(invoker.script),
|
!defined(invoker.script),
|
||||||
"script must not be defined for $target_name. If there is a script use args instead.")
|
"script must not be defined for $target_name. If there is a script use args instead.")
|
||||||
if (!_is_fuchsia || !use_prebuilt_dart_sdk) {
|
if (!_is_fuchsia || !use_prebuilt_dart_sdk) {
|
||||||
_built_tool_action(target_name) {
|
_built_tool_action(target_name) {
|
||||||
tool = "$_dart_root/runtime/bin:gen_snapshot"
|
if (product_mode) {
|
||||||
|
tool = "$_dart_root/runtime/bin:gen_snapshot_product"
|
||||||
|
} else {
|
||||||
|
tool = "$_dart_root/runtime/bin:gen_snapshot"
|
||||||
|
}
|
||||||
forward_variables_from(invoker,
|
forward_variables_from(invoker,
|
||||||
[
|
[
|
||||||
"args",
|
"args",
|
||||||
|
|
|
@ -43,7 +43,7 @@ declare_args() {
|
||||||
# ......snapshots/
|
# ......snapshots/
|
||||||
# ........analysis_server.dart.snapshot
|
# ........analysis_server.dart.snapshot
|
||||||
# ........dart2js.dart.snapshot
|
# ........dart2js.dart.snapshot
|
||||||
# ........dart2wasm.dart.snapshot (if not on ia32)
|
# ........dart2wasm_product.snapshot (if not on ia32)
|
||||||
# ........dartdev.dart.snapshot
|
# ........dartdev.dart.snapshot
|
||||||
# ........dartdev.dill
|
# ........dartdev.dill
|
||||||
# ........dartdevc.dart.snapshot
|
# ........dartdevc.dart.snapshot
|
||||||
|
@ -510,9 +510,9 @@ copy("copy_dart2wasm_snapshot") {
|
||||||
visibility = [ ":create_full_sdk" ]
|
visibility = [ ":create_full_sdk" ]
|
||||||
deps = [
|
deps = [
|
||||||
":copy_libraries",
|
":copy_libraries",
|
||||||
"../utils/dart2wasm:dart2wasm_snapshot",
|
"../utils/dart2wasm:dart2wasm_product_snapshot",
|
||||||
]
|
]
|
||||||
sources = [ "$root_out_dir/dart2wasm.snapshot" ]
|
sources = [ "$root_out_dir/dart2wasm_product.snapshot" ]
|
||||||
outputs =
|
outputs =
|
||||||
[ "$root_out_dir/$dart_sdk_output/bin/snapshots/{{source_file_part}}" ]
|
[ "$root_out_dir/$dart_sdk_output/bin/snapshots/{{source_file_part}}" ]
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,9 @@ _dart_root = get_path_info("..", "abspath")
|
||||||
|
|
||||||
template("aot_snapshot") {
|
template("aot_snapshot") {
|
||||||
assert(defined(invoker.main_dart), "Must specify 'main_dart'")
|
assert(defined(invoker.main_dart), "Must specify 'main_dart'")
|
||||||
|
product_mode =
|
||||||
|
(defined(dart_runtime_mode) && dart_runtime_mode == "release") ||
|
||||||
|
(defined(invoker.force_product_mode) && invoker.force_product_mode)
|
||||||
gen_kernel_args = []
|
gen_kernel_args = []
|
||||||
if (defined(invoker.gen_kernel_args)) {
|
if (defined(invoker.gen_kernel_args)) {
|
||||||
gen_kernel_args = invoker.gen_kernel_args
|
gen_kernel_args = invoker.gen_kernel_args
|
||||||
|
@ -92,6 +95,9 @@ template("aot_snapshot") {
|
||||||
]
|
]
|
||||||
args += gen_kernel_args
|
args += gen_kernel_args
|
||||||
args += [ rebase_path(main_dart) ]
|
args += [ rebase_path(main_dart) ]
|
||||||
|
if (product_mode) {
|
||||||
|
args += [ "-Ddart.vm.product=true" ]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Create a snapshot from kernel built above.
|
# Create a snapshot from kernel built above.
|
||||||
|
@ -114,5 +120,7 @@ template("aot_snapshot") {
|
||||||
] + gen_snapshot_args
|
] + gen_snapshot_args
|
||||||
|
|
||||||
args = [ rebase_path(dill) ]
|
args = [ rebase_path(dill) ]
|
||||||
|
|
||||||
|
force_product_mode = product_mode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,12 @@ aot_snapshot("dart2wasm_asserts_snapshot") {
|
||||||
gen_snapshot_args = [ "--enable-asserts" ]
|
gen_snapshot_args = [ "--enable-asserts" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
aot_snapshot("dart2wasm_product_snapshot") {
|
||||||
|
main_dart = "../../pkg/dart2wasm/bin/dart2wasm.dart"
|
||||||
|
name = "dart2wasm_product"
|
||||||
|
force_product_mode = true
|
||||||
|
}
|
||||||
|
|
||||||
compile_platform("compile_dart2wasm_platform") {
|
compile_platform("compile_dart2wasm_platform") {
|
||||||
single_root_scheme = "org-dartlang-sdk"
|
single_root_scheme = "org-dartlang-sdk"
|
||||||
single_root_base = rebase_path("$sdk_root/")
|
single_root_base = rebase_path("$sdk_root/")
|
||||||
|
|
Loading…
Reference in a new issue