# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/toolchain/goma.gni")
import("//build/toolchain/rbe.gni")

declare_args() {
  # Precompiled header file support is by default available,
  # but for distributed build system uses (like goma or rbe) or when
  # doing official builds.
  # On Linux it slows down the build, so don't enable it by default.
  enable_precompiled_headers =
      !is_official_build && !(use_goma || use_remoteexec) && !is_linux
      && !is_starboard
}
