blob: 912b5228c1b267059d9303bb00c3fdbf5fb61fb3 [file] [log] [blame]
xians@google.comd3185fe2011-09-12 12:24:39 +00001# Copyright (c) 2011 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': [
andrew@webrtc.org3ce62fc2011-10-06 01:03:18 +000011 '../build/common.gypi',
xians@google.comd3185fe2011-09-12 12:24:39 +000012 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000013 'targets': [
14 {
15 'target_name': 'voice_engine',
16 'type': 'static_library',
17 'dependencies': [
kjellander@webrtc.org7ffeab52016-02-26 22:46:09 +010018 '<(webrtc_root)/base/base.gyp:rtc_base_approved',
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +000019 '<(webrtc_root)/common.gyp:webrtc_common',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000020 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
21 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
22 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
23 '<(webrtc_root)/modules/modules.gyp:audio_device',
24 '<(webrtc_root)/modules/modules.gyp:audio_processing',
minyue@webrtc.orgc1a40a72014-05-28 09:52:06 +000025 '<(webrtc_root)/modules/modules.gyp:bitrate_controller',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000026 '<(webrtc_root)/modules/modules.gyp:media_file',
Stefan Holmerb86d4e42015-12-07 10:26:18 +010027 '<(webrtc_root)/modules/modules.gyp:paced_sender',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000028 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
29 '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000030 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
ivocb04965c2015-09-09 00:09:43 -070031 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
aleloie6ca9ec2016-08-10 05:01:51 -070032 'level_indicator',
andrew@webrtc.org3ce62fc2011-10-06 01:03:18 +000033 ],
minyue3cea2562015-11-10 03:49:26 -080034 'export_dependent_settings': [
35 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
36 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000037 'sources': [
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000038 'include/voe_audio_processing.h',
39 'include/voe_base.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000040 'include/voe_codec.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000041 'include/voe_errors.h',
42 'include/voe_external_media.h',
43 'include/voe_file.h',
44 'include/voe_hardware.h',
45 'include/voe_neteq_stats.h',
46 'include/voe_network.h',
47 'include/voe_rtp_rtcp.h',
48 'include/voe_video_sync.h',
49 'include/voe_volume_control.h',
50 'channel.cc',
51 'channel.h',
52 'channel_manager.cc',
53 'channel_manager.h',
solenberg13725082015-11-25 08:16:52 -080054 'channel_proxy.cc',
55 'channel_proxy.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000056 'monitor_module.cc',
57 'monitor_module.h',
minyue@webrtc.org74aaf292014-07-16 21:28:26 +000058 'network_predictor.cc',
59 'network_predictor.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000060 'output_mixer.cc',
61 'output_mixer.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000062 'shared_data.cc',
63 'shared_data.h',
64 'statistics.cc',
65 'statistics.h',
66 'transmit_mixer.cc',
67 'transmit_mixer.h',
68 'utility.cc',
69 'utility.h',
70 'voe_audio_processing_impl.cc',
71 'voe_audio_processing_impl.h',
72 'voe_base_impl.cc',
73 'voe_base_impl.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000074 'voe_codec_impl.cc',
75 'voe_codec_impl.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000076 'voe_external_media_impl.cc',
77 'voe_external_media_impl.h',
78 'voe_file_impl.cc',
79 'voe_file_impl.h',
80 'voe_hardware_impl.cc',
81 'voe_hardware_impl.h',
82 'voe_neteq_stats_impl.cc',
83 'voe_neteq_stats_impl.h',
84 'voe_network_impl.cc',
85 'voe_network_impl.h',
86 'voe_rtp_rtcp_impl.cc',
87 'voe_rtp_rtcp_impl.h',
88 'voe_video_sync_impl.cc',
89 'voe_video_sync_impl.h',
90 'voe_volume_control_impl.cc',
91 'voe_volume_control_impl.h',
92 'voice_engine_defines.h',
93 'voice_engine_impl.cc',
94 'voice_engine_impl.h',
95 ],
96 },
aleloie6ca9ec2016-08-10 05:01:51 -070097 {
98 'target_name': 'level_indicator',
99 'type': 'static_library',
100 'dependencies': [
101 '<(webrtc_root)/base/base.gyp:rtc_base_approved',
102 '<(webrtc_root)/common.gyp:webrtc_common',
103 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
104 ],
105 'sources': [
106 'level_indicator.cc',
107 'level_indicator.h',
108 ]
109 }
andrew@webrtc.org3ce62fc2011-10-06 01:03:18 +0000110 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000111 'conditions': [
112 ['OS=="win"', {
113 'defines': ['WEBRTC_DRIFT_COMPENSATION_SUPPORTED',],
114 }],
115 ['include_tests==1', {
116 'targets': [
117 {
118 'target_name': 'voice_engine_unittests',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000119 'type': '<(gtest_target_type)',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000120 'dependencies': [
121 'voice_engine',
Jelena Marusic06b08af2015-04-21 11:39:57 +0200122 '<(DEPTH)/testing/gmock.gyp:gmock',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000123 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000124 # The rest are to satisfy the unittests' include chain.
125 # This would be unnecessary if we used qualified includes.
126 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
127 '<(webrtc_root)/modules/modules.gyp:audio_device',
128 '<(webrtc_root)/modules/modules.gyp:audio_processing',
129 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
130 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
131 '<(webrtc_root)/modules/modules.gyp:media_file',
132 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
133 '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000134 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000135 '<(webrtc_root)/test/test.gyp:test_support_main',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000136 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000137 'sources': [
138 'channel_unittest.cc',
minyue@webrtc.org74aaf292014-07-16 21:28:26 +0000139 'network_predictor_unittest.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000140 'transmit_mixer_unittest.cc',
andrew@webrtc.orga78a41f2014-04-08 23:09:28 +0000141 'utility_unittest.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000142 'voe_audio_processing_unittest.cc',
143 'voe_base_unittest.cc',
144 'voe_codec_unittest.cc',
Jelena Marusic46bd31b2015-04-30 10:57:10 +0200145 'voe_network_unittest.cc',
146 'voice_engine_fixture.cc',
147 'voice_engine_fixture.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000148 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000149 'conditions': [
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +0000150 ['OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000151 'dependencies': [
152 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
153 ],
154 }],
155 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000156 },
157 {
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000158 # command line test that should work on linux/mac/win
159 'target_name': 'voe_cmd_test',
160 'type': 'executable',
161 'dependencies': [
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000162 'voice_engine',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000163 '<(DEPTH)/testing/gtest.gyp:gtest',
minyue@webrtc.orgcc92e002013-09-30 08:43:50 +0000164 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000165 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
166 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000167 '<(webrtc_root)/test/test.gyp:channel_transport',
168 '<(webrtc_root)/test/test.gyp:test_support',
ivocb04965c2015-09-09 00:09:43 -0700169 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000170 ],
171 'sources': [
172 'test/cmd_test/voe_cmd_test.cc',
173 ],
174 },
175 ], # targets
176 'conditions': [
kjellander@webrtc.orgf22695c2015-11-19 15:39:29 +0100177 ['OS!="ios"', {
178 'targets': [
179 {
180 'target_name': 'voe_auto_test',
181 'type': 'executable',
182 'dependencies': [
183 'voice_engine',
184 '<(DEPTH)/testing/gmock.gyp:gmock',
185 '<(DEPTH)/testing/gtest.gyp:gtest',
186 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
187 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
188 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
189 '<(webrtc_root)/test/test.gyp:channel_transport',
kjellander0e739342016-03-02 10:46:17 -0800190 '<(webrtc_root)/test/test.gyp:test_common',
kjellander@webrtc.orgf22695c2015-11-19 15:39:29 +0100191 '<(webrtc_root)/test/test.gyp:test_support',
kjellander@webrtc.orgf22695c2015-11-19 15:39:29 +0100192 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
193 ],
194 'sources': [
195 'test/auto_test/automated_mode.cc',
196 'test/auto_test/extended/agc_config_test.cc',
197 'test/auto_test/extended/ec_metrics_test.cc',
198 'test/auto_test/fakes/conference_transport.cc',
199 'test/auto_test/fakes/conference_transport.h',
200 'test/auto_test/fakes/loudest_filter.cc',
201 'test/auto_test/fakes/loudest_filter.h',
202 'test/auto_test/fixtures/after_initialization_fixture.cc',
203 'test/auto_test/fixtures/after_initialization_fixture.h',
204 'test/auto_test/fixtures/after_streaming_fixture.cc',
205 'test/auto_test/fixtures/after_streaming_fixture.h',
206 'test/auto_test/fixtures/before_initialization_fixture.cc',
207 'test/auto_test/fixtures/before_initialization_fixture.h',
208 'test/auto_test/fixtures/before_streaming_fixture.cc',
209 'test/auto_test/fixtures/before_streaming_fixture.h',
210 'test/auto_test/standard/audio_processing_test.cc',
211 'test/auto_test/standard/codec_before_streaming_test.cc',
212 'test/auto_test/standard/codec_test.cc',
213 'test/auto_test/standard/dtmf_test.cc',
214 'test/auto_test/standard/external_media_test.cc',
215 'test/auto_test/standard/file_before_streaming_test.cc',
216 'test/auto_test/standard/file_test.cc',
217 'test/auto_test/standard/hardware_before_initializing_test.cc',
218 'test/auto_test/standard/hardware_before_streaming_test.cc',
219 'test/auto_test/standard/hardware_test.cc',
220 'test/auto_test/standard/mixing_test.cc',
221 'test/auto_test/standard/neteq_stats_test.cc',
222 'test/auto_test/standard/rtp_rtcp_before_streaming_test.cc',
223 'test/auto_test/standard/rtp_rtcp_extensions.cc',
224 'test/auto_test/standard/rtp_rtcp_test.cc',
225 'test/auto_test/standard/voe_base_misc_test.cc',
226 'test/auto_test/standard/video_sync_test.cc',
227 'test/auto_test/standard/volume_test.cc',
228 'test/auto_test/resource_manager.cc',
229 'test/auto_test/voe_conference_test.cc',
230 'test/auto_test/voe_cpu_test.cc',
231 'test/auto_test/voe_cpu_test.h',
232 'test/auto_test/voe_output_test.cc',
233 'test/auto_test/voe_standard_test.cc',
234 'test/auto_test/voe_standard_test.h',
235 'test/auto_test/voe_stress_test.cc',
236 'test/auto_test/voe_stress_test.h',
237 'test/auto_test/voe_test_defines.h',
238 'test/auto_test/voe_test_interface.h',
239 ],
240 'conditions': [
241 ['OS=="android"', {
242 # some tests are not supported on android yet, exclude these tests.
243 'sources!': [
244 'test/auto_test/standard/hardware_before_streaming_test.cc',
245 ],
246 }],
247 ['enable_protobuf==1', {
248 'defines': [
249 'ENABLE_RTC_EVENT_LOG',
250 ],
251 }],
252 ],
253 # Disable warnings to enable Win64 build, issue 1323.
254 'msvs_disabled_warnings': [
255 4267, # size_t to int truncation.
256 ],
257 },
258 ],
259 }],
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +0000260 ['OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000261 'targets': [
262 {
kjellander@webrtc.org0372b932014-09-03 14:34:46 +0000263 'target_name': 'voice_engine_unittests_apk_target',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000264 'type': 'none',
265 'dependencies': [
kjellander208d1982016-05-31 04:01:38 -0700266 '<(android_tests_path):voice_engine_unittests_apk',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000267 ],
268 },
269 ],
kjellandere532aec2016-04-17 20:08:20 -0700270 'conditions': [
271 ['test_isolation_mode != "noop"',
272 {
273 'targets': [
274 {
275 'target_name': 'voice_engine_unittests_apk_run',
276 'type': 'none',
277 'dependencies': [
kjellander208d1982016-05-31 04:01:38 -0700278 '<(android_tests_path):voice_engine_unittests_apk',
kjellandere532aec2016-04-17 20:08:20 -0700279 ],
280 'includes': [
281 '../build/isolate.gypi',
282 ],
283 'sources': [
284 'voice_engine_unittests_apk.isolate',
285 ],
286 },
287 ],
288 },
289 ],
290 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000291 }],
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000292 ['test_isolation_mode != "noop"', {
293 'targets': [
294 {
295 'target_name': 'voice_engine_unittests_run',
296 'type': 'none',
297 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000298 'voice_engine_unittests',
299 ],
300 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000301 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000302 ],
303 'sources': [
304 'voice_engine_unittests.isolate',
305 ],
306 },
307 {
308 'target_name': 'voe_auto_test_run',
309 'type': 'none',
310 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000311 'voe_auto_test',
312 ],
313 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000314 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000315 ],
316 'sources': [
317 'voe_auto_test.isolate',
318 ],
319 },
320 ],
321 }],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000322 ], # conditions
kjellander@webrtc.orgf22695c2015-11-19 15:39:29 +0100323 }], # include_tests==1
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000324 ], # conditions
xians@google.comd3185fe2011-09-12 12:24:39 +0000325}