blob: 50b7a2dc64a87bf9fc0601c9ffb6f52f510cc91e [file] [log] [blame]
# Copyright 2017 The Fuchsia Authors. 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/toolchain.gni")
import("//build/toolchain/clang_toolchain.gni")
import("//build/toolchain/concurrent_jobs.gni")
declare_args() {
# Maximum number of Dart processes to run in parallel.
#
# Dart analyzer uses a lot of memory which may cause issues when building
# with many parallel jobs e.g. when using goma. To avoid out-of-memory
# errors we explicitly reduce the number of jobs.
concurrent_dart_jobs = default_concurrent_jobs.dart
}
if (current_toolchain == dart_toolchain) {
pool("dart_pool") {
depth = concurrent_dart_jobs
}
} else {
# A toolchain dedicated to processing and analyzing Dart packages.
# The only targets in this toolchain are action() targets, so it
# has no real tools. But every toolchain needs stamp and copy.
toolchain("dartlang") {
tool("stamp") {
command = stamp_command
description = stamp_description
}
tool("copy") {
command = copy_command
description = copy_description
}
toolchain_args = {
toolchain_variant = {
}
toolchain_variant = {
base = get_label_info(":dartlang", "label_no_toolchain")
}
}
}
}