# Copyright 2016 The Chromium 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/toolchain/concurrent_links.gni")
import("//build/toolchain/goma.gni")

declare_args() {
  # Pool for non goma tasks.
  action_pool_depth = -1
}

if (action_pool_depth == -1 || use_goma) {
  action_pool_depth = exec_script("get_cpu_count.py", [], "value")
}

if (current_toolchain == default_toolchain) {
  pool("link_pool") {
    depth = concurrent_links
  }

  pool("action_pool") {
    depth = action_pool_depth
  }
}
