blob: 37ffc5390d85d313231e1366af895dad67f8da05 [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': [
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +000018 '<(webrtc_root)/common.gyp:webrtc_common',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000019 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
20 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
21 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
22 '<(webrtc_root)/modules/modules.gyp:audio_device',
23 '<(webrtc_root)/modules/modules.gyp:audio_processing',
minyue@webrtc.orgc1a40a72014-05-28 09:52:06 +000024 '<(webrtc_root)/modules/modules.gyp:bitrate_controller',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000025 '<(webrtc_root)/modules/modules.gyp:media_file',
26 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
27 '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +000028 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
ivocb04965c2015-09-09 00:09:43 -070029 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
andrew@webrtc.org3ce62fc2011-10-06 01:03:18 +000030 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000031 'sources': [
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000032 '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',
minyue@webrtc.org74aaf292014-07-16 21:28:26 +000057 'network_predictor.cc',
58 'network_predictor.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000059 'output_mixer.cc',
60 'output_mixer.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000061 'shared_data.cc',
62 'shared_data.h',
63 'statistics.cc',
64 'statistics.h',
65 'transmit_mixer.cc',
66 'transmit_mixer.h',
67 'utility.cc',
68 'utility.h',
69 'voe_audio_processing_impl.cc',
70 'voe_audio_processing_impl.h',
71 'voe_base_impl.cc',
72 'voe_base_impl.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000073 'voe_codec_impl.cc',
74 'voe_codec_impl.h',
75 'voe_dtmf_impl.cc',
76 'voe_dtmf_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 },
andrew@webrtc.org3ce62fc2011-10-06 01:03:18 +000098 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +000099 'conditions': [
100 ['OS=="win"', {
101 'defines': ['WEBRTC_DRIFT_COMPENSATION_SUPPORTED',],
102 }],
103 ['include_tests==1', {
104 'targets': [
105 {
106 'target_name': 'voice_engine_unittests',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000107 'type': '<(gtest_target_type)',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000108 'dependencies': [
109 'voice_engine',
Jelena Marusic06b08af2015-04-21 11:39:57 +0200110 '<(DEPTH)/testing/gmock.gyp:gmock',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000111 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000112 # The rest are to satisfy the unittests' include chain.
113 # This would be unnecessary if we used qualified includes.
114 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
115 '<(webrtc_root)/modules/modules.gyp:audio_device',
116 '<(webrtc_root)/modules/modules.gyp:audio_processing',
117 '<(webrtc_root)/modules/modules.gyp:audio_coding_module',
118 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
119 '<(webrtc_root)/modules/modules.gyp:media_file',
120 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
121 '<(webrtc_root)/modules/modules.gyp:webrtc_utility',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000122 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000123 '<(webrtc_root)/test/test.gyp:test_support_main',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000124 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000125 'sources': [
126 'channel_unittest.cc',
minyue@webrtc.org74aaf292014-07-16 21:28:26 +0000127 'network_predictor_unittest.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000128 'transmit_mixer_unittest.cc',
andrew@webrtc.orga78a41f2014-04-08 23:09:28 +0000129 'utility_unittest.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000130 'voe_audio_processing_unittest.cc',
131 'voe_base_unittest.cc',
132 'voe_codec_unittest.cc',
Jelena Marusic46bd31b2015-04-30 10:57:10 +0200133 'voe_network_unittest.cc',
134 'voice_engine_fixture.cc',
135 'voice_engine_fixture.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000136 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000137 'conditions': [
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +0000138 ['OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000139 'dependencies': [
140 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
141 ],
142 }],
143 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000144 },
145 {
146 'target_name': 'voe_auto_test',
147 'type': 'executable',
148 'dependencies': [
149 'voice_engine',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000150 '<(DEPTH)/testing/gmock.gyp:gmock',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000151 '<(DEPTH)/testing/gtest.gyp:gtest',
fischman@webrtc.orgdde7d4c2013-08-15 23:31:30 +0000152 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000153 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
154 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000155 '<(webrtc_root)/test/test.gyp:channel_transport',
156 '<(webrtc_root)/test/test.gyp:test_support',
ivocb04965c2015-09-09 00:09:43 -0700157 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000158 ],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000159 'sources': [
160 'test/auto_test/automated_mode.cc',
161 'test/auto_test/extended/agc_config_test.cc',
162 'test/auto_test/extended/ec_metrics_test.cc',
Minyueafef4bf2015-05-27 00:21:18 +0200163 'test/auto_test/fakes/conference_transport.cc',
164 'test/auto_test/fakes/conference_transport.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000165 'test/auto_test/fakes/fake_external_transport.cc',
166 'test/auto_test/fakes/fake_external_transport.h',
minyue03bb7c72015-08-14 07:33:56 -0700167 'test/auto_test/fakes/loudest_filter.cc',
168 'test/auto_test/fakes/loudest_filter.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000169 'test/auto_test/fixtures/after_initialization_fixture.cc',
170 'test/auto_test/fixtures/after_initialization_fixture.h',
171 'test/auto_test/fixtures/after_streaming_fixture.cc',
172 'test/auto_test/fixtures/after_streaming_fixture.h',
173 'test/auto_test/fixtures/before_initialization_fixture.cc',
174 'test/auto_test/fixtures/before_initialization_fixture.h',
solenberg@webrtc.org57e06022014-05-16 11:27:09 +0000175 'test/auto_test/fixtures/before_streaming_fixture.cc',
176 'test/auto_test/fixtures/before_streaming_fixture.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000177 'test/auto_test/standard/audio_processing_test.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000178 'test/auto_test/standard/codec_before_streaming_test.cc',
179 'test/auto_test/standard/codec_test.cc',
180 'test/auto_test/standard/dtmf_test.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000181 'test/auto_test/standard/external_media_test.cc',
182 'test/auto_test/standard/file_before_streaming_test.cc',
183 'test/auto_test/standard/file_test.cc',
184 'test/auto_test/standard/hardware_before_initializing_test.cc',
185 'test/auto_test/standard/hardware_before_streaming_test.cc',
186 'test/auto_test/standard/hardware_test.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000187 'test/auto_test/standard/mixing_test.cc',
188 'test/auto_test/standard/neteq_stats_test.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000189 'test/auto_test/standard/rtp_rtcp_before_streaming_test.cc',
wu@webrtc.orgebdb0e32014-03-06 23:49:08 +0000190 'test/auto_test/standard/rtp_rtcp_extensions.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000191 'test/auto_test/standard/rtp_rtcp_test.cc',
192 'test/auto_test/standard/voe_base_misc_test.cc',
193 'test/auto_test/standard/video_sync_test.cc',
194 'test/auto_test/standard/volume_test.cc',
195 'test/auto_test/resource_manager.cc',
Minyueafef4bf2015-05-27 00:21:18 +0200196 'test/auto_test/voe_conference_test.cc',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000197 'test/auto_test/voe_cpu_test.cc',
198 'test/auto_test/voe_cpu_test.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000199 'test/auto_test/voe_standard_test.cc',
200 'test/auto_test/voe_standard_test.h',
201 'test/auto_test/voe_stress_test.cc',
202 'test/auto_test/voe_stress_test.h',
203 'test/auto_test/voe_test_defines.h',
204 'test/auto_test/voe_test_interface.h',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000205 ],
206 'conditions': [
207 ['OS=="android"', {
208 # some tests are not supported on android yet, exclude these tests.
209 'sources!': [
210 'test/auto_test/standard/hardware_before_streaming_test.cc',
211 ],
212 }],
ivocb04965c2015-09-09 00:09:43 -0700213 ['enable_protobuf==1', {
214 'defines': [
215 'ENABLE_RTC_EVENT_LOG',
216 ],
217 }],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000218 ],
219 # Disable warnings to enable Win64 build, issue 1323.
220 'msvs_disabled_warnings': [
221 4267, # size_t to int truncation.
222 ],
223 },
224 {
225 # command line test that should work on linux/mac/win
226 'target_name': 'voe_cmd_test',
227 'type': 'executable',
228 'dependencies': [
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000229 'voice_engine',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000230 '<(DEPTH)/testing/gtest.gyp:gtest',
minyue@webrtc.orgcc92e002013-09-30 08:43:50 +0000231 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
andresp@webrtc.org86e1e482015-01-14 09:30:52 +0000232 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
233 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
kjellander@webrtc.org6c35e0b2013-06-11 08:29:17 +0000234 '<(webrtc_root)/test/test.gyp:channel_transport',
235 '<(webrtc_root)/test/test.gyp:test_support',
ivocb04965c2015-09-09 00:09:43 -0700236 '<(webrtc_root)/webrtc.gyp:rtc_event_log',
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000237 ],
238 'sources': [
239 'test/cmd_test/voe_cmd_test.cc',
240 ],
241 },
242 ], # targets
243 'conditions': [
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +0000244 ['OS=="android"', {
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000245 'targets': [
246 {
kjellander@webrtc.org0372b932014-09-03 14:34:46 +0000247 'target_name': 'voice_engine_unittests_apk_target',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000248 'type': 'none',
249 'dependencies': [
kjellander@webrtc.org0372b932014-09-03 14:34:46 +0000250 '<(apk_tests_path):voice_engine_unittests_apk',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000251 ],
252 },
253 ],
254 }],
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000255 ['test_isolation_mode != "noop"', {
256 'targets': [
257 {
258 'target_name': 'voice_engine_unittests_run',
259 'type': 'none',
260 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000261 'voice_engine_unittests',
262 ],
263 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000264 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000265 ],
266 'sources': [
267 'voice_engine_unittests.isolate',
268 ],
269 },
270 {
271 'target_name': 'voe_auto_test_run',
272 'type': 'none',
273 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000274 'voe_auto_test',
275 ],
276 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000277 '../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000278 ],
279 'sources': [
280 'voe_auto_test.isolate',
281 ],
282 },
283 ],
284 }],
andrew@webrtc.orgf791b1c2013-05-29 00:38:02 +0000285 ], # conditions
286 }], # include_tests
287 ], # conditions
xians@google.comd3185fe2011-09-12 12:24:39 +0000288}