Index: build/toolchain/cc_wrapper.gni |
diff --git a/build/toolchain/cc_wrapper.gni b/build/toolchain/cc_wrapper.gni |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1fa185019ca0d44c71334d7528916719df2c38df |
--- /dev/null |
+++ b/build/toolchain/cc_wrapper.gni |
@@ -0,0 +1,35 @@ |
+# 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. |
+ |
+# 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 = "" |
+} |