blob: af2cb3c49dc51d48bd77797aace0e938f5bb647b [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',
177 'acm2/audio_coding_module_impl.cc',
178 'acm2/audio_coding_module_impl.h',
179 'acm2/call_statistics.cc',
180 'acm2/call_statistics.h',
181 'acm2/codec_manager.cc',
182 'acm2/codec_manager.h',
183 'acm2/initial_delay_manager.cc',
184 'acm2/initial_delay_manager.h',
185 'include/audio_coding_module.h',
186 'include/audio_coding_module_typedefs.h',
187 ],
188 },
189 ],
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +0000190 'conditions': [
191 ['include_opus==1', {
192 'includes': ['codecs/opus/opus.gypi',],
193 }],
kjellander3e6db232015-11-26 04:44:54 -0800194 ['include_tests==1', {
195 'targets': [
196 {
197 'target_name': 'acm_receive_test',
198 'type': 'static_library',
199 'defines': [
200 '<@(audio_coding_defines)',
201 ],
202 'dependencies': [
203 '<@(audio_coding_dependencies)',
204 'audio_coding_module',
205 'neteq_unittest_tools',
206 '<(DEPTH)/testing/gtest.gyp:gtest',
207 ],
208 'sources': [
209 'acm2/acm_receive_test_oldapi.cc',
210 'acm2/acm_receive_test_oldapi.h',
211 ],
212 }, # acm_receive_test
213 {
214 'target_name': 'acm_send_test',
215 'type': 'static_library',
216 'defines': [
217 '<@(audio_coding_defines)',
218 ],
219 'dependencies': [
220 '<@(audio_coding_dependencies)',
221 'audio_coding_module',
222 'neteq_unittest_tools',
223 '<(DEPTH)/testing/gtest.gyp:gtest',
224 ],
225 'sources': [
226 'acm2/acm_send_test_oldapi.cc',
227 'acm2/acm_send_test_oldapi.h',
228 ],
229 }, # acm_send_test
230 {
231 'target_name': 'delay_test',
232 'type': 'executable',
233 'dependencies': [
234 'audio_coding_module',
235 '<(DEPTH)/testing/gtest.gyp:gtest',
236 '<(webrtc_root)/common.gyp:webrtc_common',
237 '<(webrtc_root)/test/test.gyp:test_support',
238 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
239 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
240 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
241 ],
242 'sources': [
243 'test/delay_test.cc',
244 'test/Channel.cc',
245 'test/PCMFile.cc',
246 'test/utility.cc',
247 ],
248 }, # delay_test
249 {
250 'target_name': 'insert_packet_with_timing',
251 'type': 'executable',
252 'dependencies': [
253 'audio_coding_module',
254 '<(DEPTH)/testing/gtest.gyp:gtest',
255 '<(webrtc_root)/common.gyp:webrtc_common',
256 '<(webrtc_root)/test/test.gyp:test_support',
257 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
258 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
259 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
260 ],
261 'sources': [
262 'test/insert_packet_with_timing.cc',
263 'test/Channel.cc',
264 'test/PCMFile.cc',
265 ],
266 }, # delay_test
267 ],
268 }],
kjellander@webrtc.orga33f05e2015-01-29 14:29:45 +0000269 ],
270}