Chromium Code Reviews| Index: build/common.gypi |
| diff --git a/build/common.gypi b/build/common.gypi |
| index 1aa13d3dc9cbd0a2fe1362e728c9121728bf05c5..c3a614d635aec2aa2bd372e4adc68693d476042b 100644 |
| --- a/build/common.gypi |
| +++ b/build/common.gypi |
| @@ -632,6 +632,11 @@ |
| # compiler. Always do this by default. |
| 'host_clang%': 1, |
| + # Link-Time Optimizations |
| + # crbug.com/407544 |
| + 'use_lto%': 0, |
| + 'use_lto_o2%': 0, |
|
pasko
2014/10/10 11:59:21
it's worth explaining what use_lto_o2 is. Does use
Fabrice (no longer in Chrome)
2014/10/13 15:45:12
Done.
|
| + |
| 'conditions': [ |
| # A flag for POSIX platforms |
| ['OS=="win"', { |
| @@ -1179,6 +1184,8 @@ |
| 'proprietary_codecs%': '<(proprietary_codecs)', |
| 'use_goma%': '<(use_goma)', |
| 'gomadir%': '<(gomadir)', |
| + 'use_lto%': '<(use_lto)', |
| + 'use_lto_o2%': '<use_lto_o2', |
| 'video_hole%': '<(video_hole)', |
| 'enable_load_completion_hacks%': '<(enable_load_completion_hacks)', |
| 'support_pre_M6_history_database%': '<(support_pre_M6_history_database)', |
| @@ -2303,6 +2310,11 @@ |
| }, { |
| 'use_seccomp_bpf%': 0, |
| }], |
| + # Set component build with LTO until all tests pass. |
| + # This reduces link time |
|
pasko
2014/10/10 11:59:21
nit:
s/This reduces link time/This reduces link t
Fabrice (no longer in Chrome)
2014/10/13 15:45:12
Done.
|
| + ['use_lto==1', { |
| + 'component%': "shared_library", |
| + }], |
| ], |
| # older history files use fts2 instead of fts3 |
| @@ -3745,6 +3757,13 @@ |
| 'cflags': [ |
| '-march=<(arm_arch)', |
| ], |
| + 'conditions': [ |
| + ['use_lto==1 or use_lto_o2==1', { |
| + 'ldflags': [ |
| + '-march=<(arm_arch)', |
| + ], |
| + }], |
| + ], |
| }], |
| ['clang==1 and OS!="android"', { |
| 'cflags': [ |
| @@ -3757,21 +3776,49 @@ |
| 'cflags': [ |
| '-mtune=<(arm_tune)', |
| ], |
| + 'conditions': [ |
| + ['use_lto==1 or use_lto_o2==1', { |
| + 'ldflags': [ |
| + '-mtune=<(arm_tune)', |
| + ], |
| + }], |
| + ], |
| }], |
| ['arm_fpu!=""', { |
| 'cflags': [ |
| '-mfpu=<(arm_fpu)', |
| ], |
| + 'conditions': [ |
| + ['use_lto==1 or use_lto_o2==1', { |
| + 'ldflags': [ |
| + '-mfpu=<(arm_fpu)', |
| + ], |
| + }], |
| + ], |
| }], |
| ['arm_float_abi!=""', { |
| 'cflags': [ |
| '-mfloat-abi=<(arm_float_abi)', |
| ], |
| + 'conditions': [ |
| + ['use_lto==1 or use_lto_o2==1', { |
| + 'ldflags': [ |
| + '-mfloat-abi=<(arm_float_abi)', |
| + ], |
| + }], |
| + ], |
| }], |
| ['arm_thumb==1', { |
| 'cflags': [ |
| '-mthumb', |
| ], |
| + 'conditions': [ |
| + ['use_lto==1 or use_lto_o2==1', { |
| + 'ldflags': [ |
| + '-mthumb', |
| + ], |
| + }], |
| + ], |
| }], |
| ['OS=="android"', { |
| # Most of the following flags are derived from what Android |
| @@ -5666,6 +5713,29 @@ |
| ['CXX.host_wrapper', '<(gomadir)/gomacc'], |
| ], |
| }], |
| + ['use_lto==1', { |
| + 'target_defaults': { |
| + 'target_conditions': [ |
| + ['_toolset=="target"', { |
| + 'cflags': [ |
| + '-flto', |
| + '-ffat-lto-objects', |
| + ], |
| + }], |
| + ], |
| + }, |
| + }], |
| + ['use_lto==1 or use_lto_o2==1', { |
| + 'target_defaults': { |
| + 'target_conditions': [ |
| + ['_toolset=="target"', { |
| + 'ldflags': [ |
| + '-flto=32', |
| + ], |
| + }], |
| + ], |
| + }, |
| + }], |
| ], |
| 'xcode_settings': { |
| # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT! |