diff options
author | mostynb@opera.com <mostynb@opera.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-30 23:42:32 +0000 |
---|---|---|
committer | mostynb@opera.com <mostynb@opera.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-30 23:42:32 +0000 |
commit | 9dbbabdcab0108bec7b3a2b298920dd7062928c6 (patch) | |
tree | 4172512ea6bafc26eee09ce4fc2404e8bb75da6a /build/common.gypi | |
parent | 721e23064c0d01b39310747d3d8868dd76f11d42 (diff) | |
download | chromium_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.gypi | 19 |
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'], }], |