blob: a2de46df9b8e50000e6dc501324f74c9c936702f [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': [
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.org3ce62fc2011-10-06 01:03:18 +000027 ],
andrew@webrtc.orgf791b1c2013-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',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000034 'include/voe_codec.h',
35 'include/voe_dtmf.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000036 'include/voe_errors.h',
37 'include/voe_external_media.h',
38 'include/voe_file.h',
39 'include/voe_hardware.h',
40 'include/voe_neteq_stats.h',
41 'include/voe_network.h',
42 'include/voe_rtp_rtcp.h',
43 'include/voe_video_sync.h',
44 'include/voe_volume_control.h',
45 'channel.cc',
46 'channel.h',
47 'channel_manager.cc',
48 'channel_manager.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000049 'dtmf_inband.cc',
50 'dtmf_inband.h',
51 'dtmf_inband_queue.cc',
52 'dtmf_inband_queue.h',
53 'level_indicator.cc',
54 'level_indicator.h',
55 'monitor_module.cc',
56 'monitor_module.h',
57 'output_mixer.cc',
58 'output_mixer.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000059 'shared_data.cc',
60 'shared_data.h',
61 'statistics.cc',
62 'statistics.h',
63 'transmit_mixer.cc',
64 'transmit_mixer.h',
65 'utility.cc',
66 'utility.h',
67 'voe_audio_processing_impl.cc',
68 'voe_audio_processing_impl.h',
69 'voe_base_impl.cc',
70 'voe_base_impl.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000071 'voe_codec_impl.cc',
72 'voe_codec_impl.h',
73 'voe_dtmf_impl.cc',
74 'voe_dtmf_impl.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000075 'voe_external_media_impl.cc',
76 'voe_external_media_impl.h',
77 'voe_file_impl.cc',
78 'voe_file_impl.h',
79 'voe_hardware_impl.cc',
80 'voe_hardware_impl.h',
81 'voe_neteq_stats_impl.cc',
82 'voe_neteq_stats_impl.h',
83 'voe_network_impl.cc',
84 'voe_network_impl.h',
85 'voe_rtp_rtcp_impl.cc',
86 'voe_rtp_rtcp_impl.h',
87 'voe_video_sync_impl.cc',
88 'voe_video_sync_impl.h',
89 'voe_volume_control_impl.cc',
90 'voe_volume_control_impl.h',
91 'voice_engine_defines.h',
92 'voice_engine_impl.cc',
93 'voice_engine_impl.h',
94 ],
95 },
andrew@webrtc.org3ce62fc2011-10-06 01:03:18 +000096 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000097 'conditions': [
98 ['OS=="win"', {
99 'defines': ['WEBRTC_DRIFT_COMPENSATION_SUPPORTED',],
100 }],
101 ['include_tests==1', {
102 'targets': [
103 {
104 'target_name': 'voice_engine_unittests',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000105 'type': '<(gtest_target_type)',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000106 'dependencies': [
107 'voice_engine',
108 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000109 # The rest are to satisfy the unittests' include chain.
110 # This would be unnecessary if we used qualified includes.
111 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
112 '<(webrtc_root)/modules/modules.gyp:audio_device',
113 '<(webrtc_root)/modules/modules.gyp:audio_processing',
114 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
115 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
116 '<(webrtc_root)/modules/modules.gyp:media_file',
117 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
118 '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
119 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000120 '<(webrtc_root)/test/test.gyp:test_support_main',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000121 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000122 'sources': [
123 'channel_unittest.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000124 'transmit_mixer_unittest.cc',
andrew@webrtc.orga78a41f2014-04-08 23:09:28 +0000125 'utility_unittest.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000126 'voe_audio_processing_unittest.cc',
127 'voe_base_unittest.cc',
128 'voe_codec_unittest.cc',
129 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000130 'conditions': [
131 # TODO(henrike): remove build_with_chromium==1 when the bots are
132 # using Chromium's buildbots.
133 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
134 'dependencies': [
135 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
136 ],
137 }],
138 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000139 },
140 {
141 'target_name': 'voe_auto_test',
142 'type': 'executable',
143 'dependencies': [
144 'voice_engine',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000145 '<(DEPTH)/testing/gmock.gyp:gmock',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000146 '<(DEPTH)/testing/gtest.gyp:gtest',
fischman@webrtc.orgdde7d4c2013-08-15 23:31:30 +0000147 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000148 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
andresp@webrtc.orga36ad692014-05-14 12:24:04 +0000149 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:field_trial_default',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000150 '<(webrtc_root)/test/test.gyp:channel_transport',
151 '<(webrtc_root)/test/test.gyp:test_support',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000152 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000153 'sources': [
154 'test/auto_test/automated_mode.cc',
155 'test/auto_test/extended/agc_config_test.cc',
156 'test/auto_test/extended/ec_metrics_test.cc',
157 'test/auto_test/fakes/fake_external_transport.cc',
158 'test/auto_test/fakes/fake_external_transport.h',
159 'test/auto_test/fixtures/after_initialization_fixture.cc',
160 'test/auto_test/fixtures/after_initialization_fixture.h',
161 'test/auto_test/fixtures/after_streaming_fixture.cc',
162 'test/auto_test/fixtures/after_streaming_fixture.h',
163 'test/auto_test/fixtures/before_initialization_fixture.cc',
164 'test/auto_test/fixtures/before_initialization_fixture.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000165 'test/auto_test/standard/audio_processing_test.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000166 'test/auto_test/standard/codec_before_streaming_test.cc',
167 'test/auto_test/standard/codec_test.cc',
168 'test/auto_test/standard/dtmf_test.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000169 'test/auto_test/standard/external_media_test.cc',
170 'test/auto_test/standard/file_before_streaming_test.cc',
171 'test/auto_test/standard/file_test.cc',
172 'test/auto_test/standard/hardware_before_initializing_test.cc',
173 'test/auto_test/standard/hardware_before_streaming_test.cc',
174 'test/auto_test/standard/hardware_test.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000175 'test/auto_test/standard/mixing_test.cc',
176 'test/auto_test/standard/neteq_stats_test.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000177 'test/auto_test/standard/rtp_rtcp_before_streaming_test.cc',
wu@webrtc.orgebdb0e32014-03-06 23:49:08 +0000178 'test/auto_test/standard/rtp_rtcp_extensions.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000179 'test/auto_test/standard/rtp_rtcp_test.cc',
180 'test/auto_test/standard/voe_base_misc_test.cc',
181 'test/auto_test/standard/video_sync_test.cc',
182 'test/auto_test/standard/volume_test.cc',
183 'test/auto_test/resource_manager.cc',
184 'test/auto_test/voe_cpu_test.cc',
185 'test/auto_test/voe_cpu_test.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000186 'test/auto_test/voe_standard_test.cc',
187 'test/auto_test/voe_standard_test.h',
188 'test/auto_test/voe_stress_test.cc',
189 'test/auto_test/voe_stress_test.h',
190 'test/auto_test/voe_test_defines.h',
191 'test/auto_test/voe_test_interface.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000192 ],
193 'conditions': [
194 ['OS=="android"', {
195 # some tests are not supported on android yet, exclude these tests.
196 'sources!': [
197 'test/auto_test/standard/hardware_before_streaming_test.cc',
198 ],
199 }],
200 ],
201 # Disable warnings to enable Win64 build, issue 1323.
202 'msvs_disabled_warnings': [
203 4267, # size_t to int truncation.
204 ],
205 },
206 {
207 # command line test that should work on linux/mac/win
208 'target_name': 'voe_cmd_test',
209 'type': 'executable',
210 'dependencies': [
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000211 'voice_engine',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000212 '<(DEPTH)/testing/gtest.gyp:gtest',
minyue@webrtc.orgcc92e002013-09-30 08:43:50 +0000213 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000214 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
andresp@webrtc.orga36ad692014-05-14 12:24:04 +0000215 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:field_trial_default',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000216 '<(webrtc_root)/test/test.gyp:channel_transport',
217 '<(webrtc_root)/test/test.gyp:test_support',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000218 ],
219 'sources': [
220 'test/cmd_test/voe_cmd_test.cc',
221 ],
222 },
223 ], # targets
224 'conditions': [
225 # TODO(kjellander): Support UseoFMFC on VS2010.
226 # http://code.google.com/p/webrtc/issues/detail?id=709
227 ['OS=="win" and MSVS_VERSION < "2010"', {
228 'targets': [
229 # WinTest - GUI test for Windows
230 {
231 'target_name': 'voe_ui_win_test',
232 'type': 'executable',
233 'dependencies': [
234 'voice_engine',
235 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
236 '<(webrtc_root)/test/test.gyp:test_support',
237 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000238 'sources': [
239 'test/win_test/Resource.h',
240 'test/win_test/WinTest.cc',
241 'test/win_test/WinTest.h',
242 'test/win_test/WinTest.rc',
243 'test/win_test/WinTestDlg.cc',
244 'test/win_test/WinTestDlg.h',
245 'test/win_test/res/WinTest.ico',
246 'test/win_test/res/WinTest.rc2',
247 'test/win_test/stdafx.cc',
248 'test/win_test/stdafx.h',
249 ],
250 'configurations': {
251 'Common_Base': {
252 'msvs_configuration_attributes': {
253 'conditions': [
254 ['component=="shared_library"', {
255 'UseOfMFC': '2', # Shared DLL
256 },{
257 'UseOfMFC': '1', # Static
258 }],
259 ],
260 },
261 },
262 },
263 'msvs_settings': {
264 'VCLinkerTool': {
265 'SubSystem': '2', # Windows
266 },
267 },
268 },
269 ], # targets
270 }],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000271 # TODO(henrike): remove build_with_chromium==1 when the bots are using
272 # Chromium's buildbots.
273 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
274 'targets': [
275 {
276 'target_name': 'voice_engine_unittests_apk_target',
277 'type': 'none',
278 'dependencies': [
279 '<(apk_tests_path):voice_engine_unittests_apk',
280 ],
281 },
282 ],
283 }],
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000284 ['test_isolation_mode != "noop"', {
285 'targets': [
286 {
287 'target_name': 'voice_engine_unittests_run',
288 'type': 'none',
289 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000290 'voice_engine_unittests',
291 ],
292 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000293 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000294 'voice_engine_unittests.isolate',
295 ],
296 'sources': [
297 'voice_engine_unittests.isolate',
298 ],
299 },
300 {
301 'target_name': 'voe_auto_test_run',
302 'type': 'none',
303 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000304 'voe_auto_test',
305 ],
306 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000307 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000308 'voe_auto_test.isolate',
309 ],
310 'sources': [
311 'voe_auto_test.isolate',
312 ],
313 },
314 ],
315 }],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000316 ], # conditions
317 }], # include_tests
318 ], # conditions
xians@google.comd3185fe2011-09-12 12:24:39 +0000319}