blob: ad45cf104d08cf3d7944ae722edfbc5e226d44fc [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/dart/dart_action.gni")
import("../application_snapshot.gni")
group("dartanalyzer") {
deps = [
":generate_dartanalyzer_snapshot",
":generate_summary_strong",
]
}
analyzer_files = exec_script("../../tools/list_dart_files.py",
[
"absolute",
rebase_path("../../pkg/analyzer"),
],
"list lines")
application_snapshot("generate_dartanalyzer_snapshot") {
main_dart = "../../pkg/analyzer_cli/bin/analyzer.dart"
training_args = [
"--help",
# TODO(34616): This is broken on Fuchsia.
# "--dart-sdk=" + rebase_path("../../sdk/"),
# "--train-snapshot",
# rebase_path("../../tests/language_2/first_test.dart")
]
name = "dartanalyzer"
}
if (current_os == "linux") {
prebuilt_dart_action("dart_analyzer_dill") {
deps = [
"../../runtime/vm:vm_platform",
"../../runtime/vm:kernel_platform_files($dart_host_toolchain)",
]
dart_analyzer_script = "../../pkg/vm/bin/kernel_service.dart"
gen_kernel_script = "../../pkg/vm/bin/gen_kernel.dart"
inputs = [
gen_kernel_script,
dart_analyzer_script,
"$root_out_dir/vm_platform_strong.dill",
]
output = "$root_gen_dir/dart_analyzer.dill"
outputs = [
output,
]
depfile = "$root_gen_dir/dart_analyzer_dill.d"
abs_depfile = rebase_path(depfile)
rebased_output = rebase_path(output, root_out_dir)
vm_args = [
"--depfile=$abs_depfile",
"--depfile_output_filename=$rebased_output",
]
script = gen_kernel_script
args = [
"--packages=" + rebase_path("../../.packages"),
"--platform=" + rebase_path("$root_out_dir/vm_platform_strong.dill"),
"--aot",
"--no-embed-sources",
"--output=" + rebase_path("$root_gen_dir/dart_analyzer.dill"),
rebase_path(dart_analyzer_script),
]
}
aot_assembly("dartanalyzer_aot_assembly") {
main_dart = "$root_gen_dir/dart_analyzer.dill"
name = "dartanalyzer"
deps = [
":dart_analyzer_dill"
]
}
# This target is for Goma. It should not be used in the SDK.
executable("dartanalyzer_aot") {
deps = [
"../../runtime/bin:dart_precompiled_runtime_for_linking",
":dartanalyzer_aot_assembly",
]
sources = [
"$root_gen_dir/dartanalyzer.dart.S"
]
}
}
sdk_lib_files = exec_script("../../tools/list_dart_files.py",
[
"absolute",
rebase_path("../../sdk/lib"),
],
"list lines")
prebuilt_dart_action("generate_summary_strong") {
script = "../../pkg/analyzer/tool/summary/build_sdk_summaries.dart"
packages = "../../.packages"
inputs = sdk_lib_files + analyzer_files
output = "$root_gen_dir/strong.sum"
outputs = [
output,
]
args = [
"build-strong",
rebase_path(output),
rebase_path("../../sdk"),
]
}