mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 15:17:07 +00:00
7ffef4c616
This change makes it so that the llvm targets are empty on builds that do not checkout llvm. Without this GN will perform certian sanity checks against the build and those sanity checks will cause GN to fail when those files are missing for one reason or another. Additionally if one trys to build with the 'all' target in ninja these groups would fail at build time even in posix systems like linux and mac where those sanity checks pass even if the rules would still be bogus. All of these issues go away if we make these groups no-ops when they would be bogus. Change-Id: Iac973ff16a4b7258067a5d847da30e05c374969a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111521 Commit-Queue: Jake Ehrlich <jakehehrlich@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com> Reviewed-by: Aart Bik <ajcbik@google.com>
174 lines
3.4 KiB
Text
174 lines
3.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("build/config/gclient_args.gni")
|
|
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",
|
|
]
|
|
if (checkout_llvm) {
|
|
deps += [
|
|
":llvm_codegen"
|
|
]
|
|
}
|
|
}
|
|
|
|
group("most") {
|
|
import("runtime/runtime_args.gni")
|
|
if (targetting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
deps = [
|
|
":create_sdk",
|
|
":dart2js",
|
|
":dartanalyzer",
|
|
":dartdevc",
|
|
":runtime",
|
|
":samples",
|
|
]
|
|
if (dart_target_arch != "arm") {
|
|
deps += [ ":analysis_server" ]
|
|
}
|
|
}
|
|
|
|
group("runtime") {
|
|
import("runtime/runtime_args.gni")
|
|
|
|
if (targetting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
deps = [
|
|
"runtime/bin:dart",
|
|
"runtime/bin:process_test",
|
|
"runtime/bin:run_vm_tests",
|
|
"runtime/bin:sample_extension",
|
|
"runtime/bin:test_extension",
|
|
"runtime/bin:entrypoints_verification_test_extension",
|
|
"runtime/bin:ffi_test_dynamic_library",
|
|
"runtime/bin:ffi_test_functions",
|
|
"runtime/vm:kernel_platform_files($host_toolchain)",
|
|
"utils/kernel-service:kernel-service",
|
|
]
|
|
}
|
|
|
|
group("runtime_kernel") {
|
|
if (targetting_fuchsia) {
|
|
# Fuchsia has run_vm_tests marked testonly.
|
|
testonly = true
|
|
}
|
|
deps = [
|
|
":runtime",
|
|
]
|
|
}
|
|
|
|
group("runtime_precompiled") {
|
|
deps = [
|
|
"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",
|
|
]
|
|
}
|
|
|
|
group("check_llvm") {
|
|
if (checkout_llvm) {
|
|
deps = [
|
|
"runtime/llvm_codegen/test",
|
|
]
|
|
}
|
|
}
|
|
|
|
group("llvm_codegen") {
|
|
if (checkout_llvm) {
|
|
deps = [
|
|
"runtime/llvm_codegen/codegen",
|
|
"runtime/llvm_codegen/bit",
|
|
]
|
|
}
|
|
}
|
|
|
|
# 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",
|
|
]
|
|
}
|
|
|
|
# This rule and the compressed_observatory_archive rule are for the Fuchsia
|
|
# bots that pre-build the Observatory. They copy the observatory tar files to
|
|
# the root build output directory for convenient access by the Fuchsia buildbot
|
|
# scripts.
|
|
group("observatory_archive") {
|
|
deps = [
|
|
"runtime/observatory:copy_observatory_archive",
|
|
]
|
|
}
|
|
|
|
group("compressed_observatory_archive") {
|
|
deps = [
|
|
"runtime/observatory:copy_compressed_observatory_archive",
|
|
]
|
|
}
|