blob: 17a64b5420896dbc21672e90b078cb21fa7ec296 [file] [log] [blame]
# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
{
'includes': [
'../build/common.gypi',
],
'targets': [
{
'target_name': 'voice_engine',
'type': 'static_library',
'dependencies': [
'<(webrtc_root)/base/base.gyp:rtc_base_approved',
'<(webrtc_root)/common.gyp:webrtc_common',
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/modules/modules.gyp:audio_coding_module',
'<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
'<(webrtc_root)/modules/modules.gyp:audio_device',
'<(webrtc_root)/modules/modules.gyp:audio_processing',
'<(webrtc_root)/modules/modules.gyp:bitrate_controller',
'<(webrtc_root)/modules/modules.gyp:media_file',
'<(webrtc_root)/modules/modules.gyp:paced_sender',
'<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
'<(webrtc_root)/modules/modules.gyp:webrtc_utility',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
'<(webrtc_root)/webrtc.gyp:rtc_event_log',
],
'export_dependent_settings': [
'<(webrtc_root)/modules/modules.gyp:audio_coding_module',
],
'sources': [
'include/voe_audio_processing.h',
'include/voe_base.h',
'include/voe_codec.h',
'include/voe_errors.h',
'include/voe_external_media.h',
'include/voe_file.h',
'include/voe_hardware.h',
'include/voe_neteq_stats.h',
'include/voe_network.h',
'include/voe_rtp_rtcp.h',
'include/voe_video_sync.h',
'include/voe_volume_control.h',
'channel.cc',
'channel.h',
'channel_manager.cc',
'channel_manager.h',
'channel_proxy.cc',
'channel_proxy.h',
'level_indicator.cc',
'level_indicator.h',
'monitor_module.cc',
'monitor_module.h',
'network_predictor.cc',
'network_predictor.h',
'output_mixer.cc',
'output_mixer.h',
'shared_data.cc',
'shared_data.h',
'statistics.cc',
'statistics.h',
'transmit_mixer.cc',
'transmit_mixer.h',
'utility.cc',
'utility.h',
'voe_audio_processing_impl.cc',
'voe_audio_processing_impl.h',
'voe_base_impl.cc',
'voe_base_impl.h',
'voe_codec_impl.cc',
'voe_codec_impl.h',
'voe_external_media_impl.cc',
'voe_external_media_impl.h',
'voe_file_impl.cc',
'voe_file_impl.h',
'voe_hardware_impl.cc',
'voe_hardware_impl.h',
'voe_neteq_stats_impl.cc',
'voe_neteq_stats_impl.h',
'voe_network_impl.cc',
'voe_network_impl.h',
'voe_rtp_rtcp_impl.cc',
'voe_rtp_rtcp_impl.h',
'voe_video_sync_impl.cc',
'voe_video_sync_impl.h',
'voe_volume_control_impl.cc',
'voe_volume_control_impl.h',
'voice_engine_defines.h',
'voice_engine_impl.cc',
'voice_engine_impl.h',
],
},
],
'conditions': [
['OS=="win"', {
'defines': ['WEBRTC_DRIFT_COMPENSATION_SUPPORTED',],
}],
['include_tests==1', {
'targets': [
{
'target_name': 'voice_engine_unittests',
'type': '<(gtest_target_type)',
'dependencies': [
'voice_engine',
'<(DEPTH)/testing/gmock.gyp:gmock',
'<(DEPTH)/testing/gtest.gyp:gtest',
# The rest are to satisfy the unittests' include chain.
# This would be unnecessary if we used qualified includes.
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
'<(webrtc_root)/modules/modules.gyp:audio_device',
'<(webrtc_root)/modules/modules.gyp:audio_processing',
'<(webrtc_root)/modules/modules.gyp:audio_coding_module',
'<(webrtc_root)/modules/modules.gyp:audio_conference_mixer',
'<(webrtc_root)/modules/modules.gyp:media_file',
'<(webrtc_root)/modules/modules.gyp:rtp_rtcp',
'<(webrtc_root)/modules/modules.gyp:webrtc_utility',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
'<(webrtc_root)/test/test.gyp:test_support_main',
],
'sources': [
'channel_unittest.cc',
'network_predictor_unittest.cc',
'transmit_mixer_unittest.cc',
'utility_unittest.cc',
'voe_audio_processing_unittest.cc',
'voe_base_unittest.cc',
'voe_codec_unittest.cc',
'voe_network_unittest.cc',
'voice_engine_fixture.cc',
'voice_engine_fixture.h',
],
'conditions': [
['OS=="android"', {
'dependencies': [
'<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
],
}],
],
},
{
# command line test that should work on linux/mac/win
'target_name': 'voe_cmd_test',
'type': 'executable',
'dependencies': [
'voice_engine',
'<(DEPTH)/testing/gtest.gyp:gtest',
'<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
'<(webrtc_root)/test/test.gyp:channel_transport',
'<(webrtc_root)/test/test.gyp:test_support',
'<(webrtc_root)/webrtc.gyp:rtc_event_log',
],
'sources': [
'test/cmd_test/voe_cmd_test.cc',
],
},
], # targets
'conditions': [
['OS!="ios"', {
'targets': [
{
'target_name': 'voe_auto_test',
'type': 'executable',
'dependencies': [
'voice_engine',
'<(DEPTH)/testing/gmock.gyp:gmock',
'<(DEPTH)/testing/gtest.gyp:gtest',
'<(DEPTH)/third_party/gflags/gflags.gyp:gflags',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers_default',
'<(webrtc_root)/test/test.gyp:channel_transport',
'<(webrtc_root)/test/test.gyp:test_common',
'<(webrtc_root)/test/test.gyp:test_support',
'<(webrtc_root)/webrtc.gyp:rtc_event_log',
],
'sources': [
'test/auto_test/automated_mode.cc',
'test/auto_test/extended/agc_config_test.cc',
'test/auto_test/extended/ec_metrics_test.cc',
'test/auto_test/fakes/conference_transport.cc',
'test/auto_test/fakes/conference_transport.h',
'test/auto_test/fakes/loudest_filter.cc',
'test/auto_test/fakes/loudest_filter.h',
'test/auto_test/fixtures/after_initialization_fixture.cc',
'test/auto_test/fixtures/after_initialization_fixture.h',
'test/auto_test/fixtures/after_streaming_fixture.cc',
'test/auto_test/fixtures/after_streaming_fixture.h',
'test/auto_test/fixtures/before_initialization_fixture.cc',
'test/auto_test/fixtures/before_initialization_fixture.h',
'test/auto_test/fixtures/before_streaming_fixture.cc',
'test/auto_test/fixtures/before_streaming_fixture.h',
'test/auto_test/standard/audio_processing_test.cc',
'test/auto_test/standard/codec_before_streaming_test.cc',
'test/auto_test/standard/codec_test.cc',
'test/auto_test/standard/dtmf_test.cc',
'test/auto_test/standard/external_media_test.cc',
'test/auto_test/standard/file_before_streaming_test.cc',
'test/auto_test/standard/file_test.cc',
'test/auto_test/standard/hardware_before_initializing_test.cc',
'test/auto_test/standard/hardware_before_streaming_test.cc',
'test/auto_test/standard/hardware_test.cc',
'test/auto_test/standard/mixing_test.cc',
'test/auto_test/standard/neteq_stats_test.cc',
'test/auto_test/standard/rtp_rtcp_before_streaming_test.cc',
'test/auto_test/standard/rtp_rtcp_extensions.cc',
'test/auto_test/standard/rtp_rtcp_test.cc',
'test/auto_test/standard/voe_base_misc_test.cc',
'test/auto_test/standard/video_sync_test.cc',
'test/auto_test/standard/volume_test.cc',
'test/auto_test/resource_manager.cc',
'test/auto_test/voe_conference_test.cc',
'test/auto_test/voe_cpu_test.cc',
'test/auto_test/voe_cpu_test.h',
'test/auto_test/voe_output_test.cc',
'test/auto_test/voe_standard_test.cc',
'test/auto_test/voe_standard_test.h',
'test/auto_test/voe_stress_test.cc',
'test/auto_test/voe_stress_test.h',
'test/auto_test/voe_test_defines.h',
'test/auto_test/voe_test_interface.h',
],
'conditions': [
['OS=="android"', {
# some tests are not supported on android yet, exclude these tests.
'sources!': [
'test/auto_test/standard/hardware_before_streaming_test.cc',
],
}],
['enable_protobuf==1', {
'defines': [
'ENABLE_RTC_EVENT_LOG',
],
}],
],
# Disable warnings to enable Win64 build, issue 1323.
'msvs_disabled_warnings': [
4267, # size_t to int truncation.
],
},
],
}],
['OS=="android"', {
'targets': [
{
'target_name': 'voice_engine_unittests_apk_target',
'type': 'none',
'dependencies': [
'<(android_tests_path):voice_engine_unittests_apk',
],
},
],
'conditions': [
['test_isolation_mode != "noop"',
{
'targets': [
{
'target_name': 'voice_engine_unittests_apk_run',
'type': 'none',
'dependencies': [
'<(android_tests_path):voice_engine_unittests_apk',
],
'includes': [
'../build/isolate.gypi',
],
'sources': [
'voice_engine_unittests_apk.isolate',
],
},
],
},
],
],
}],
['test_isolation_mode != "noop"', {
'targets': [
{
'target_name': 'voice_engine_unittests_run',
'type': 'none',
'dependencies': [
'voice_engine_unittests',
],
'includes': [
'../build/isolate.gypi',
],
'sources': [
'voice_engine_unittests.isolate',
],
},
{
'target_name': 'voe_auto_test_run',
'type': 'none',
'dependencies': [
'voe_auto_test',
],
'includes': [
'../build/isolate.gypi',
],
'sources': [
'voe_auto_test.isolate',
],
},
],
}],
], # conditions
}], # include_tests==1
], # conditions
}