1 # Copyright 2014 The Chromium Authors
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//build/toolchain/goma.gni")
6 import("//build/toolchain/rbe.gni")
8 # Defines the configuration of cc wrapper
9 # ccache: a c/c++ compiler cache which can greatly reduce recompilation times.
10 # icecc, distcc: it takes compile jobs from a build and distributes them among
11 # remote machines allowing a parallel build.
16 # Set clang_use_chrome_plugins=false if using ccache 3.1.9 or earlier, since
17 # these versions don't support -Xclang. (3.1.10 and later will silently
18 # ignore -Xclang, so it doesn't matter if you disable clang_use_chrome_plugins
21 # Use ccache 3.2 or later to avoid clang unused argument warnings:
22 # https://bugzilla.samba.org/show_bug.cgi?id=8118
24 # To avoid -Wparentheses-equality clang warnings, at some cost in terms of
26 # export CCACHE_CPP2=yes
29 # Set clang_use_chrome_plugins=false because icecc cannot distribute custom
32 # To use icecc and ccache together, set cc_wrapper = "ccache" with
33 # export CCACHE_PREFIX=icecc
36 # Set to "ccache", "icecc" or "distcc". Probably doesn't work on windows.
40 assert(!use_goma || cc_wrapper == "",
41 "use_goma and cc_wrapper can not be used together.")
42 assert(!use_remoteexec || cc_wrapper == "",
43 "use_remoteexec and cc_wrapper can not be used together.")