blob: 00f992150f37c47dd68d172d058c4217e366ec0f [file] [log] [blame]
# 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("../../build/compiled_action.gni")
import("../../build/prebuilt_dart_sdk.gni")
import("../../utils/compile_platform.gni")
import("../../utils/generate_patch_sdk.gni")
import("../create_timestamp.gni")
import("../application_snapshot.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"
}
compiled_action("dart2js_create_snapshot_entries") {
tool = "../../runtime/bin:dart"
deps = [
":dart2js_files_stamp",
":dartdoc_files_stamp",
":runtime_lib_files_stamp",
]
dot_packages = rebase_path("../../.packages")
create_snapshot_entry = rebase_path("create_snapshot_entry.dart")
output_dir = rebase_path(target_gen_dir)
inputs = [
"../../sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart",
create_snapshot_entry,
"$target_gen_dir/dart2js_files.stamp",
"../../tools/VERSION",
]
utils_output = "$target_gen_dir/utils_wrapper.dart"
dart2js_output = "$target_gen_dir/dart2js.dart"
outputs = [
utils_output,
dart2js_output,
]
args = [
"--packages=$dot_packages",
create_snapshot_entry,
"--output_dir=$output_dir",
"--dart2js_main=pkg/compiler/lib/src/dart2js.dart",
]
}
application_snapshot("dart2js") {
deps = [
":dart2js_create_snapshot_entries",
]
main_dart = "$target_gen_dir/dart2js.dart"
training_args = [
"--packages=" + rebase_path("../../.packages"),
"--library-root=" + rebase_path("../../sdk"),
"--categories=all",
rebase_path("$target_gen_dir/dart2js.dart"),
]
}
application_snapshot("utils_wrapper") {
deps = [
":dart2js_create_snapshot_entries",
]
main_dart = "$target_gen_dir/utils_wrapper.dart"
training_args = [ "--help" ]
}
generate_patched_sdk("patched_dart2js_sdk") {
mode = "dart2js"
deps = [
# TODO(ahe): This is needed by ../../tools/patch_sdk.dart to compute
# dependencies.
"../../runtime/vm:kernel_platform_files($host_toolchain)",
]
input_patches_dir = "../../sdk/lib/_internal/js_runtime/lib"
patched_sdk_dir = "patched_dart2js_sdk"
outputs = [
# Instead of listing all outputs we list those consumed by
# other BUILD rules.
"$root_out_dir/$patched_sdk_dir/lib/libraries.json",
]
}
compile_platform("compile_dart2js_platform") {
sources = [
"$root_out_dir/patched_dart2js_sdk/lib/libraries.json",
]
outputs = [
"$root_out_dir/dart2js_platform.dill",
"$root_out_dir/dart2js_outline.dill",
]
deps = [
":patched_dart2js_sdk",
]
args = [
"--target=dart2js",
"dart:core",
]
}