12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- # Copyright (c) 2014 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/goma.gni")
- import("//build/toolchain/rbe.gni")
- # Defines the configuration of cc wrapper
- # ccache: a c/c++ compiler cache which can greatly reduce recompilation times.
- # icecc, distcc: it takes compile jobs from a build and distributes them among
- # remote machines allowing a parallel build.
- #
- # TIPS
- #
- # 1) ccache
- # Set clang_use_chrome_plugins=false if using ccache 3.1.9 or earlier, since
- # these versions don't support -Xclang. (3.1.10 and later will silently
- # ignore -Xclang, so it doesn't matter if you disable clang_use_chrome_plugins
- # or not).
- #
- # Use ccache 3.2 or later to avoid clang unused argument warnings:
- # https://bugzilla.samba.org/show_bug.cgi?id=8118
- #
- # To avoid -Wparentheses-equality clang warnings, at some cost in terms of
- # speed, you can do:
- # export CCACHE_CPP2=yes
- #
- # 2) icecc
- # Set clang_use_chrome_plugins=false because icecc cannot distribute custom
- # clang libraries.
- #
- # To use icecc and ccache together, set cc_wrapper = "ccache" with
- # export CCACHE_PREFIX=icecc
- declare_args() {
- # Set to "ccache", "icecc" or "distcc". Probably doesn't work on windows.
- cc_wrapper = ""
- }
- assert(!use_goma || cc_wrapper == "",
- "use_goma and cc_wrapper can not be used together.")
- assert(!use_remoteexec || cc_wrapper == "",
- "use_remoteexec and cc_wrapper can not be used together.")
|