juce-framework / JUCE

JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
https://juce.com
Other
6.31k stars 1.67k forks source link

Fix architecture detection on ppc64le #1344

Open taylordotfish opened 5 months ago

taylordotfish commented 5 months ago

juce_runtime_arch_detection.cpp currently identifies ppc64le as ppc64, which causes JUCE to use the directory name ppc64-linux for VST 3 plugin contents. However, VST 3 specifies that uname -m should be used as the first component of the directory name, which on 64-bit little-endian PowerPC is ppc64le.

Currently, this causes problems when building VST 3 plugins on this platform, as the VST 3 SDK expects the module directory to be named ppc64le-linux.

This PR adds an additional endianness check when 64-bit PowerPC is detected, outputting ppc64 or ppc64le as appropriate.