without changing anything at all, doing a git pull and rebuild causes a build failure:
In file included from ../../../modules/juce_audio_basics/juce_audio_basics.cpp:49:0:
/usr/lib/gcc/i686-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
In file included from ../../../modules/juce_audio_basics/juce_audio_basics.cpp:63:0:
../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp: In function 'void juce::FloatVectorHelpers::mmEmpty()':
../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp:49:19: error: '_mm_empty' was not declared in this scope
(then lots of errors related to this follow)
I understand that building with SSE2 might be desirable, but we should still be allowed to build Juce without it.
I guess this will likely fail on debug builds too.
The compiled code will run on machines without SSE2, but I honestly wouldn’t expect anyone to be building it on a CPU that doesn’t support SSE2! Is that what you’re doing?
Well, if you’re building on some kind of ancient Pentium machine, maybe you need to enable some compiler flags to explicitly force it to handle SSE instructions. Any version of gcc less than 10 years old should be able to do that if you set it up correctly, but it’s not something that can be done in the code itself, you’d need to sort out your build environment.