From f7d55dccfb4e38abfcfed51a399eecf7fa59e55b Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Fri, 18 Sep 2020 16:41:34 +0900 Subject: Use x86-specific source files only for x86 target Previously, we used x86-specific source files (those for sse2) regardless of the target because x86 was the only supported host target. This becomes a problem as we add the support for the new ARM64 host target - linux_bionic_arm64. Now, those source files are built only when the target architecture is x86. Bug: 159685774 Test: HOST_CROSS_OS=linux_bionic HOST_CROSS_ARCH=arm64 m \ out/soong/host/linux_bionic-arm64/bin/webRTC Change-Id: Id13d66ccd5ae6f8596ce32d4ccb2735856d2159a --- Android.bp | 64 ++++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 50 insertions(+), 14 deletions(-) diff --git a/Android.bp b/Android.bp index 14d638b8af..825e183471 100644 --- a/Android.bp +++ b/Android.bp @@ -184,10 +184,16 @@ cc_library_static { defaults: ["webrtc_defaults"], srcs: [ "common_audio/third_party/ooura/fft_size_128/ooura_fft.cc", - "common_audio/third_party/ooura/fft_size_128/ooura_fft_sse2.cc", ], + arch: { + x86_64: { + srcs: [ + "common_audio/third_party/ooura/fft_size_128/ooura_fft_sse2.cc", + ], + cflags: ["-msse2"], + }, + }, host_supported: true, - cflags: ["-msse2"], } cc_library_static { @@ -1504,8 +1510,14 @@ cc_library_static { "webrtc_rtc_base__rtc_base_approved", "webrtc_system_wrappers__system_wrappers", "webrtc_common_audio__common_audio_c", - "webrtc_common_audio__common_audio_sse2", ], + arch: { + x86_64: { + static_libs: [ + "webrtc_common_audio__common_audio_sse2", + ], + }, + }, } cc_library_static { @@ -1890,8 +1902,14 @@ cc_library_static { static_libs: [ "webrtc_rtc_base__checks", "webrtc_rtc_base__rtc_base_approved", - "webrtc_common_audio__common_audio_sse2", ], + arch: { + x86_64: { + static_libs: [ + "webrtc_common_audio__common_audio_sse2", + ], + }, + }, } cc_library_static { @@ -2815,15 +2833,21 @@ cc_library_static { "modules/audio_device/include/test_audio_device.cc", "modules/audio_device/audio_device_data_observer.cc", "modules/audio_device/audio_device_impl.cc", - "modules/audio_device/linux/alsasymboltable_linux.cc", - "modules/audio_device/linux/audio_device_alsa_linux.cc", - "modules/audio_device/linux/audio_mixer_manager_alsa_linux.cc", - "modules/audio_device/linux/latebindingsymboltable_linux.cc", - "modules/audio_device/linux/audio_device_pulse_linux.cc", - "modules/audio_device/linux/audio_mixer_manager_pulse_linux.cc", - "modules/audio_device/linux/pulseaudiosymboltable_linux.cc", "modules/audio_device/dummy/file_audio_device_factory.cc", ], + target: { + linux_glibc: { + srcs: [ + "modules/audio_device/linux/alsasymboltable_linux.cc", + "modules/audio_device/linux/audio_device_alsa_linux.cc", + "modules/audio_device/linux/audio_mixer_manager_alsa_linux.cc", + "modules/audio_device/linux/latebindingsymboltable_linux.cc", + "modules/audio_device/linux/audio_device_pulse_linux.cc", + "modules/audio_device/linux/audio_mixer_manager_pulse_linux.cc", + "modules/audio_device/linux/pulseaudiosymboltable_linux.cc", + ], + }, + }, host_supported: true, cflags: ["-DWEBRTC_DUMMY_FILE_DEVICES"], static_libs: [ @@ -2948,13 +2972,19 @@ cc_library_static { "webrtc_modules__module_api", "webrtc_rtc_base__rtc_base_approved", "webrtc_video__video_rtp_headers", - "webrtc_video_processing__video_processing_sse2", "webrtc_common_audio__common_audio", "webrtc_video__video_frame", "webrtc_utility__utility", "webrtc_video__video_frame_i420", "webrtc_common_video__common_video", ], + arch: { + x86_64: { + static_libs: [ + "webrtc_video_processing__video_processing_sse2", + ], + }, + }, } cc_library_static { @@ -5312,7 +5342,6 @@ cc_library_static { "webrtc_pacing__interval_budget", "webrtc_common_audio__common_audio_c", "webrtc_aecm__aecm_core", - "webrtc_video_processing__video_processing_sse2", "webrtc_agc2__gain_applier", "webrtc_task_utils__repeating_task", "webrtc_rtc_base__audio_format_to_string", @@ -5327,7 +5356,6 @@ cc_library_static { "webrtc_crypto__options", "webrtc_media__rtc_h264_profile_id", "webrtc_audio_coding__webrtc_cng", - "webrtc_common_audio__common_audio_sse2", "webrtc_logging__rtc_event_video", "webrtc_common_audio__common_audio", "webrtc_call__simulated_network", @@ -5479,6 +5507,14 @@ cc_library_static { "rnnoise_rnn_vad", "usrsctplib", ], + arch: { + x86_64: { + whole_static_libs: [ + "webrtc_video_processing__video_processing_sse2", + "webrtc_common_audio__common_audio_sse2", + ], + }, + }, srcs: [ ":webrtc_rtp__dependency_descriptor", ":webrtc_audio_processing__rms_level", -- cgit v1.2.3