Don't link with audio codecs that we don't use

We used to link with all audio codecs unconditionally (except Opus);
this patch makes gyp and gn only link to the ones that are used.

(This unfortunately fails to have a measurable impact on Chromium
binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
fix were already being excluded from Chromium by some other means
(likely just the linker omitting compilation units with no incoming
references).)

BUG=webrtc:4557

Review URL: https://codereview.webrtc.org/1349393003

Cr-Commit-Position: refs/heads/master@{#10046}
This commit is contained in:
kwiberg
2015-09-24 03:18:40 -07:00
committed by Commit bot
parent 61e933eac7
commit f66a925142
8 changed files with 98 additions and 62 deletions

View File

@ -11,12 +11,7 @@
'audio_coding_dependencies': [
'cng',
'g711',
'g722',
'ilbc',
'isac',
'isac_fix',
'pcm16b',
'red',
'<(webrtc_root)/common.gyp:webrtc_common',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
@ -27,6 +22,23 @@
'audio_coding_dependencies': ['webrtc_opus',],
'audio_coding_defines': ['WEBRTC_CODEC_OPUS',],
}],
['build_with_mozilla==0', {
'conditions': [
['target_arch=="arm"', {
'audio_coding_dependencies': ['isac_fix',],
'audio_coding_defines': ['WEBRTC_CODEC_ISACFX',],
}, {
'audio_coding_dependencies': ['isac',],
'audio_coding_defines': ['WEBRTC_CODEC_ISAC',],
}],
],
'audio_coding_dependencies': ['g722',],
'audio_coding_defines': ['WEBRTC_CODEC_G722',],
}],
['build_with_mozilla==0 and build_with_chromium==0', {
'audio_coding_dependencies': ['ilbc', 'red',],
'audio_coding_defines': ['WEBRTC_CODEC_ILBC', 'WEBRTC_CODEC_RED',],
}],
],
},
'targets': [