blob: 70f0526a11c4b6978c222cdae4106779dec183b7 [file] [log] [blame]
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +00001# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9{
10 'includes': [
11 '../../build/common.gypi',
12 'codecs/interfaces.gypi',
13 'codecs/cng/cng.gypi',
14 'codecs/g711/g711.gypi',
15 'codecs/g722/g722.gypi',
16 'codecs/ilbc/ilbc.gypi',
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +000017 'codecs/isac/isac.gypi',
kwiberg608c3cf2015-08-24 02:03:23 -070018 'codecs/isac/isac_common.gypi',
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +000019 'codecs/isac/isacfix.gypi',
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +000020 'codecs/pcm16b/pcm16b.gypi',
21 'codecs/red/red.gypi',
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +000022 'neteq/neteq.gypi',
23 ],
kjellander3e6db232015-11-26 04:44:54 -080024 'variables': {
kwiberg0edb05b2016-01-19 05:54:28 -080025 'variables': {
26 'audio_codec_dependencies': [
27 'cng',
28 'g711',
29 'pcm16b',
30 ],
31 'audio_codec_defines': [],
32 'conditions': [
33 ['include_ilbc==1', {
34 'audio_codec_dependencies': ['ilbc',],
35 'audio_codec_defines': ['WEBRTC_CODEC_ILBC',],
36 }],
37 ['include_opus==1', {
38 'audio_codec_dependencies': ['webrtc_opus',],
39 'audio_codec_defines': ['WEBRTC_CODEC_OPUS',],
40 }],
41 ['build_with_mozilla==0', {
42 'conditions': [
43 ['target_arch=="arm"', {
44 'audio_codec_dependencies': ['isac_fix',],
45 'audio_codec_defines': ['WEBRTC_CODEC_ISACFX',],
46 }, {
47 'audio_codec_dependencies': ['isac',],
48 'audio_codec_defines': ['WEBRTC_CODEC_ISAC',],
49 }],
50 ],
51 'audio_codec_dependencies': ['g722',],
52 'audio_codec_defines': ['WEBRTC_CODEC_G722',],
53 }],
54 ['build_with_mozilla==0 and build_with_chromium==0', {
55 'audio_codec_dependencies': ['red',],
56 'audio_codec_defines': ['WEBRTC_CODEC_RED',],
57 }],
58 ],
59 },
60 'audio_codec_dependencies': '<(audio_codec_dependencies)',
61 'audio_codec_defines': '<(audio_codec_defines)',
kjellander3e6db232015-11-26 04:44:54 -080062 'audio_coding_dependencies': [
kwiberg0edb05b2016-01-19 05:54:28 -080063 '<@(audio_codec_dependencies)',
kjellander3e6db232015-11-26 04:44:54 -080064 '<(webrtc_root)/common.gyp:webrtc_common',
65 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
66 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
67 ],
kwiberg0edb05b2016-01-19 05:54:28 -080068 'audio_coding_defines': '<(audio_codec_defines)',
kjellander3e6db232015-11-26 04:44:54 -080069 },
70 'targets': [
71 {
kwibergc01c6a42016-04-28 14:23:32 -070072 'target_name': 'audio_decoder_factory_interface',
73 'type': 'static_library',
74 'dependencies': [
75 '<(webrtc_root)/common.gyp:webrtc_common',
76 ],
77 'include_dirs': [
78 '<(webrtc_root)',
79 ],
80 'direct_dependent_settings': {
81 'include_dirs': [
82 '<(webrtc_root)',
83 ],
84 },
85 'sources': [
86 'codecs/audio_decoder_factory.h',
87 'codecs/audio_format.cc',
88 'codecs/audio_format.h',
89 ],
90 },
91 {
92 'target_name': 'builtin_audio_decoder_factory',
93 'type': 'static_library',
94 'defines': [
95 '<@(audio_codec_defines)',
96 ],
97 'dependencies': [
98 '<(webrtc_root)/common.gyp:webrtc_common',
99 '<@(audio_codec_dependencies)',
100 'audio_decoder_factory_interface',
101 ],
102 'include_dirs': [
103 '<(webrtc_root)',
104 ],
105 'direct_dependent_settings': {
106 'include_dirs': [
107 '<(webrtc_root)',
108 ],
109 },
110 'sources': [
111 'codecs/builtin_audio_decoder_factory.cc',
112 'codecs/builtin_audio_decoder_factory.h',
113 ],
114 },
115 {
kjellander3e6db232015-11-26 04:44:54 -0800116 'target_name': 'rent_a_codec',
117 'type': 'static_library',
118 'defines': [
kwiberg0edb05b2016-01-19 05:54:28 -0800119 '<@(audio_codec_defines)',
kjellander3e6db232015-11-26 04:44:54 -0800120 ],
121 'dependencies': [
122 '<(webrtc_root)/common.gyp:webrtc_common',
kwiberg0edb05b2016-01-19 05:54:28 -0800123 '<@(audio_codec_dependencies)',
kjellander3e6db232015-11-26 04:44:54 -0800124 ],
125 'include_dirs': [
126 '<(webrtc_root)',
127 ],
128 'direct_dependent_settings': {
129 'include_dirs': [
130 '<(webrtc_root)',
131 ],
132 },
133 'sources': [
134 'acm2/acm_codec_database.cc',
135 'acm2/acm_codec_database.h',
136 'acm2/rent_a_codec.cc',
137 'acm2/rent_a_codec.h',
138 ],
139 },
140 {
141 'target_name': 'audio_coding_module',
142 'type': 'static_library',
143 'defines': [
144 '<@(audio_coding_defines)',
145 ],
146 'dependencies': [
147 '<@(audio_coding_dependencies)',
148 '<(webrtc_root)/common.gyp:webrtc_common',
149 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
150 'neteq',
151 'rent_a_codec',
152 ],
153 'include_dirs': [
154 'include',
155 '../include',
156 '<(webrtc_root)',
157 ],
158 'direct_dependent_settings': {
159 'include_dirs': [
160 'include',
161 '../include',
162 '<(webrtc_root)',
163 ],
164 },
165 'conditions': [
166 ['include_opus==1', {
167 'export_dependent_settings': ['webrtc_opus'],
168 }],
169 ],
170 'sources': [
171 'acm2/acm_common_defs.h',
172 'acm2/acm_receiver.cc',
173 'acm2/acm_receiver.h',
174 'acm2/acm_resampler.cc',
175 'acm2/acm_resampler.h',
176 'acm2/audio_coding_module.cc',
kjellander3e6db232015-11-26 04:44:54 -0800177 'acm2/call_statistics.cc',
178 'acm2/call_statistics.h',
179 'acm2/codec_manager.cc',
180 'acm2/codec_manager.h',
181 'acm2/initial_delay_manager.cc',
182 'acm2/initial_delay_manager.h',
183 'include/audio_coding_module.h',
184 'include/audio_coding_module_typedefs.h',
185 ],
186 },
187 ],
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +0000188 'conditions': [
189 ['include_opus==1', {
190 'includes': ['codecs/opus/opus.gypi',],
191 }],
kjellander3e6db232015-11-26 04:44:54 -0800192 ['include_tests==1', {
193 'targets': [
194 {
195 'target_name': 'acm_receive_test',
196 'type': 'static_library',
197 'defines': [
198 '<@(audio_coding_defines)',
199 ],
200 'dependencies': [
201 '<@(audio_coding_dependencies)',
202 'audio_coding_module',
203 'neteq_unittest_tools',
204 '<(DEPTH)/testing/gtest.gyp:gtest',
205 ],
206 'sources': [
207 'acm2/acm_receive_test_oldapi.cc',
208 'acm2/acm_receive_test_oldapi.h',
209 ],
210 }, # acm_receive_test
211 {
212 'target_name': 'acm_send_test',
213 'type': 'static_library',
214 'defines': [
215 '<@(audio_coding_defines)',
216 ],
217 'dependencies': [
218 '<@(audio_coding_dependencies)',
219 'audio_coding_module',
220 'neteq_unittest_tools',
221 '<(DEPTH)/testing/gtest.gyp:gtest',
222 ],
223 'sources': [
224 'acm2/acm_send_test_oldapi.cc',
225 'acm2/acm_send_test_oldapi.h',
226 ],
227 }, # acm_send_test
228 {
229 'target_name': 'delay_test',
230 'type': 'executable',
231 'dependencies': [
232 'audio_coding_module',
233 '<(DEPTH)/testing/gtest.gyp:gtest',
234 '<(webrtc_root)/common.gyp:webrtc_common',
235 '<(webrtc_root)/test/test.gyp:test_support',
236 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
237 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
238 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
239 ],
240 'sources': [
241 'test/delay_test.cc',
242 'test/Channel.cc',
243 'test/PCMFile.cc',
244 'test/utility.cc',
245 ],
246 }, # delay_test
247 {
248 'target_name': 'insert_packet_with_timing',
249 'type': 'executable',
250 'dependencies': [
251 'audio_coding_module',
252 '<(DEPTH)/testing/gtest.gyp:gtest',
253 '<(webrtc_root)/common.gyp:webrtc_common',
254 '<(webrtc_root)/test/test.gyp:test_support',
255 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
256 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
257 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
258 ],
259 'sources': [
260 'test/insert_packet_with_timing.cc',
261 'test/Channel.cc',
262 'test/PCMFile.cc',
263 ],
264 }, # delay_test
265 ],
266 }],
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +0000267 ],
268}