Add LTO support for Android Chromium.
This is to add support for a Link-Time Optimizations experiment in Android Chromium. As it is disabled by default, it won't change anything for most configurations.
BUG=chromium:407544
R=andrew@webrtc.org, tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21299004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7009 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/build/common.gypi b/webrtc/build/common.gypi
index cbc398e..00bd4d4 100644
--- a/webrtc/build/common.gypi
+++ b/webrtc/build/common.gypi
@@ -112,6 +112,11 @@
'mips_fpu%' : 1,
'enable_android_opensl%': 1,
+ # Link-Time Optimizations
+ # Executes code generation at link-time instead of compile-time
+ # https://gcc.gnu.org/wiki/LinkTimeOptimization
+ 'use_lto%': 0,
+
'conditions': [
['build_with_chromium==1', {
# Exclude pulse audio on Chromium since its prerequisites don't require
diff --git a/webrtc/common_audio/common_audio.gyp b/webrtc/common_audio/common_audio.gyp
index 58b9bb9..ae3bacb 100644
--- a/webrtc/common_audio/common_audio.gyp
+++ b/webrtc/common_audio/common_audio.gyp
@@ -184,6 +184,15 @@
'signal_processing/min_max_operations_neon.S',
'signal_processing/vector_scaling_operations_neon.S',
],
+ 'conditions': [
+ # Disable LTO in common_audio_neon target due to compiler bug
+ ['use_lto==1', {
+ 'cflags!': [
+ '-flto',
+ '-ffat-lto-objects',
+ ],
+ }],
+ ],
},
], # targets
}],
diff --git a/webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.gypi b/webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.gypi
index 7010b1e..7bef170 100644
--- a/webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.gypi
+++ b/webrtc/modules/audio_coding/codecs/isac/fix/source/isacfix.gypi
@@ -140,6 +140,15 @@
'lpc_masking_model_neon.S',
'transform_neon.S',
],
+ 'conditions': [
+ # Disable LTO in isac_neon target due to compiler bug
+ ['use_lto==1', {
+ 'cflags!': [
+ '-flto',
+ '-ffat-lto-objects',
+ ],
+ }],
+ ],
},
],
}],
diff --git a/webrtc/modules/audio_processing/audio_processing.gypi b/webrtc/modules/audio_processing/audio_processing.gypi
index 98d437f..9298f11 100644
--- a/webrtc/modules/audio_processing/audio_processing.gypi
+++ b/webrtc/modules/audio_processing/audio_processing.gypi
@@ -222,6 +222,13 @@
],
'includes!': ['../../build/arm_neon.gypi',],
}],
+ # Disable LTO in audio_processing_neon target due to compiler bug
+ ['use_lto==1', {
+ 'cflags!': [
+ '-flto',
+ '-ffat-lto-objects',
+ ],
+ }],
],
}],
}],