1
0
mirror of https://github.com/dart-lang/sdk synced 2024-07-08 12:06:26 +00:00
dart-sdk/BUILD.gn
Zachary Anderson a99cdabd00 Reland: [GN] Adds dart_host_sdk_toolchain argument
Setting this build argument to something other than host_toolchain will
cause the build target create_host_sdk to be exposed. That target will
build the Dart SDK with the toolchain specified by
dart_host_sdk_toolchain.

Relanding to fix bad toolchain conditions in dart_os_config and
dart_arch_config.

TO-549

Change-Id: I276f47d9071233acb98f6029a4666da0cee33d7d
Reviewed-on: https://dart-review.googlesource.com/18361
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-02 19:02:18 +00:00

172 lines
3.3 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_host_sdk_toolchain.gni")
# This target will be built if no target is specified when invoking ninja.
group("default") {
if (is_fuchsia || is_fuchsia_host) {
# Fuchsia has run_vm_tests marked testonly.
testonly = true
}
deps = [
":runtime",
]
}
group("most") {
if (is_fuchsia || is_fuchsia_host) {
# Fuchsia has run_vm_tests marked testonly.
testonly = true
}
deps = [
":analysis_server",
":create_sdk",
":dart2js",
":dartanalyzer",
":dartdevc",
":runtime",
":samples",
]
}
group("runtime") {
if (is_fuchsia || is_fuchsia_host) {
# 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") {
if (is_fuchsia || is_fuchsia_host) {
# 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:kernel-service",
]
}
group("runtime_precompiled") {
deps = [
"runtime/bin:dart_bootstrap($host_toolchain)",
"runtime/bin:dart_precompiled_runtime",
"runtime/bin:process_test",
]
}
group("create_sdk") {
deps = [
"sdk:create_sdk",
]
}
if (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",
]
}
# 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",
]
}
}