1# 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', 12 ], 13 'targets': [ 14 { 15 'target_name': 'voice_engine', 16 'type': 'static_library', 17 'dependencies': [ 18 '<(webrtc_root)/common.gyp:webrtc_common', 19 '<(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', 24 '<(webrtc_root)/modules/modules.gyp:bitrate_controller', 25 '<(webrtc_root)/modules/modules.gyp:media_file', 26 '<(webrtc_root)/modules/modules.gyp:paced_sender', 27 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp', 28 '<(webrtc_root)/modules/modules.gyp:webrtc_utility', 29 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', 30 '<(webrtc_root)/webrtc.gyp:rtc_event_log', 31 ], 32 'export_dependent_settings': [ 33 '<(webrtc_root)/modules/modules.gyp:audio_coding_module', 34 ], 35 'sources': [ 36 'include/voe_audio_processing.h', 37 'include/voe_base.h', 38 'include/voe_codec.h', 39 'include/voe_dtmf.h', 40 'include/voe_errors.h', 41 'include/voe_external_media.h', 42 'include/voe_file.h', 43 'include/voe_hardware.h', 44 'include/voe_neteq_stats.h', 45 'include/voe_network.h', 46 'include/voe_rtp_rtcp.h', 47 'include/voe_video_sync.h', 48 'include/voe_volume_control.h', 49 'channel.cc', 50 'channel.h', 51 'channel_manager.cc', 52 'channel_manager.h', 53 'channel_proxy.cc', 54 'channel_proxy.h', 55 'dtmf_inband.cc', 56 'dtmf_inband.h', 57 'dtmf_inband_queue.cc', 58 'dtmf_inband_queue.h', 59 'level_indicator.cc', 60 'level_indicator.h', 61 'monitor_module.cc', 62 'monitor_module.h', 63 'network_predictor.cc', 64 'network_predictor.h', 65 'output_mixer.cc', 66 'output_mixer.h', 67 'shared_data.cc', 68 'shared_data.h', 69 'statistics.cc', 70 'statistics.h', 71 'transmit_mixer.cc', 72 'transmit_mixer.h', 73 'utility.cc', 74 'utility.h', 75 'voe_audio_processing_impl.cc', 76 'voe_audio_processing_impl.h', 77 'voe_base_impl.cc', 78 'voe_base_impl.h', 79 'voe_codec_impl.cc', 80 'voe_codec_impl.h', 81 'voe_dtmf_impl.cc', 82 'voe_dtmf_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 }, 104 ], 105 'conditions': [ 106 ['OS=="win"', { 107 'defines': ['WEBRTC_DRIFT_COMPENSATION_SUPPORTED',], 108 }], 109 ['include_tests==1', { 110 'targets': [ 111 { 112 'target_name': 'voice_engine_unittests', 113 'type': '<(gtest_target_type)', 114 'dependencies': [ 115 'voice_engine', 116 '<(DEPTH)/testing/gmock.gyp:gmock', 117 '<(DEPTH)/testing/gtest.gyp:gtest', 118 # The rest are to satisfy the unittests' include chain. 119 # This would be unnecessary if we used qualified includes. 120 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio', 121 '<(webrtc_root)/modules/modules.gyp:audio_device', 122 '<(webrtc_root)/modules/modules.gyp:audio_processing', 123 '<(webrtc_root)/modules/modules.gyp:audio_coding_module', 124 '<(webrtc_root)/modules/modules.gyp:audio_conference_mixer', 125 '<(webrtc_root)/modules/modules.gyp:media_file', 126 '<(webrtc_root)/modules/modules.gyp:rtp_rtcp', 127 '<(webrtc_root)/modules/modules.gyp:webrtc_utility', 128 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', 129 '<(webrtc_root)/test/test.gyp:test_support_main', 130 ], 131 'sources': [ 132 'channel_unittest.cc', 133 'network_predictor_unittest.cc', 134 'transmit_mixer_unittest.cc', 135 'utility_unittest.cc', 136 'voe_audio_processing_unittest.cc', 137 'voe_base_unittest.cc', 138 'voe_codec_unittest.cc', 139 'voe_network_unittest.cc', 140 'voice_engine_fixture.cc', 141 'voice_engine_fixture.h', 142 ], 143 'conditions': [ 144 ['OS=="android"', { 145 'dependencies': [ 146 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', 147 ], 148 }], 149 ], 150 }, 151 { 152 # command line test that should work on linux/mac/win 153 'target_name': 'voe_cmd_test', 154 'type': 'executable', 155 'dependencies': [ 156 'voice_engine', 157 '<(DEPTH)/testing/gtest.gyp:gtest', 158 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', 159 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', 160 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default', 161 '<(webrtc_root)/test/test.gyp:channel_transport', 162 '<(webrtc_root)/test/test.gyp:test_support', 163 '<(webrtc_root)/webrtc.gyp:rtc_event_log', 164 ], 165 'sources': [ 166 'test/cmd_test/voe_cmd_test.cc', 167 ], 168 }, 169 ], # targets 170 'conditions': [ 171 ['OS!="ios"', { 172 'targets': [ 173 { 174 'target_name': 'voe_auto_test', 175 'type': 'executable', 176 'dependencies': [ 177 'voice_engine', 178 '<(DEPTH)/testing/gmock.gyp:gmock', 179 '<(DEPTH)/testing/gtest.gyp:gtest', 180 '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', 181 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers', 182 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default', 183 '<(webrtc_root)/test/test.gyp:channel_transport', 184 '<(webrtc_root)/test/test.gyp:test_support', 185 '<(webrtc_root)/test/webrtc_test_common.gyp:webrtc_test_common', 186 '<(webrtc_root)/webrtc.gyp:rtc_event_log', 187 ], 188 'sources': [ 189 'test/auto_test/automated_mode.cc', 190 'test/auto_test/extended/agc_config_test.cc', 191 'test/auto_test/extended/ec_metrics_test.cc', 192 'test/auto_test/fakes/conference_transport.cc', 193 'test/auto_test/fakes/conference_transport.h', 194 'test/auto_test/fakes/loudest_filter.cc', 195 'test/auto_test/fakes/loudest_filter.h', 196 'test/auto_test/fixtures/after_initialization_fixture.cc', 197 'test/auto_test/fixtures/after_initialization_fixture.h', 198 'test/auto_test/fixtures/after_streaming_fixture.cc', 199 'test/auto_test/fixtures/after_streaming_fixture.h', 200 'test/auto_test/fixtures/before_initialization_fixture.cc', 201 'test/auto_test/fixtures/before_initialization_fixture.h', 202 'test/auto_test/fixtures/before_streaming_fixture.cc', 203 'test/auto_test/fixtures/before_streaming_fixture.h', 204 'test/auto_test/standard/audio_processing_test.cc', 205 'test/auto_test/standard/codec_before_streaming_test.cc', 206 'test/auto_test/standard/codec_test.cc', 207 'test/auto_test/standard/dtmf_test.cc', 208 'test/auto_test/standard/external_media_test.cc', 209 'test/auto_test/standard/file_before_streaming_test.cc', 210 'test/auto_test/standard/file_test.cc', 211 'test/auto_test/standard/hardware_before_initializing_test.cc', 212 'test/auto_test/standard/hardware_before_streaming_test.cc', 213 'test/auto_test/standard/hardware_test.cc', 214 'test/auto_test/standard/mixing_test.cc', 215 'test/auto_test/standard/neteq_stats_test.cc', 216 'test/auto_test/standard/rtp_rtcp_before_streaming_test.cc', 217 'test/auto_test/standard/rtp_rtcp_extensions.cc', 218 'test/auto_test/standard/rtp_rtcp_test.cc', 219 'test/auto_test/standard/voe_base_misc_test.cc', 220 'test/auto_test/standard/video_sync_test.cc', 221 'test/auto_test/standard/volume_test.cc', 222 'test/auto_test/resource_manager.cc', 223 'test/auto_test/voe_conference_test.cc', 224 'test/auto_test/voe_cpu_test.cc', 225 'test/auto_test/voe_cpu_test.h', 226 'test/auto_test/voe_output_test.cc', 227 'test/auto_test/voe_standard_test.cc', 228 'test/auto_test/voe_standard_test.h', 229 'test/auto_test/voe_stress_test.cc', 230 'test/auto_test/voe_stress_test.h', 231 'test/auto_test/voe_test_defines.h', 232 'test/auto_test/voe_test_interface.h', 233 ], 234 'conditions': [ 235 ['OS=="android"', { 236 # some tests are not supported on android yet, exclude these tests. 237 'sources!': [ 238 'test/auto_test/standard/hardware_before_streaming_test.cc', 239 ], 240 }], 241 ['enable_protobuf==1', { 242 'defines': [ 243 'ENABLE_RTC_EVENT_LOG', 244 ], 245 }], 246 ], 247 # Disable warnings to enable Win64 build, issue 1323. 248 'msvs_disabled_warnings': [ 249 4267, # size_t to int truncation. 250 ], 251 }, 252 ], 253 }], 254 ['OS=="android"', { 255 'targets': [ 256 { 257 'target_name': 'voice_engine_unittests_apk_target', 258 'type': 'none', 259 'dependencies': [ 260 '<(apk_tests_path):voice_engine_unittests_apk', 261 ], 262 }, 263 ], 264 }], 265 ['test_isolation_mode != "noop"', { 266 'targets': [ 267 { 268 'target_name': 'voice_engine_unittests_run', 269 'type': 'none', 270 'dependencies': [ 271 'voice_engine_unittests', 272 ], 273 'includes': [ 274 '../build/isolate.gypi', 275 ], 276 'sources': [ 277 'voice_engine_unittests.isolate', 278 ], 279 }, 280 { 281 'target_name': 'voe_auto_test_run', 282 'type': 'none', 283 'dependencies': [ 284 'voe_auto_test', 285 ], 286 'includes': [ 287 '../build/isolate.gypi', 288 ], 289 'sources': [ 290 'voe_auto_test.isolate', 291 ], 292 }, 293 ], 294 }], 295 ], # conditions 296 }], # include_tests==1 297 ], # conditions 298} 299