blob: 34070fabdfe84b54e257b06eb91c0aad8429a643 [file] [log] [blame]
andrew@webrtc.orgb015cbe2012-10-22 18:19:23 +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': [
11 '../build/common.gypi',
andrew@webrtc.orgb015cbe2012-10-22 18:19:23 +000012 ],
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +000013 'targets': [
14 {
15 'target_name': 'voice_engine',
16 'type': 'static_library',
17 'dependencies': [
18 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
19 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
20 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
21 '<(webrtc_root)/modules/modules.gyp:audio_device',
22 '<(webrtc_root)/modules/modules.gyp:audio_processing',
23 '<(webrtc_root)/modules/modules.gyp:media_file',
24 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
25 '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
26 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
andrew@webrtc.orgb015cbe2012-10-22 18:19:23 +000027 ],
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +000028 'sources': [
29 '../common_types.h',
30 '../engine_configurations.h',
31 '../typedefs.h',
32 'include/voe_audio_processing.h',
33 'include/voe_base.h',
34 'include/voe_call_report.h',
35 'include/voe_codec.h',
36 'include/voe_dtmf.h',
37 'include/voe_encryption.h',
38 'include/voe_errors.h',
39 'include/voe_external_media.h',
40 'include/voe_file.h',
41 'include/voe_hardware.h',
42 'include/voe_neteq_stats.h',
43 'include/voe_network.h',
44 'include/voe_rtp_rtcp.h',
45 'include/voe_video_sync.h',
46 'include/voe_volume_control.h',
47 'channel.cc',
48 'channel.h',
49 'channel_manager.cc',
50 'channel_manager.h',
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +000051 'dtmf_inband.cc',
52 'dtmf_inband.h',
53 'dtmf_inband_queue.cc',
54 'dtmf_inband_queue.h',
55 'level_indicator.cc',
56 'level_indicator.h',
57 'monitor_module.cc',
58 'monitor_module.h',
59 'output_mixer.cc',
60 'output_mixer.h',
61 'output_mixer_internal.cc',
62 'output_mixer_internal.h',
63 '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',
75 'voe_call_report_impl.cc',
76 'voe_call_report_impl.h',
77 'voe_codec_impl.cc',
78 'voe_codec_impl.h',
79 'voe_dtmf_impl.cc',
80 'voe_dtmf_impl.h',
81 'voe_encryption_impl.cc',
82 'voe_encryption_impl.h',
83 'voe_external_media_impl.cc',
84 'voe_external_media_impl.h',
85 'voe_file_impl.cc',
86 'voe_file_impl.h',
87 'voe_hardware_impl.cc',
88 'voe_hardware_impl.h',
89 'voe_neteq_stats_impl.cc',
90 'voe_neteq_stats_impl.h',
91 'voe_network_impl.cc',
92 'voe_network_impl.h',
93 'voe_rtp_rtcp_impl.cc',
94 'voe_rtp_rtcp_impl.h',
95 'voe_video_sync_impl.cc',
96 'voe_video_sync_impl.h',
97 'voe_volume_control_impl.cc',
98 'voe_volume_control_impl.h',
99 'voice_engine_defines.h',
100 'voice_engine_impl.cc',
101 'voice_engine_impl.h',
102 ],
103 },
andrew@webrtc.orgb015cbe2012-10-22 18:19:23 +0000104 ],
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000105 'conditions': [
106 ['OS=="win"', {
107 'defines': ['WEBRTC_DRIFT_COMPENSATION_SUPPORTED',],
108 }],
109 ['include_tests==1', {
110 'targets': [
111 {
112 'target_name': 'voice_engine_unittests',
henrike@webrtc.orgacb00f52013-08-02 16:53:47 +0000113 'type': '<(gtest_target_type)',
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000114 'dependencies': [
115 'voice_engine',
116 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000117 # The rest are to satisfy the unittests' include chain.
118 # This would be unnecessary if we used qualified includes.
119 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
120 '<(webrtc_root)/modules/modules.gyp:audio_device',
121 '<(webrtc_root)/modules/modules.gyp:audio_processing',
122 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
123 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
124 '<(webrtc_root)/modules/modules.gyp:media_file',
125 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
126 '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
127 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
kjellander@webrtc.org46cec2a2013-06-11 08:29:17 +0000128 '<(webrtc_root)/test/test.gyp:test_support_main',
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000129 ],
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000130 'sources': [
131 'channel_unittest.cc',
132 'output_mixer_unittest.cc',
133 'transmit_mixer_unittest.cc',
134 'voe_audio_processing_unittest.cc',
135 'voe_base_unittest.cc',
136 'voe_codec_unittest.cc',
137 ],
henrike@webrtc.orgacb00f52013-08-02 16:53:47 +0000138 'conditions': [
139 # TODO(henrike): remove build_with_chromium==1 when the bots are
140 # using Chromium's buildbots.
141 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
142 'dependencies': [
143 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
144 ],
145 }],
146 ],
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000147 },
148 {
149 'target_name': 'voe_auto_test',
150 'type': 'executable',
151 'dependencies': [
152 'voice_engine',
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000153 '<(DEPTH)/testing/gmock.gyp:gmock',
kjellander@webrtc.org46cec2a2013-06-11 08:29:17 +0000154 '<(DEPTH)/testing/gtest.gyp:gtest',
fischman@webrtc.org1e817c32013-08-15 23:31:30 +0000155 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
kjellander@webrtc.org46cec2a2013-06-11 08:29:17 +0000156 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000157 '<(webrtc_root)/test/libtest/libtest.gyp:libtest',
kjellander@webrtc.org46cec2a2013-06-11 08:29:17 +0000158 '<(webrtc_root)/test/test.gyp:channel_transport',
159 '<(webrtc_root)/test/test.gyp:test_support',
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000160 ],
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000161 'sources': [
162 'test/auto_test/automated_mode.cc',
163 'test/auto_test/extended/agc_config_test.cc',
164 'test/auto_test/extended/ec_metrics_test.cc',
165 'test/auto_test/fakes/fake_external_transport.cc',
166 'test/auto_test/fakes/fake_external_transport.h',
167 'test/auto_test/fixtures/after_initialization_fixture.cc',
168 'test/auto_test/fixtures/after_initialization_fixture.h',
169 'test/auto_test/fixtures/after_streaming_fixture.cc',
170 'test/auto_test/fixtures/after_streaming_fixture.h',
171 'test/auto_test/fixtures/before_initialization_fixture.cc',
172 'test/auto_test/fixtures/before_initialization_fixture.h',
173 'test/auto_test/fuzz/rtp_fuzz_test.cc',
174 'test/auto_test/standard/audio_processing_test.cc',
175 'test/auto_test/standard/call_report_test.cc',
176 'test/auto_test/standard/codec_before_streaming_test.cc',
177 'test/auto_test/standard/codec_test.cc',
178 'test/auto_test/standard/dtmf_test.cc',
179 'test/auto_test/standard/encryption_test.cc',
180 'test/auto_test/standard/external_media_test.cc',
181 'test/auto_test/standard/file_before_streaming_test.cc',
182 'test/auto_test/standard/file_test.cc',
183 'test/auto_test/standard/hardware_before_initializing_test.cc',
184 'test/auto_test/standard/hardware_before_streaming_test.cc',
185 'test/auto_test/standard/hardware_test.cc',
186 'test/auto_test/standard/manual_hold_test.cc',
187 'test/auto_test/standard/mixing_test.cc',
188 'test/auto_test/standard/neteq_stats_test.cc',
189 'test/auto_test/standard/neteq_test.cc',
190 'test/auto_test/standard/network_test.cc',
191 'test/auto_test/standard/rtp_rtcp_before_streaming_test.cc',
192 'test/auto_test/standard/rtp_rtcp_test.cc',
193 'test/auto_test/standard/voe_base_misc_test.cc',
194 'test/auto_test/standard/video_sync_test.cc',
195 'test/auto_test/standard/volume_test.cc',
196 'test/auto_test/resource_manager.cc',
197 'test/auto_test/voe_cpu_test.cc',
198 'test/auto_test/voe_cpu_test.h',
199 'test/auto_test/voe_extended_test.cc',
200 'test/auto_test/voe_extended_test.h',
201 'test/auto_test/voe_standard_test.cc',
202 'test/auto_test/voe_standard_test.h',
203 'test/auto_test/voe_stress_test.cc',
204 'test/auto_test/voe_stress_test.h',
205 'test/auto_test/voe_test_defines.h',
206 'test/auto_test/voe_test_interface.h',
207 'test/auto_test/voe_unit_test.cc',
208 'test/auto_test/voe_unit_test.h',
209 ],
210 'conditions': [
211 ['OS=="android"', {
212 # some tests are not supported on android yet, exclude these tests.
213 'sources!': [
214 'test/auto_test/standard/hardware_before_streaming_test.cc',
215 ],
216 }],
217 ],
218 # Disable warnings to enable Win64 build, issue 1323.
219 'msvs_disabled_warnings': [
220 4267, # size_t to int truncation.
221 ],
222 },
223 {
224 # command line test that should work on linux/mac/win
225 'target_name': 'voe_cmd_test',
226 'type': 'executable',
227 'dependencies': [
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000228 'voice_engine',
kjellander@webrtc.org46cec2a2013-06-11 08:29:17 +0000229 '<(DEPTH)/testing/gtest.gyp:gtest',
minyue@webrtc.org0de00492013-09-30 08:43:50 +0000230 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000231 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
kjellander@webrtc.org46cec2a2013-06-11 08:29:17 +0000232 '<(webrtc_root)/test/test.gyp:channel_transport',
233 '<(webrtc_root)/test/test.gyp:test_support',
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000234 ],
235 'sources': [
236 'test/cmd_test/voe_cmd_test.cc',
237 ],
238 },
239 ], # targets
240 'conditions': [
241 # TODO(kjellander): Support UseoFMFC on VS2010.
242 # http://code.google.com/p/webrtc/issues/detail?id=709
243 ['OS=="win" and MSVS_VERSION < "2010"', {
244 'targets': [
245 # WinTest - GUI test for Windows
246 {
247 'target_name': 'voe_ui_win_test',
248 'type': 'executable',
249 'dependencies': [
250 'voice_engine',
251 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
252 '<(webrtc_root)/test/test.gyp:test_support',
253 ],
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000254 'sources': [
255 'test/win_test/Resource.h',
256 'test/win_test/WinTest.cc',
257 'test/win_test/WinTest.h',
258 'test/win_test/WinTest.rc',
259 'test/win_test/WinTestDlg.cc',
260 'test/win_test/WinTestDlg.h',
261 'test/win_test/res/WinTest.ico',
262 'test/win_test/res/WinTest.rc2',
263 'test/win_test/stdafx.cc',
264 'test/win_test/stdafx.h',
265 ],
266 'configurations': {
267 'Common_Base': {
268 'msvs_configuration_attributes': {
269 'conditions': [
270 ['component=="shared_library"', {
271 'UseOfMFC': '2', # Shared DLL
272 },{
273 'UseOfMFC': '1', # Static
274 }],
275 ],
276 },
277 },
278 },
279 'msvs_settings': {
280 'VCLinkerTool': {
281 'SubSystem': '2', # Windows
282 },
283 },
284 },
285 ], # targets
286 }],
henrike@webrtc.orgacb00f52013-08-02 16:53:47 +0000287 # TODO(henrike): remove build_with_chromium==1 when the bots are using
288 # Chromium's buildbots.
289 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
290 'targets': [
291 {
292 'target_name': 'voice_engine_unittests_apk_target',
293 'type': 'none',
294 'dependencies': [
295 '<(apk_tests_path):voice_engine_unittests_apk',
296 ],
297 },
298 ],
299 }],
kjellander@webrtc.org3540c822013-08-22 07:57:00 +0000300 ['test_isolation_mode != "noop"', {
301 'targets': [
302 {
303 'target_name': 'voice_engine_unittests_run',
304 'type': 'none',
305 'dependencies': [
306 '<(import_isolate_path):import_isolate_gypi',
307 'voice_engine_unittests',
308 ],
309 'includes': [
310 'voice_engine_unittests.isolate',
311 ],
312 'sources': [
313 'voice_engine_unittests.isolate',
314 ],
315 },
316 {
317 'target_name': 'voe_auto_test_run',
318 'type': 'none',
319 'dependencies': [
320 '<(import_isolate_path):import_isolate_gypi',
321 'voe_auto_test',
322 ],
323 'includes': [
324 'voe_auto_test.isolate',
325 ],
326 'sources': [
327 'voe_auto_test.isolate',
328 ],
329 },
330 ],
331 }],
andrew@webrtc.org5221d1c2013-05-29 00:38:02 +0000332 ], # conditions
333 }], # include_tests
334 ], # conditions
andrew@webrtc.orgb015cbe2012-10-22 18:19:23 +0000335}