blob: 1981ade16f94c8419f84d62ffd4212d01dc013d9 [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': [
kjellandera69d9732016-08-31 07:33:05 -070018 '<(webrtc_root)/api/api.gyp:call_api',
kjellander@webrtc.org7ffeab52016-02-26 22:46:09 +010019 '<(webrtc_root)/base/base.gyp:rtc_base_approved',
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +000020 '<(webrtc_root)/common.gyp:webrtc_common',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000021 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
22 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
23 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
24 '<(webrtc_root)/modules/modules.gyp:audio_device',
25 '<(webrtc_root)/modules/modules.gyp:audio_processing',
minyue@webrtc.orgc1a40a72014-05-28 09:52:06 +000026 '<(webrtc_root)/modules/modules.gyp:bitrate_controller',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000027 '<(webrtc_root)/modules/modules.gyp:media_file',
Stefan Holmerb86d4e42015-12-07 10:26:18 +010028 '<(webrtc_root)/modules/modules.gyp:paced_sender',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000029 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
30 '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000031 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
ivocb04965c2015-09-09 00:09:43 -070032 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
aleloie6ca9ec2016-08-10 05:01:51 -070033 'level_indicator',
andrew@webrtc.org3ce62fc2011-10-06 01:03:18 +000034 ],
minyue3cea2562015-11-10 03:49:26 -080035 'export_dependent_settings': [
36 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
37 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000038 'sources': [
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000039 'include/voe_audio_processing.h',
40 'include/voe_base.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000041 'include/voe_codec.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000042 'include/voe_errors.h',
43 'include/voe_external_media.h',
44 'include/voe_file.h',
45 'include/voe_hardware.h',
46 'include/voe_neteq_stats.h',
47 'include/voe_network.h',
48 'include/voe_rtp_rtcp.h',
49 'include/voe_video_sync.h',
50 'include/voe_volume_control.h',
51 'channel.cc',
52 'channel.h',
53 'channel_manager.cc',
54 'channel_manager.h',
solenberg13725082015-11-25 08:16:52 -080055 'channel_proxy.cc',
56 'channel_proxy.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000057 'monitor_module.cc',
58 'monitor_module.h',
minyue@webrtc.org74aaf292014-07-16 21:28:26 +000059 'network_predictor.cc',
60 'network_predictor.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000061 'output_mixer.cc',
62 'output_mixer.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000063 'shared_data.cc',
64 'shared_data.h',
65 'statistics.cc',
66 'statistics.h',
67 'transmit_mixer.cc',
68 'transmit_mixer.h',
69 'utility.cc',
70 'utility.h',
71 'voe_audio_processing_impl.cc',
72 'voe_audio_processing_impl.h',
73 'voe_base_impl.cc',
74 'voe_base_impl.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000075 'voe_codec_impl.cc',
76 'voe_codec_impl.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000077 'voe_external_media_impl.cc',
78 'voe_external_media_impl.h',
79 'voe_file_impl.cc',
80 'voe_file_impl.h',
81 'voe_hardware_impl.cc',
82 'voe_hardware_impl.h',
83 'voe_neteq_stats_impl.cc',
84 'voe_neteq_stats_impl.h',
85 'voe_network_impl.cc',
86 'voe_network_impl.h',
87 'voe_rtp_rtcp_impl.cc',
88 'voe_rtp_rtcp_impl.h',
89 'voe_video_sync_impl.cc',
90 'voe_video_sync_impl.h',
91 'voe_volume_control_impl.cc',
92 'voe_volume_control_impl.h',
93 'voice_engine_defines.h',
94 'voice_engine_impl.cc',
95 'voice_engine_impl.h',
96 ],
97 },
aleloie6ca9ec2016-08-10 05:01:51 -070098 {
99 'target_name': 'level_indicator',
100 'type': 'static_library',
101 'dependencies': [
102 '<(webrtc_root)/base/base.gyp:rtc_base_approved',
103 '<(webrtc_root)/common.gyp:webrtc_common',
104 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
105 ],
106 'sources': [
107 'level_indicator.cc',
108 'level_indicator.h',
109 ]
solenbergba56b6c2016-09-13 07:29:12 -0700110 },
andrew@webrtc.org3ce62fc2011-10-06 01:03:18 +0000111 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000112 'conditions': [
113 ['OS=="win"', {
114 'defines': ['WEBRTC_DRIFT_COMPENSATION_SUPPORTED',],
115 }],
116 ['include_tests==1', {
117 'targets': [
118 {
solenbergba56b6c2016-09-13 07:29:12 -0700119 'target_name': 'channel_transport',
120 'type': 'static_library',
121 'dependencies': [
122 '<(DEPTH)/testing/gtest.gyp:gtest',
123 '<(webrtc_root)/common.gyp:webrtc_common',
124 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
125 ],
126 'sources': [
127 'test/channel_transport/channel_transport.cc',
128 'test/channel_transport/channel_transport.h',
129 'test/channel_transport/traffic_control_win.cc',
130 'test/channel_transport/traffic_control_win.h',
131 'test/channel_transport/udp_socket_manager_posix.cc',
132 'test/channel_transport/udp_socket_manager_posix.h',
133 'test/channel_transport/udp_socket_manager_wrapper.cc',
134 'test/channel_transport/udp_socket_manager_wrapper.h',
135 'test/channel_transport/udp_socket_posix.cc',
136 'test/channel_transport/udp_socket_posix.h',
137 'test/channel_transport/udp_socket_wrapper.cc',
138 'test/channel_transport/udp_socket_wrapper.h',
139 'test/channel_transport/udp_socket2_manager_win.cc',
140 'test/channel_transport/udp_socket2_manager_win.h',
141 'test/channel_transport/udp_socket2_win.cc',
142 'test/channel_transport/udp_socket2_win.h',
143 'test/channel_transport/udp_transport.h',
144 'test/channel_transport/udp_transport_impl.cc',
145 'test/channel_transport/udp_transport_impl.h',
146 ],
147 'msvs_disabled_warnings': [
148 4302, # cast truncation
149 ],
150 'conditions': [
151 ['OS=="win" and clang==1', {
152 'msvs_settings': {
153 'VCCLCompilerTool': {
154 'AdditionalOptions': [
155 # Disable warnings failing when compiling with Clang on Windows.
156 # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
157 '-Wno-parentheses-equality',
158 '-Wno-reorder',
159 '-Wno-tautological-constant-out-of-range-compare',
160 '-Wno-unused-private-field',
161 ],
162 },
163 },
164 }],
165 ], # conditions.
166 },
167 {
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000168 'target_name': 'voice_engine_unittests',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000169 'type': '<(gtest_target_type)',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000170 'dependencies': [
solenbergba56b6c2016-09-13 07:29:12 -0700171 'channel_transport',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000172 'voice_engine',
Jelena Marusic06b08af2015-04-21 11:39:57 +0200173 '<(DEPTH)/testing/gmock.gyp:gmock',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000174 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000175 # The rest are to satisfy the unittests' include chain.
176 # This would be unnecessary if we used qualified includes.
177 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
178 '<(webrtc_root)/modules/modules.gyp:audio_device',
179 '<(webrtc_root)/modules/modules.gyp:audio_processing',
180 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
181 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
182 '<(webrtc_root)/modules/modules.gyp:media_file',
183 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
184 '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000185 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000186 '<(webrtc_root)/test/test.gyp:test_support_main',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000187 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000188 'sources': [
189 'channel_unittest.cc',
minyue@webrtc.org74aaf292014-07-16 21:28:26 +0000190 'network_predictor_unittest.cc',
solenbergba56b6c2016-09-13 07:29:12 -0700191 'test/channel_transport/udp_transport_unittest.cc',
192 'test/channel_transport/udp_socket_manager_unittest.cc',
193 'test/channel_transport/udp_socket_wrapper_unittest.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000194 'transmit_mixer_unittest.cc',
andrew@webrtc.orga78a41f2014-04-08 23:09:28 +0000195 'utility_unittest.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000196 'voe_audio_processing_unittest.cc',
197 'voe_base_unittest.cc',
198 'voe_codec_unittest.cc',
Jelena Marusic46bd31b2015-04-30 10:57:10 +0200199 'voe_network_unittest.cc',
200 'voice_engine_fixture.cc',
201 'voice_engine_fixture.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000202 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000203 'conditions': [
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +0000204 ['OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000205 'dependencies': [
206 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
207 ],
208 }],
209 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000210 },
211 {
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000212 # command line test that should work on linux/mac/win
213 'target_name': 'voe_cmd_test',
214 'type': 'executable',
215 'dependencies': [
solenbergba56b6c2016-09-13 07:29:12 -0700216 'channel_transport',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000217 'voice_engine',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000218 '<(DEPTH)/testing/gtest.gyp:gtest',
minyue@webrtc.orgcc92e002013-09-30 08:43:50 +0000219 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000220 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
221 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000222 '<(webrtc_root)/test/test.gyp:test_support',
ivocb04965c2015-09-09 00:09:43 -0700223 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000224 ],
225 'sources': [
226 'test/cmd_test/voe_cmd_test.cc',
227 ],
228 },
229 ], # targets
230 'conditions': [
kjellander@webrtc.orgf22695c2015-11-19 15:39:29 +0100231 ['OS!="ios"', {
232 'targets': [
233 {
234 'target_name': 'voe_auto_test',
235 'type': 'executable',
236 'dependencies': [
solenbergba56b6c2016-09-13 07:29:12 -0700237 'channel_transport',
kjellander@webrtc.orgf22695c2015-11-19 15:39:29 +0100238 'voice_engine',
239 '<(DEPTH)/testing/gmock.gyp:gmock',
240 '<(DEPTH)/testing/gtest.gyp:gtest',
241 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
242 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
243 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
kjellander0e739342016-03-02 10:46:17 -0800244 '<(webrtc_root)/test/test.gyp:test_common',
kjellander@webrtc.orgf22695c2015-11-19 15:39:29 +0100245 '<(webrtc_root)/test/test.gyp:test_support',
kjellander@webrtc.orgf22695c2015-11-19 15:39:29 +0100246 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
247 ],
248 'sources': [
249 'test/auto_test/automated_mode.cc',
250 'test/auto_test/extended/agc_config_test.cc',
251 'test/auto_test/extended/ec_metrics_test.cc',
252 'test/auto_test/fakes/conference_transport.cc',
253 'test/auto_test/fakes/conference_transport.h',
254 'test/auto_test/fakes/loudest_filter.cc',
255 'test/auto_test/fakes/loudest_filter.h',
256 'test/auto_test/fixtures/after_initialization_fixture.cc',
257 'test/auto_test/fixtures/after_initialization_fixture.h',
258 'test/auto_test/fixtures/after_streaming_fixture.cc',
259 'test/auto_test/fixtures/after_streaming_fixture.h',
260 'test/auto_test/fixtures/before_initialization_fixture.cc',
261 'test/auto_test/fixtures/before_initialization_fixture.h',
262 'test/auto_test/fixtures/before_streaming_fixture.cc',
263 'test/auto_test/fixtures/before_streaming_fixture.h',
264 'test/auto_test/standard/audio_processing_test.cc',
265 'test/auto_test/standard/codec_before_streaming_test.cc',
266 'test/auto_test/standard/codec_test.cc',
267 'test/auto_test/standard/dtmf_test.cc',
268 'test/auto_test/standard/external_media_test.cc',
269 'test/auto_test/standard/file_before_streaming_test.cc',
270 'test/auto_test/standard/file_test.cc',
271 'test/auto_test/standard/hardware_before_initializing_test.cc',
272 'test/auto_test/standard/hardware_before_streaming_test.cc',
273 'test/auto_test/standard/hardware_test.cc',
274 'test/auto_test/standard/mixing_test.cc',
275 'test/auto_test/standard/neteq_stats_test.cc',
276 'test/auto_test/standard/rtp_rtcp_before_streaming_test.cc',
277 'test/auto_test/standard/rtp_rtcp_extensions.cc',
278 'test/auto_test/standard/rtp_rtcp_test.cc',
279 'test/auto_test/standard/voe_base_misc_test.cc',
280 'test/auto_test/standard/video_sync_test.cc',
281 'test/auto_test/standard/volume_test.cc',
282 'test/auto_test/resource_manager.cc',
283 'test/auto_test/voe_conference_test.cc',
284 'test/auto_test/voe_cpu_test.cc',
285 'test/auto_test/voe_cpu_test.h',
286 'test/auto_test/voe_output_test.cc',
287 'test/auto_test/voe_standard_test.cc',
288 'test/auto_test/voe_standard_test.h',
289 'test/auto_test/voe_stress_test.cc',
290 'test/auto_test/voe_stress_test.h',
291 'test/auto_test/voe_test_defines.h',
292 'test/auto_test/voe_test_interface.h',
293 ],
294 'conditions': [
295 ['OS=="android"', {
296 # some tests are not supported on android yet, exclude these tests.
297 'sources!': [
298 'test/auto_test/standard/hardware_before_streaming_test.cc',
299 ],
300 }],
301 ['enable_protobuf==1', {
302 'defines': [
303 'ENABLE_RTC_EVENT_LOG',
304 ],
305 }],
306 ],
307 # Disable warnings to enable Win64 build, issue 1323.
308 'msvs_disabled_warnings': [
309 4267, # size_t to int truncation.
310 ],
311 },
312 ],
313 }],
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +0000314 ['OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000315 'targets': [
316 {
kjellander@webrtc.org0372b932014-09-03 14:34:46 +0000317 'target_name': 'voice_engine_unittests_apk_target',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000318 'type': 'none',
319 'dependencies': [
kjellander208d1982016-05-31 04:01:38 -0700320 '<(android_tests_path):voice_engine_unittests_apk',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000321 ],
322 },
323 ],
kjellandere532aec2016-04-17 20:08:20 -0700324 'conditions': [
325 ['test_isolation_mode != "noop"',
326 {
327 'targets': [
328 {
329 'target_name': 'voice_engine_unittests_apk_run',
330 'type': 'none',
331 'dependencies': [
kjellander208d1982016-05-31 04:01:38 -0700332 '<(android_tests_path):voice_engine_unittests_apk',
kjellandere532aec2016-04-17 20:08:20 -0700333 ],
334 'includes': [
335 '../build/isolate.gypi',
336 ],
337 'sources': [
338 'voice_engine_unittests_apk.isolate',
339 ],
340 },
341 ],
342 },
343 ],
344 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000345 }],
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000346 ['test_isolation_mode != "noop"', {
347 'targets': [
348 {
349 'target_name': 'voice_engine_unittests_run',
350 'type': 'none',
351 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000352 'voice_engine_unittests',
353 ],
354 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000355 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000356 ],
357 'sources': [
358 'voice_engine_unittests.isolate',
359 ],
360 },
361 {
362 'target_name': 'voe_auto_test_run',
363 'type': 'none',
364 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000365 'voe_auto_test',
366 ],
367 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000368 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000369 ],
370 'sources': [
371 'voe_auto_test.isolate',
372 ],
373 },
374 ],
375 }],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000376 ], # conditions
kjellander@webrtc.orgf22695c2015-11-19 15:39:29 +0100377 }], # include_tests==1
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000378 ], # conditions
xians@google.comd3185fe2011-09-12 12:24:39 +0000379}