
This should solve a problem discovered when converting from GYP to other project formats, where the source files weren't included correctly for each platform. Two other targets in WebRTC have similar source files, which are correctly generated for each platform: * video_render_module_internal_impl * video_capture_module_internal_impl They both list the sources as it's changed to in this CL. NOTRY=True Review URL: https://codereview.webrtc.org/1536923003 Cr-Commit-Position: refs/heads/master@{#11083}
275 lines
9.2 KiB
Python
275 lines
9.2 KiB
Python
# Copyright (c) 2012 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.
|
|
|
|
{
|
|
'targets': [
|
|
{
|
|
'target_name': 'audio_device',
|
|
'type': 'static_library',
|
|
'dependencies': [
|
|
'webrtc_utility',
|
|
'<(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)/system_wrappers/system_wrappers.gyp:system_wrappers',
|
|
],
|
|
'include_dirs': [
|
|
'.',
|
|
'../include',
|
|
'include',
|
|
'dummy', # Contains dummy audio device implementations.
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'../include',
|
|
'include',
|
|
],
|
|
},
|
|
# TODO(xians): Rename files to e.g. *_linux.{ext}, remove sources in conditions section
|
|
'sources': [
|
|
'include/audio_device.h',
|
|
'include/audio_device_defines.h',
|
|
'audio_device_buffer.cc',
|
|
'audio_device_buffer.h',
|
|
'audio_device_generic.cc',
|
|
'audio_device_generic.h',
|
|
'audio_device_config.h',
|
|
'dummy/audio_device_dummy.cc',
|
|
'dummy/audio_device_dummy.h',
|
|
'dummy/file_audio_device.cc',
|
|
'dummy/file_audio_device.h',
|
|
'fine_audio_buffer.cc',
|
|
'fine_audio_buffer.h',
|
|
],
|
|
'conditions': [
|
|
['OS=="linux"', {
|
|
'include_dirs': [
|
|
'linux',
|
|
],
|
|
}], # OS==linux
|
|
['OS=="ios"', {
|
|
'include_dirs': [
|
|
'ios',
|
|
],
|
|
}], # OS==ios
|
|
['OS=="mac"', {
|
|
'include_dirs': [
|
|
'mac',
|
|
],
|
|
}], # OS==mac
|
|
['OS=="win"', {
|
|
'include_dirs': [
|
|
'win',
|
|
],
|
|
}],
|
|
['OS=="android"', {
|
|
'include_dirs': [
|
|
'android',
|
|
],
|
|
}], # OS==android
|
|
['include_internal_audio_device==0', {
|
|
'defines': [
|
|
'WEBRTC_DUMMY_AUDIO_BUILD',
|
|
],
|
|
}],
|
|
['build_with_chromium==0', {
|
|
'sources': [
|
|
# Don't link these into Chrome since they contain static data.
|
|
'dummy/file_audio_device_factory.cc',
|
|
'dummy/file_audio_device_factory.h',
|
|
],
|
|
}],
|
|
['include_internal_audio_device==1', {
|
|
'sources': [
|
|
'audio_device_impl.cc',
|
|
'audio_device_impl.h',
|
|
],
|
|
'conditions': [
|
|
['OS=="android"', {
|
|
'sources': [
|
|
'android/audio_device_template.h',
|
|
'android/audio_manager.cc',
|
|
'android/audio_manager.h',
|
|
'android/audio_record_jni.cc',
|
|
'android/audio_record_jni.h',
|
|
'android/audio_track_jni.cc',
|
|
'android/audio_track_jni.h',
|
|
'android/build_info.cc',
|
|
'android/build_info.h',
|
|
'android/opensles_common.cc',
|
|
'android/opensles_common.h',
|
|
'android/opensles_player.cc',
|
|
'android/opensles_player.h',
|
|
],
|
|
'link_settings': {
|
|
'libraries': [
|
|
'-llog',
|
|
'-lOpenSLES',
|
|
],
|
|
},
|
|
}],
|
|
['OS=="linux"', {
|
|
'sources': [
|
|
'linux/alsasymboltable_linux.cc',
|
|
'linux/alsasymboltable_linux.h',
|
|
'linux/audio_device_alsa_linux.cc',
|
|
'linux/audio_device_alsa_linux.h',
|
|
'linux/audio_mixer_manager_alsa_linux.cc',
|
|
'linux/audio_mixer_manager_alsa_linux.h',
|
|
'linux/latebindingsymboltable_linux.cc',
|
|
'linux/latebindingsymboltable_linux.h',
|
|
],
|
|
'defines': [
|
|
'LINUX_ALSA',
|
|
],
|
|
'link_settings': {
|
|
'libraries': [
|
|
'-ldl','-lX11',
|
|
],
|
|
},
|
|
'conditions': [
|
|
['include_pulse_audio==1', {
|
|
'defines': [
|
|
'LINUX_PULSE',
|
|
],
|
|
'sources': [
|
|
'linux/audio_device_pulse_linux.cc',
|
|
'linux/audio_device_pulse_linux.h',
|
|
'linux/audio_mixer_manager_pulse_linux.cc',
|
|
'linux/audio_mixer_manager_pulse_linux.h',
|
|
'linux/pulseaudiosymboltable_linux.cc',
|
|
'linux/pulseaudiosymboltable_linux.h',
|
|
],
|
|
}],
|
|
],
|
|
}],
|
|
['OS=="mac"', {
|
|
'sources': [
|
|
'mac/audio_device_mac.cc',
|
|
'mac/audio_device_mac.h',
|
|
'mac/audio_mixer_manager_mac.cc',
|
|
'mac/audio_mixer_manager_mac.h',
|
|
'mac/portaudio/pa_memorybarrier.h',
|
|
'mac/portaudio/pa_ringbuffer.c',
|
|
'mac/portaudio/pa_ringbuffer.h',
|
|
],
|
|
'link_settings': {
|
|
'libraries': [
|
|
'$(SDKROOT)/System/Library/Frameworks/AudioToolbox.framework',
|
|
'$(SDKROOT)/System/Library/Frameworks/CoreAudio.framework',
|
|
],
|
|
},
|
|
}],
|
|
['OS=="ios"', {
|
|
'sources': [
|
|
'ios/audio_device_ios.h',
|
|
'ios/audio_device_ios.mm',
|
|
'ios/audio_device_not_implemented_ios.mm',
|
|
],
|
|
'xcode_settings': {
|
|
'CLANG_ENABLE_OBJC_ARC': 'YES',
|
|
},
|
|
'link_settings': {
|
|
'xcode_settings': {
|
|
'OTHER_LDFLAGS': [
|
|
'-framework AudioToolbox',
|
|
'-framework AVFoundation',
|
|
'-framework Foundation',
|
|
'-framework UIKit',
|
|
],
|
|
},
|
|
},
|
|
}],
|
|
['OS=="win"', {
|
|
'sources': [
|
|
'win/audio_device_core_win.cc',
|
|
'win/audio_device_core_win.h',
|
|
'win/audio_device_wave_win.cc',
|
|
'win/audio_device_wave_win.h',
|
|
'win/audio_mixer_manager_win.cc',
|
|
'win/audio_mixer_manager_win.h',
|
|
],
|
|
'link_settings': {
|
|
'libraries': [
|
|
# Required for the built-in WASAPI AEC.
|
|
'-ldmoguids.lib',
|
|
'-lwmcodecdspuuid.lib',
|
|
'-lamstrmid.lib',
|
|
'-lmsdmo.lib',
|
|
],
|
|
},
|
|
}],
|
|
['OS=="win" and clang==1', {
|
|
'msvs_settings': {
|
|
'VCCLCompilerTool': {
|
|
'AdditionalOptions': [
|
|
# Disable warnings failing when compiling with Clang on Windows.
|
|
# https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
|
|
'-Wno-bool-conversion',
|
|
'-Wno-delete-non-virtual-dtor',
|
|
'-Wno-logical-op-parentheses',
|
|
'-Wno-microsoft-extra-qualification',
|
|
'-Wno-microsoft-goto',
|
|
'-Wno-missing-braces',
|
|
'-Wno-parentheses-equality',
|
|
'-Wno-reorder',
|
|
'-Wno-shift-overflow',
|
|
'-Wno-tautological-compare',
|
|
'-Wno-unused-private-field',
|
|
],
|
|
},
|
|
},
|
|
}],
|
|
], # conditions
|
|
}], # include_internal_audio_device==1
|
|
], # conditions
|
|
},
|
|
],
|
|
'conditions': [
|
|
# Does not compile on iOS: webrtc:4755.
|
|
['include_tests==1 and OS!="ios"', {
|
|
'targets': [
|
|
{
|
|
'target_name': 'audio_device_tests',
|
|
'type': 'executable',
|
|
'dependencies': [
|
|
'audio_device',
|
|
'webrtc_utility',
|
|
'<(webrtc_root)/test/test.gyp:test_support_main',
|
|
'<(DEPTH)/testing/gtest.gyp:gtest',
|
|
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
|
|
],
|
|
'sources': [
|
|
'test/audio_device_test_api.cc',
|
|
'test/audio_device_test_defines.h',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'audio_device_test_func',
|
|
'type': 'executable',
|
|
'dependencies': [
|
|
'audio_device',
|
|
'webrtc_utility',
|
|
'<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
|
|
'<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
|
|
'<(webrtc_root)/test/test.gyp:test_support',
|
|
'<(DEPTH)/testing/gtest.gyp:gtest',
|
|
],
|
|
'sources': [
|
|
'test/audio_device_test_func.cc',
|
|
'test/audio_device_test_defines.h',
|
|
'test/func_test_manager.cc',
|
|
'test/func_test_manager.h',
|
|
],
|
|
},
|
|
], # targets
|
|
}], # include_tests==1 and OS!=ios
|
|
],
|
|
}
|
|
|