mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 12:24:24 +00:00
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>
153 lines
4 KiB
Text
153 lines
4 KiB
Text
# 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",
|
|
]
|
|
}
|