f4d9c95262
dart2js aot snapshot is used internally, so it makes sense to start building it externally to better understand its performance characteristics. This CL doesn't add aot snapshot to dart sdk. Change-Id: Id82a956138b118fb0a4bf0a16b1750e7bd4a801e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330664 Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Alexander Aprelev <aam@google.com>
154 lines
4.0 KiB
Plaintext
154 lines
4.0 KiB
Plaintext
# Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
|
|
# for details. All rights reserved. Use of this source code is governed by a
|
|
# BSD-style license that can be found in the LICENSE file.
|
|
|
|
import("../../sdk_args.gni")
|
|
import("../../utils/compile_platform.gni")
|
|
import("../aot_snapshot.gni")
|
|
import("../application_snapshot.gni")
|
|
import("../create_timestamp.gni")
|
|
|
|
create_timestamp_file("dart2js_files_stamp") {
|
|
path = rebase_path("../../pkg/compiler/lib")
|
|
output = "$target_gen_dir/dart2js_files.stamp"
|
|
}
|
|
|
|
create_timestamp_file("runtime_lib_files_stamp") {
|
|
path = rebase_path("../../runtime/lib")
|
|
output = "$target_gen_dir/runtime_lib_files.stamp"
|
|
}
|
|
|
|
create_timestamp_file("dartdoc_files_stamp") {
|
|
path = rebase_path("../../sdk/lib/_internal/dartdoc")
|
|
output = "$target_gen_dir/dartdoc_files.stamp"
|
|
}
|
|
|
|
prebuilt_dart_action("dart2js_create_snapshot_entry") {
|
|
deps = [
|
|
":dart2js_files_stamp",
|
|
":dartdoc_files_stamp",
|
|
":runtime_lib_files_stamp",
|
|
]
|
|
|
|
output_dir = rebase_path(target_gen_dir)
|
|
|
|
script = "create_snapshot_entry.dart"
|
|
|
|
inputs = [
|
|
"$target_gen_dir/dart2js_files.stamp",
|
|
"../../tools/make_version.py",
|
|
"../../tools/VERSION",
|
|
]
|
|
|
|
outputs = [ "$target_gen_dir/dart2js.dart" ]
|
|
|
|
packages = "../../.dart_tool/package_config.json"
|
|
|
|
args = [ "--output_dir=$output_dir" ]
|
|
}
|
|
|
|
sdk_root = "../../sdk"
|
|
|
|
application_snapshot("dart2js") {
|
|
deps = [
|
|
":compile_dart2js_platform",
|
|
":compile_dart2js_platform_unsound",
|
|
":dart2js_create_snapshot_entry",
|
|
]
|
|
inputs = [
|
|
"$root_out_dir/dart2js_platform.dill",
|
|
"$root_out_dir/dart2js_platform_unsound.dill",
|
|
"$root_out_dir/dart2js_outline.dill",
|
|
"$root_out_dir/dart2js_outline_unsound.dill",
|
|
]
|
|
vm_args = []
|
|
main_dart = "$target_gen_dir/dart2js.dart"
|
|
training_args = [
|
|
"--invoker=gn_build",
|
|
"--packages=" +
|
|
rebase_path("../../.dart_tool/package_config.json", root_build_dir),
|
|
"--libraries-spec=" +
|
|
rebase_path("$sdk_root/lib/libraries.json", root_build_dir),
|
|
|
|
# Specifying the platform explicitly elides running the CFE on the sdk
|
|
# sources.
|
|
"--platform-binaries=" + rebase_path("$root_out_dir/", root_build_dir),
|
|
|
|
rebase_path("../../pkg/compiler/lib/src/util/memory_compiler.dart"),
|
|
]
|
|
}
|
|
|
|
aot_snapshot("dart2js_aot") {
|
|
deps = [ ":dart2js_create_snapshot_entry" ]
|
|
|
|
main_dart = "$target_gen_dir/dart2js.dart"
|
|
name = "dart2js_aot"
|
|
}
|
|
|
|
compile_platform("compile_dart2js_platform_unsound") {
|
|
single_root_scheme = "org-dartlang-sdk"
|
|
single_root_base = rebase_path("$sdk_root/")
|
|
libraries_specification_uri = "org-dartlang-sdk:///lib/libraries.json"
|
|
|
|
outputs = [
|
|
"$root_out_dir/dart2js_platform_unsound.dill",
|
|
"$root_out_dir/dart2js_outline_unsound.dill",
|
|
]
|
|
|
|
args = [
|
|
"--target=dart2js",
|
|
"--no-defines",
|
|
"dart:core",
|
|
]
|
|
}
|
|
compile_platform("compile_dart2js_platform") {
|
|
single_root_scheme = "org-dartlang-sdk"
|
|
single_root_base = rebase_path("$sdk_root/")
|
|
libraries_specification_uri = "org-dartlang-sdk:///lib/libraries.json"
|
|
|
|
outputs = [
|
|
"$root_out_dir/dart2js_platform.dill",
|
|
"$root_out_dir/dart2js_outline.dill",
|
|
]
|
|
|
|
args = [
|
|
"--target=dart2js",
|
|
"--no-defines",
|
|
"dart:core",
|
|
"--nnbd-strong",
|
|
]
|
|
}
|
|
compile_platform("compile_dart2js_server_platform_unsound") {
|
|
single_root_scheme = "org-dartlang-sdk"
|
|
single_root_base = rebase_path("$sdk_root/")
|
|
libraries_specification_uri = "org-dartlang-sdk:///lib/libraries.json"
|
|
|
|
outputs = [
|
|
"$root_out_dir/dart2js_server_platform_unsound.dill",
|
|
"$root_out_dir/dart2js_server_outline_unsound.dill",
|
|
]
|
|
|
|
args = [
|
|
"--target=dart2js_server",
|
|
"--no-defines",
|
|
"dart:core",
|
|
]
|
|
}
|
|
compile_platform("compile_dart2js_server_platform") {
|
|
single_root_scheme = "org-dartlang-sdk"
|
|
single_root_base = rebase_path("$sdk_root/")
|
|
libraries_specification_uri = "org-dartlang-sdk:///lib/libraries.json"
|
|
|
|
outputs = [
|
|
"$root_out_dir/dart2js_server_platform.dill",
|
|
"$root_out_dir/dart2js_server_outline.dill",
|
|
]
|
|
|
|
args = [
|
|
"--target=dart2js_server",
|
|
"--no-defines",
|
|
"dart:core",
|
|
"--nnbd-strong",
|
|
]
|
|
}
|