mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 11:31:57 +00:00
736ddd9b0e
This splits create_archive.py into two steps. One that creates the .tar and one that creates the .cc for the .tar. This way on Fuchsia, the second step will take the prebuilt instead of building it. Change-Id: I7f407f9e70db3135884eeeb61aa5aec3091f1fcc Reviewed-on: https://dart-review.googlesource.com/56291 Reviewed-by: Ryan Macnak <rmacnak@google.com>
190 lines
3.8 KiB
Plaintext
190 lines
3.8 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("build/dart/dart_host_sdk_toolchain.gni")
|
|
|
|
targetting_fuchsia = target_os == "fuchsia"
|
|
|
|
# This target will be built if no target is specified when invoking ninja.
|
|
group("default") {
|
|
if (targetting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
deps = [
|
|
":runtime_kernel",
|
|
]
|
|
}
|
|
|
|
group("most") {
|
|
if (targetting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
deps = [
|
|
":analysis_server",
|
|
":create_sdk",
|
|
":dart2js",
|
|
":dartanalyzer",
|
|
":dartdevc",
|
|
":runtime",
|
|
":samples",
|
|
]
|
|
}
|
|
|
|
group("runtime") {
|
|
if (targetting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
deps = [
|
|
"runtime/bin:dart",
|
|
"runtime/bin:dart_bootstrap($host_toolchain)",
|
|
"runtime/bin:process_test",
|
|
"runtime/bin:run_vm_tests",
|
|
"runtime/bin:sample_extension",
|
|
"runtime/bin:test_extension",
|
|
]
|
|
}
|
|
|
|
group("runtime_kernel") {
|
|
import("runtime/runtime_args.gni")
|
|
|
|
target_supports_aot = dart_target_arch == "arm" || dart_target_arch == "arm64" || dart_target_arch == "x64"
|
|
|
|
if (targetting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
deps = [
|
|
":runtime",
|
|
"runtime/vm:kernel_platform_files($host_toolchain)",
|
|
|
|
# TODO(rmacnak): Link this into 'dart'.
|
|
"utils/kernel-service:copy_kernel_service_snapshot",
|
|
"utils/kernel-service:kernel-service",
|
|
]
|
|
|
|
if (target_supports_aot) {
|
|
deps += ["runtime/bin:precompiler_entry_points_json"]
|
|
}
|
|
}
|
|
|
|
group("runtime_precompiled") {
|
|
deps = [
|
|
"runtime/bin:dart_bootstrap($host_toolchain)",
|
|
"runtime/bin:dart_precompiled_runtime",
|
|
"runtime/bin:process_test",
|
|
]
|
|
}
|
|
|
|
group("create_sdk") {
|
|
public_deps = [
|
|
"sdk:create_sdk",
|
|
]
|
|
}
|
|
|
|
if (defined(dart_host_sdk_toolchain) &&
|
|
dart_host_sdk_toolchain != host_toolchain) {
|
|
group("create_host_sdk") {
|
|
deps = [
|
|
"sdk:create_sdk($dart_host_sdk_toolchain)",
|
|
]
|
|
}
|
|
}
|
|
|
|
group("dart2js") {
|
|
deps = [
|
|
"utils/compiler:dart2js",
|
|
]
|
|
}
|
|
|
|
group("dartanalyzer") {
|
|
deps = [
|
|
"utils/dartanalyzer",
|
|
]
|
|
}
|
|
|
|
group("dartdevc") {
|
|
deps = [
|
|
"utils/dartdevc",
|
|
]
|
|
}
|
|
|
|
group("dartfmt") {
|
|
deps = [
|
|
"utils/dartfmt",
|
|
]
|
|
}
|
|
|
|
group("analysis_server") {
|
|
deps = [
|
|
"utils/analysis_server",
|
|
]
|
|
}
|
|
|
|
# This is the target that is built on the dart2js build bots.
|
|
# It must depend on anything that is required by the dart2js
|
|
# test suites.
|
|
group("dart2js_bot") {
|
|
deps = [
|
|
":create_sdk",
|
|
]
|
|
}
|
|
|
|
group("samples") {
|
|
deps = [
|
|
"runtime/bin:sample_extension",
|
|
]
|
|
}
|
|
|
|
group("observatory_archive") {
|
|
deps = [
|
|
"runtime/observatory:observatory_archive"
|
|
]
|
|
}
|
|
|
|
# The rules below build a Fuchsia OS image that includes the Dart tree
|
|
# under /system/test/dart. To get this into the `user.bootfs` generated
|
|
# by the Fuchsia build, add the GN build argument:
|
|
# extra_bootdata = [ "//third_party/dart:dart_test_bootfs" ]
|
|
if (is_fuchsia) {
|
|
import("//build/config/fuchsia/bootdata.gni")
|
|
|
|
action("generate_dart_test_manifest") {
|
|
testonly = true
|
|
|
|
output_prefix = "$target_gen_dir/dart_test_tree"
|
|
outputs = [
|
|
"$output_prefix.manifest",
|
|
]
|
|
|
|
mode = "release"
|
|
if (is_debug) {
|
|
mode = "debug"
|
|
}
|
|
|
|
script = "tools/gen_fuchsia_test_manifest.py"
|
|
args = [
|
|
"-m",
|
|
mode,
|
|
"-o",
|
|
rebase_path(output_prefix),
|
|
]
|
|
}
|
|
|
|
bootdata("dart_test_bootfs") {
|
|
testonly = true
|
|
deps = [
|
|
":generate_dart_test_manifest",
|
|
"runtime/bin:dart",
|
|
"runtime/bin:process_test",
|
|
"runtime/bin:run_vm_tests",
|
|
]
|
|
inputs = [
|
|
"$target_gen_dir/dart_test_tree.manifest",
|
|
]
|
|
}
|
|
}
|