diff --git a/Telegram/ThirdParty/libtgvoip/CMakeLists.txt b/Telegram/ThirdParty/libtgvoip/CMakeLists.txt new file mode 100644 index 000000000..4a9d2af7c --- /dev/null +++ b/Telegram/ThirdParty/libtgvoip/CMakeLists.txt @@ -0,0 +1,131 @@ +project(libtgvoip) + +add_library(tgvoip STATIC + BlockingQueue.cpp + BufferInputStream.cpp + BufferOutputStream.cpp + BufferPool.cpp + CongestionControl.cpp + EchoCanceller.cpp + JitterBuffer.cpp + logging.cpp + MediaStreamItf.cpp + NetworkSocket.cpp + OpusDecoder.cpp + OpusEncoder.cpp + VoIPController.cpp + VoIPServerConfig.cpp + + audio/AudioInput.cpp + audio/AudioOutput.cpp + audio/Resampler.cpp + + webrtc_dsp/webrtc/base/checks.cc + webrtc_dsp/webrtc/base/stringutils.cc + webrtc_dsp/webrtc/common_audio/audio_util.cc + webrtc_dsp/webrtc/common_audio/channel_buffer.cc + webrtc_dsp/webrtc/common_audio/fft4g.c + webrtc_dsp/webrtc/common_audio/ring_buffer.c + webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.c + webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.c + webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.c + webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.c + webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.c + webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.c + webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.c + webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.c + webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.c + webrtc_dsp/webrtc/common_audio/signal_processing/energy.c + webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.c + webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.c + webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.c + webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.c + webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.c + webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.c + webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.c + webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.c + webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.c + webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.c + webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.c + webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.c + webrtc_dsp/webrtc/common_audio/signal_processing/resample.c + webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.c + webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.c + webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.c + webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.c + webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c + webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.c + webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.c + webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.c + webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.c + webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c + webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.c + webrtc_dsp/webrtc/common_audio/sparse_fir_filter.cc + webrtc_dsp/webrtc/common_audio/wav_file.cc + webrtc_dsp/webrtc/common_audio/wav_header.cc + webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.cc + webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.cc + webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.cc + webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.cc + webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.cc + webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.cc + webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc + webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.c + webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.c + webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.cc + webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.c + webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.c + webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.c + webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.c + webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.c + webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.cc + webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.cc + webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.cc + webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.cc + webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc + webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.cc + webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc + webrtc_dsp/webrtc/system_wrappers/source/cpu_features.cc +) +if (WIN32) + target_compile_definitions(tgvoip PRIVATE -DNOMINMAX -D_USING_V110_SDK71_ -DTGVOIP_WINXP_COMPAT) + target_sources(tgvoip PRIVATE + os/windows/NetworkSocketWinsock.cpp + os/windows/AudioInputWave.cpp + os/windows/AudioOutputWave.cpp + os/windows/AudioOutputWASAPI.cpp + os/windows/AudioInputWASAPI.cpp + ) +endif() + +if (APPLE) + target_compile_definitions(tgvoip PRIVATE -DWEBRTC_MAC -DTARGET_OS_OSX) + target_sources(tgvoip PRIVATE + os/darwin/AudioInputAudioUnit.cpp + os/darwin/AudioOutputAudioUnit.cpp + os/darwin/AudioInputAudioUnitOSX.cpp + os/darwin/AudioOutputAudioUnitOSX.cpp + os/darwin/AudioUnitIO.cpp + os/darwin/DarwinSpecific.mm + ) +endif() + +if (LINUX) + target_sources(tgvoip PRIVATE + os/linux/AudioInputALSA.cpp + os/linux/AudioOutputALSA.cpp + os/linux/AudioOutputPulse.cpp + os/linux/AudioInputPulse.cpp + os/linux/PulseAudioLoader.cpp + ) +endif() + +if (NOT WIN32) # POSIX + target_compile_definitions(tgvoip PRIVATE -DWEBRTC_POSIX) + target_sources(tgvoip PRIVATE + os/posix/NetworkSocketPosix.cpp + ) +endif() + +target_compile_definitions(tgvoip PRIVATE -DWEBRTC_APM_DEBUG_DUMP=0 -DTGVOIP_USE_DESKTOP_DSP) +target_include_directories(tgvoip PRIVATE webrtc_dsp ${OPUS_INCLUDE_DIR}) diff --git a/Telegram/ThirdParty/libtgvoip/libtgvoip.gyp b/Telegram/ThirdParty/libtgvoip/libtgvoip.gyp index 863984837..cc14f9441 100644 --- a/Telegram/ThirdParty/libtgvoip/libtgvoip.gyp +++ b/Telegram/ThirdParty/libtgvoip/libtgvoip.gyp @@ -1,398 +1,104 @@ -# GYP project file for TDesktop - -{ - 'targets': [ - { - 'target_name': 'libtgvoip', - 'type': 'static_library', - 'dependencies': [], - 'defines': [ - 'WEBRTC_APM_DEBUG_DUMP=0', - 'TGVOIP_USE_DESKTOP_DSP', - ], - 'variables': { - 'tgvoip_src_loc': '.', - 'official_build_target%': '', - 'linux_path_opus_include%': '<(DEPTH)/../../../Libraries/opus/include', +[ + '"<(OS)" == "mac"', { + 'xcode_settings': { + 'CLANG_CXX_LANGUAGE_STANDARD': 'c++1z', + }, + 'conditions': [ + [ '"<(official_build_target)" == "mac32"', { + 'xcode_settings': { + 'MACOSX_DEPLOYMENT_TARGET': '10.6', + 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ], }, 'include_dirs': [ - '<(tgvoip_src_loc)/webrtc_dsp', - '<(linux_path_opus_include)', + '/usr/local/macold/include/c++/v1', + '<(DEPTH)/../../../Libraries/macold/openssl/include', ], - 'direct_dependent_settings': { - 'include_dirs': [ - '<(tgvoip_src_loc)', - ], + }, { + 'xcode_settings': { + 'MACOSX_DEPLOYMENT_TARGET': '10.8', + 'CLANG_CXX_LIBRARY': 'libc++', }, - 'export_dependent_settings': [], - 'sources': [ - '<(tgvoip_src_loc)/BlockingQueue.cpp', - '<(tgvoip_src_loc)/BlockingQueue.h', - '<(tgvoip_src_loc)/BufferInputStream.cpp', - '<(tgvoip_src_loc)/BufferInputStream.h', - '<(tgvoip_src_loc)/BufferOutputStream.cpp', - '<(tgvoip_src_loc)/BufferOutputStream.h', - '<(tgvoip_src_loc)/BufferPool.cpp', - '<(tgvoip_src_loc)/BufferPool.h', - '<(tgvoip_src_loc)/CongestionControl.cpp', - '<(tgvoip_src_loc)/CongestionControl.h', - '<(tgvoip_src_loc)/EchoCanceller.cpp', - '<(tgvoip_src_loc)/EchoCanceller.h', - '<(tgvoip_src_loc)/JitterBuffer.cpp', - '<(tgvoip_src_loc)/JitterBuffer.h', - '<(tgvoip_src_loc)/logging.cpp', - '<(tgvoip_src_loc)/logging.h', - '<(tgvoip_src_loc)/MediaStreamItf.cpp', - '<(tgvoip_src_loc)/MediaStreamItf.h', - '<(tgvoip_src_loc)/OpusDecoder.cpp', - '<(tgvoip_src_loc)/OpusDecoder.h', - '<(tgvoip_src_loc)/OpusEncoder.cpp', - '<(tgvoip_src_loc)/OpusEncoder.h', - '<(tgvoip_src_loc)/threading.h', - '<(tgvoip_src_loc)/VoIPController.cpp', - '<(tgvoip_src_loc)/VoIPController.h', - '<(tgvoip_src_loc)/VoIPServerConfig.cpp', - '<(tgvoip_src_loc)/VoIPServerConfig.h', - '<(tgvoip_src_loc)/audio/AudioInput.cpp', - '<(tgvoip_src_loc)/audio/AudioInput.h', - '<(tgvoip_src_loc)/audio/AudioOutput.cpp', - '<(tgvoip_src_loc)/audio/AudioOutput.h', - '<(tgvoip_src_loc)/audio/Resampler.cpp', - '<(tgvoip_src_loc)/audio/Resampler.h', - '<(tgvoip_src_loc)/NetworkSocket.cpp', - '<(tgvoip_src_loc)/NetworkSocket.h', - - # Windows - '<(tgvoip_src_loc)/os/windows/NetworkSocketWinsock.cpp', - '<(tgvoip_src_loc)/os/windows/NetworkSocketWinsock.h', - '<(tgvoip_src_loc)/os/windows/AudioInputWave.cpp', - '<(tgvoip_src_loc)/os/windows/AudioInputWave.h', - '<(tgvoip_src_loc)/os/windows/AudioOutputWave.cpp', - '<(tgvoip_src_loc)/os/windows/AudioOutputWave.h', - '<(tgvoip_src_loc)/os/windows/AudioOutputWASAPI.cpp', - '<(tgvoip_src_loc)/os/windows/AudioOutputWASAPI.h', - '<(tgvoip_src_loc)/os/windows/AudioInputWASAPI.cpp', - '<(tgvoip_src_loc)/os/windows/AudioInputWASAPI.h', - - # macOS - '<(tgvoip_src_loc)/os/darwin/AudioInputAudioUnit.cpp', - '<(tgvoip_src_loc)/os/darwin/AudioInputAudioUnit.h', - '<(tgvoip_src_loc)/os/darwin/AudioOutputAudioUnit.cpp', - '<(tgvoip_src_loc)/os/darwin/AudioOutputAudioUnit.h', - '<(tgvoip_src_loc)/os/darwin/AudioInputAudioUnitOSX.cpp', - '<(tgvoip_src_loc)/os/darwin/AudioInputAudioUnitOSX.h', - '<(tgvoip_src_loc)/os/darwin/AudioOutputAudioUnitOSX.cpp', - '<(tgvoip_src_loc)/os/darwin/AudioOutputAudioUnitOSX.h', - '<(tgvoip_src_loc)/os/darwin/AudioUnitIO.cpp', - '<(tgvoip_src_loc)/os/darwin/AudioUnitIO.h', - '<(tgvoip_src_loc)/os/darwin/DarwinSpecific.mm', - '<(tgvoip_src_loc)/os/darwin/DarwinSpecific.h', - - # Linux - '<(tgvoip_src_loc)/os/linux/AudioInputALSA.cpp', - '<(tgvoip_src_loc)/os/linux/AudioInputALSA.h', - '<(tgvoip_src_loc)/os/linux/AudioOutputALSA.cpp', - '<(tgvoip_src_loc)/os/linux/AudioOutputALSA.h', - '<(tgvoip_src_loc)/os/linux/AudioOutputPulse.cpp', - '<(tgvoip_src_loc)/os/linux/AudioOutputPulse.h', - '<(tgvoip_src_loc)/os/linux/AudioInputPulse.cpp', - '<(tgvoip_src_loc)/os/linux/AudioInputPulse.h', - '<(tgvoip_src_loc)/os/linux/PulseAudioLoader.cpp', - '<(tgvoip_src_loc)/os/linux/PulseAudioLoader.h', - - # POSIX - '<(tgvoip_src_loc)/os/posix/NetworkSocketPosix.cpp', - '<(tgvoip_src_loc)/os/posix/NetworkSocketPosix.h', - - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/array_view.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/atomicops.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/basictypes.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/checks.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/checks.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/constructormagic.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/safe_compare.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/safe_conversions.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/safe_conversions_impl.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/sanitizer.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/stringutils.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/stringutils.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/type_traits.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/audio_util.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/channel_buffer.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/channel_buffer.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/fft4g.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/fft4g.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/include/audio_util.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/ring_buffer.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/ring_buffer.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.c', -# 'webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse_arm.S', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft_tables.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.c', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation_neon.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.c', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast_neon.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/energy.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.c', -# 'webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12_armv7.S', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/real_fft.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/signal_processing_library.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl.h', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_armv7.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_mips.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.c', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations_neon.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.c', - #'webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor_arm.S', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/sparse_fir_filter.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/sparse_fir_filter.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/wav_file.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/wav_file.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/wav_header.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/wav_header.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_common.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.h', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_neon.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_optimized_methods.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.cc', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_neon.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_defines.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/gain_control.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/defines.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.c', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_neon.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_defines.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/windows_private.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_internal.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.h', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_neon.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_common.h', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/include/asm_defines.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/include/compile_assert_c.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/include/cpu_features_wrapper.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/include/metrics.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/source/cpu_features.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/typedefs.h', - + 'include_dirs': [ + '<(DEPTH)/../../../Libraries/openssl/include', ], - 'libraries': [], - 'configurations': { - 'Debug': {}, - 'Release': {}, - }, - 'conditions': [ - [ - '"<(OS)" != "win"', { - 'sources/': [['exclude', '<(tgvoip_src_loc)/os/windows/']], - }, { - 'sources/': [['exclude', '<(tgvoip_src_loc)/os/posix/']], - }, - ], - [ - '"<(OS)" != "mac"', { - 'sources/': [['exclude', '<(tgvoip_src_loc)/os/darwin/']], - }, - ], - [ - '"<(OS)" != "linux"', { - 'sources/': [['exclude', '<(tgvoip_src_loc)/os/linux/']], - }, - ], - [ - '"<(OS)" == "mac"', { - 'xcode_settings': { - 'CLANG_CXX_LANGUAGE_STANDARD': 'c++1z', - }, - 'defines': [ - 'WEBRTC_POSIX', - 'WEBRTC_MAC', - 'TARGET_OS_OSX', - ], - 'conditions': [ - [ '"<(official_build_target)" == "mac32"', { - 'xcode_settings': { - 'MACOSX_DEPLOYMENT_TARGET': '10.6', - 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ], - }, - 'include_dirs': [ - '/usr/local/macold/include/c++/v1', - '<(DEPTH)/../../../Libraries/macold/openssl/include', - ], - }, { - 'xcode_settings': { - 'MACOSX_DEPLOYMENT_TARGET': '10.8', - 'CLANG_CXX_LIBRARY': 'libc++', - }, - 'include_dirs': [ - '<(DEPTH)/../../../Libraries/openssl/include', - ], - }] - ] - }, - ], - [ - '"<(OS)" == "win"', { - 'msbuild_toolset': 'v141', - 'defines': [ - 'NOMINMAX', - '_USING_V110_SDK71_', - 'TGVOIP_WINXP_COMPAT' - ], - 'libraries': [ - 'winmm', - 'ws2_32', - 'kernel32', - 'user32', - ], - 'msvs_cygwin_shell': 0, - 'msvs_settings': { - 'VCCLCompilerTool': { - 'ProgramDataBaseFileName': '$(OutDir)\\$(ProjectName).pdb', - 'DebugInformationFormat': '3', # Program Database (/Zi) - 'AdditionalOptions': [ - '/MP', # Enable multi process build. - '/EHsc', # Catch C++ exceptions only, extern C functions never throw a C++ exception. - '/wd4068', # Disable "warning C4068: unknown pragma" - ], - 'TreatWChar_tAsBuiltInType': 'false', - }, - }, - 'msvs_external_builder_build_cmd': [ - 'ninja.exe', - '-C', - '$(OutDir)', - '-k0', - '$(ProjectName)', - ], - 'configurations': { - 'Debug': { - 'defines': [ - '_DEBUG', - ], - 'include_dirs': [ - '<(DEPTH)/../../../Libraries/openssl/Debug/include', - ], - 'msvs_settings': { - 'VCCLCompilerTool': { - 'Optimization': '0', # Disabled (/Od) - 'RuntimeLibrary': '1', # Multi-threaded Debug (/MTd) - 'RuntimeTypeInfo': 'true', - }, - 'VCLibrarianTool': { - 'AdditionalOptions': [ - '/NODEFAULTLIB:LIBCMT' - ] - } - }, - }, - 'Release': { - 'defines': [ - 'NDEBUG', - ], - 'include_dirs': [ - '<(DEPTH)/../../../Libraries/openssl/Release/include', - ], - 'msvs_settings': { - 'VCCLCompilerTool': { - 'Optimization': '2', # Maximize Speed (/O2) - 'InlineFunctionExpansion': '2', # Any suitable (/Ob2) - 'EnableIntrinsicFunctions': 'true', # Yes (/Oi) - 'FavorSizeOrSpeed': '1', # Favor fast code (/Ot) - 'RuntimeLibrary': '0', # Multi-threaded (/MT) - 'EnableEnhancedInstructionSet': '2', # Streaming SIMD Extensions 2 (/arch:SSE2) - 'WholeProgramOptimization': 'true', # /GL - }, - 'VCLibrarianTool': { - 'AdditionalOptions': [ - '/LTCG', - ] - }, - }, - }, - }, - }, - ], - [ - '"<(OS)" == "linux"', { - 'defines': [ - 'WEBRTC_POSIX', - ], - 'cflags_cc': [ - '-msse2', - ], - 'direct_dependent_settings': { - 'libraries': [ - - ], - }, - }, - ], - ], - }, + }] + ] + }, +], +[ + '"<(OS)" == "win"', { + 'msbuild_toolset': 'v141', + 'libraries': [ + 'winmm', + 'ws2_32', + 'kernel32', + 'user32', ], - } + 'msvs_cygwin_shell': 0, + 'msvs_settings': { + 'VCCLCompilerTool': { + 'ProgramDataBaseFileName': '$(OutDir)\\$(ProjectName).pdb', + 'DebugInformationFormat': '3', # Program Database (/Zi) + 'AdditionalOptions': [ + '/MP', # Enable multi process build. + '/EHsc', # Catch C++ exceptions only, extern C functions never throw a C++ exception. + '/wd4068', # Disable "warning C4068: unknown pragma" + ], + 'TreatWChar_tAsBuiltInType': 'false', + }, + }, + 'msvs_external_builder_build_cmd': [ + 'ninja.exe', + '-C', + '$(OutDir)', + '-k0', + '$(ProjectName)', + ], + 'configurations': { + 'Debug': { + 'defines': [ + '_DEBUG', + ], + 'include_dirs': [ + '<(DEPTH)/../../../Libraries/openssl/Debug/include', + ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'Optimization': '0', # Disabled (/Od) + 'RuntimeLibrary': '1', # Multi-threaded Debug (/MTd) + 'RuntimeTypeInfo': 'true', + }, + 'VCLibrarianTool': { + 'AdditionalOptions': [ + '/NODEFAULTLIB:LIBCMT' + ] + } + }, + }, + 'Release': { + 'defines': [ + 'NDEBUG', + ], + 'include_dirs': [ + '<(DEPTH)/../../../Libraries/openssl/Release/include', + ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'Optimization': '2', # Maximize Speed (/O2) + 'InlineFunctionExpansion': '2', # Any suitable (/Ob2) + 'EnableIntrinsicFunctions': 'true', # Yes (/Oi) + 'FavorSizeOrSpeed': '1', # Favor fast code (/Ot) + 'RuntimeLibrary': '0', # Multi-threaded (/MT) + 'EnableEnhancedInstructionSet': '2', # Streaming SIMD Extensions 2 (/arch:SSE2) + 'WholeProgramOptimization': 'true', # /GL + }, + 'VCLibrarianTool': { + 'AdditionalOptions': [ + '/LTCG', + ] + }, + }, + }, + }, + }, +],