summaryrefslogtreecommitdiffstats
path: root/build/common.gypi
diff options
context:
space:
mode:
authormostynb@opera.com <mostynb@opera.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-30 23:42:32 +0000
committermostynb@opera.com <mostynb@opera.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-30 23:42:32 +0000
commit9dbbabdcab0108bec7b3a2b298920dd7062928c6 (patch)
tree4172512ea6bafc26eee09ce4fc2404e8bb75da6a /build/common.gypi
parent721e23064c0d01b39310747d3d8868dd76f11d42 (diff)
downloadchromium_src-9dbbabdcab0108bec7b3a2b298920dd7062928c6.zip
chromium_src-9dbbabdcab0108bec7b3a2b298920dd7062928c6.tar.gz
chromium_src-9dbbabdcab0108bec7b3a2b298920dd7062928c6.tar.bz2
add a linux_use_debug_fission gyp variable for -gsplit-dwarf
Since -gsplit-dwarf breaks some extremely useful build tools (eg ccache and icecc), it deserves its own gyp variable. This setting replaces the previous hack, setting binutils_version=0. Background: ccache: https://bugzilla.samba.org/show_bug.cgi?id=10005 icecc: https://github.com/icecc/icecream/issues/86 BUG=352046 Review URL: https://codereview.chromium.org/226613005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267381 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/common.gypi')
-rw-r--r--build/common.gypi19
1 files changed, 16 insertions, 3 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 9fae86e..f49174b 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -765,6 +765,17 @@
'linux_use_gold_flags%': 0,
}],
+ # linux_use_debug_fission: whether to use split DWARF debug info
+ # files. This can reduce link time significantly, but is incompatible
+ # with some utilities such as icecc and ccache. Requires gold and
+ # gcc >= 4.8 or clang.
+ # http://gcc.gnu.org/wiki/DebugFission
+ ['OS=="linux" and target_arch=="x64"', {
+ 'linux_use_debug_fission%': 1,
+ }, {
+ 'linux_use_debug_fission%': 0,
+ }],
+
['OS=="android" or OS=="ios"', {
'enable_captive_portal_detection%': 0,
}, {
@@ -1014,6 +1025,7 @@
'linux_use_bundled_gold%': '<(linux_use_bundled_gold)',
'linux_use_bundled_binutils%': '<(linux_use_bundled_binutils)',
'linux_use_gold_flags%': '<(linux_use_gold_flags)',
+ 'linux_use_debug_fission%': '<(linux_use_debug_fission)',
'use_canvas_skia%': '<(use_canvas_skia)',
'test_isolation_mode%': '<(test_isolation_mode)',
'test_isolation_outdir%': '<(test_isolation_outdir)',
@@ -3227,9 +3239,10 @@
}, {
'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-tables'],
}],
- # http://gcc.gnu.org/wiki/DebugFission
- # Requires gold and gcc >= 4.8 or clang.
- ['linux_use_gold_flags==1 and (clang==1 or gcc_version>=48) and binutils_version>=223', {
+ # TODO(mostynb): shuffle clang/gcc_version/binutils_version
+ # definitions in to the right scope to use them when setting
+ # linux_use_debug_fission, so it can be used here alone.
+ ['linux_use_debug_fission==1 and linux_use_gold_flags==1 and (clang==1 or gcc_version>=48) and binutils_version>=223', {
'cflags': ['-gsplit-dwarf'],
'ldflags': ['-Wl,--gdb-index'],
}],