Spirit MP3 decoder not usable if your project uses hardware floats
I am working on a simple mp3 player project and have spent a few days on the Spirit library, as offered by ST.
This comes in a binary (.a) form only lib_mp3decoder_cortex_m4_v2.2.0.a and has apparently been built for soft floats, using some weird mode where they drive the FPU directly - the "VFP reggister arguments" thing. My project uses the FPU for a lot of stuff, and since you apparently cannot mix these floating modes at link time, I get these errors

Searching online finds a 2021 reply from ST on same topic, where ST say the Spirit company no longer exists so they can't help. But the website is still there, so I emailed them. I got a reply, surprisingly:
They don't support users, so I need to contact ST, to which I replied that I am not a car manufacturer, and I am happy to give them some money for a cortex-m4 lib which is actually usable :)
Lots of people have been around this. I have a hardware float compiler setting but this mp3 lib uses something different. One poster suggests "The error message indicates that at least part of your system is using soft-float ABI."
Claude suggests a compatibility mode, for the whole project, whereby float parameters are passed as integers, which "may" be compatible. Problem is, I use hard floats in lots of places, including a custom-rebuilt libc.a stdlib library which I spent months on, all extensively tested...
I tried to compile my .c file (the one which calls this lib) with soft floats, via some compiler command line spec. but this does not work. On the command line (GCC) I see -mfpu=fpv4-sp-d16 -mfloat-abi=hard and this is even if I put -mfloat-abi=softfp in the .c file properties / compiler flags. Someone did say this lib does weird float stuff. The doc says nothing about it.
Have there been any developments on this? It is silly to offer such a library for "cortex-m4" where most people will be looking to use hardware floats.
I also need the doc of the structure TSpiritMP3Decoder. It is carefully missing from all your documentation, which seems to be for some "demo" version of the Spirit lib.
These are my MCU settings

