lzma: update to version 24.09
That's an old branch sitting on my computer, updating the very old LZMA shipped with crunch with the last one from upstream.
What annoys me is that Crunch is a C++ library but it shipped with the C LZMA library, adding custom wrapping code to make it compilable with a C++ compiler. I don't want to have to replay such change on every LZMA update, so I included it as a C library, meaning I had to make Crunch not only a C++ project but a C++ & C project, meaning selecting a different compiler requires to select both the C++ and C compiler…
An alternative would be to move to the C++ LZMA library but then that requires to port the code to the C++ LZMA API I guess… and I'm lazy. All I want is to make sure we use latest versions of libraries and don't sit on very old dependencies with potential unfixed decades-old issues.
New versions of LZMA are distributed as 7z archives here:
- https://www.7-zip.org/sdk.html
If someones wants to investigate the C++ library, it can be found in the CPP/ folder of the LZMA source archive.