At least, clang 3.4, on Arch Linux
Otherwise it errors with __float128 errors, and there's also a "register keyword is deprecated" error fix in there too
Fix compilation with clang
Out of curiosity, does using libc++/libstdc++ make a difference?
(Without my patch)
Using -stdlib=libc++ instead of the STRICT_ANSI changes, the __float128 error seems to be removed, but the register error (which required the -Wno-deprecated-register addition) still happens
This breaks compilation on ubuntu precise with gcc:
clementine/3rdparty/chromaprint/src/avresample/resample2.c:115:17: error: ‘M_PI’ undeclared (first use in this function)
I can't reproduce this
Nor can do I have the necessary libraries to need to compile chromaprint - which do i need?
Also, M_PI was dropped in C99 - i'm reasonably certain i haven't changed the standards of the C files
That said, i did have trouble with isfinite, so i've amended (locally) a -std setting for moodbar
To build 3rdparty/chromaprint you actually need to not have libchromaprint installed - it's only compiled if the system library isn't found.
FWIW, I get the same error:
3rdparty/chromaprint/src/avresample/resample2.c:115:17: error: ‘M_PI’ undeclared (first use in this function)
My 20 cents:
I found a workaround on LLVM bugtrack, then created a patch and applied into the CMakelists.txt in the root of the source code. Using Clang 3.5.0 and Clementine 1.3.1 and working.