Skip to content

[3.x backport] contrib: soxr: fix neon detection for aarch64 hosts

What we have : Given the cmake simd detection module check CMAKE_SYSTEM_PROCESSOR to match "arm" prefixed hosts
When DETECT_SIMD32_C_FLAGS test is performed by cmake for aarch64 Darwin hosts
The test fails and WITH_CR32S is defined to 0 in soxr-config.h

What is expected : Given the cmake simd detection module check CMAKE_SYSTEM_PROCESSOR to match "aarch64" hosts
When DETECT_SIMD32_C_FLAGS test is performed by cmake for aarch64 Darwin hosts
The test succeeds and WITH_CR32S is defined to 1 in soxr-config.h

When soxr is used on Darwin arm64 platforms (iOS, macOS on Apple Silicon), the expected resampler engine to be used is cr32s.
Without this patch, cr32 is used instead, because in soxr-config.h, WITH_CR32S is defined to 0. Considering we use "aarch64" for Darwin arm64 hosts in contribs, these changes are an attempt to fix this.

Backport of !3510 (merged)

Merge request reports