blob: 120253f6f4b4a82193fd4009af5fac119dcedf9a [file] [log] [blame]
# Copyright 2018 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/rust/toolchain.gni")
import("//build/toolchain/basic_toolchain.gni")
import("//build/toolchain/concurrent_jobs.gni")
declare_args() {
# Maximum number of Rust processes to run in parallel.
#
# We run multiple rustc jobs in parallel, each of which can cause significant
# amount of memory, especially when using LTO. To avoid out-of-memory errors
# we explicitly reduce the number of jobs.
concurrent_rust_jobs = default_concurrent_jobs.rust
}
pool("pool") {
depth = concurrent_rust_jobs
}
assert(current_toolchain == default_toolchain)
# A toolchain dedicated to processing Rust code.
# The only targets in this toolchain are action() targets, so it
# has no real tools. But every toolchain needs stamp and copy.
basic_toolchain("rustlang") {
expected_label = rust_toolchain
}