
I'm taking a page from Dolphin's book, and including copies of each dependency's source code. This combines the ease of use of including pre-built libraries instead of needing to navigate a package manager - as is (or was) the case for MSVC - with the portability of using packages. Granted, this method's more of a jack of all trades, master of none, since it's *less* user-friendly than prebuilt packages (compilation times), and you don't get the per-distro compatibility fixes you'd get from a package manager. You can still use system libs if you want. In fact, it's still the default behaviour: compiling the libs manually is just a fallback. I'll add an option to force-enable this soon, however, since it's a nicer way to produce static MSYS2 builds than the hackish nightmare that I was using before. Not to mention, having my own copy of the sources means I can provide my own fixes and tweaks your package manager may not. For example, I can combine MSYS2's FreeType subpixel rendering with vcpkg's fix for SDL2 exporting its symbols in static builds.
29 lines
1.2 KiB
Text
29 lines
1.2 KiB
Text
/*
|
|
TODO - list of things to do for libpng:
|
|
|
|
Final bug fixes.
|
|
Better C++ wrapper/full C++ implementation?
|
|
Fix problem with C++ and EXTERN "C".
|
|
cHRM transformation.
|
|
Remove setjmp/longjmp usage in favor of returning error codes.
|
|
Palette creation.
|
|
Add "grayscale->palette" transformation and "palette->grayscale" detection.
|
|
Improved dithering.
|
|
Multi-lingual error and warning message support.
|
|
Complete sRGB transformation (presently it simply uses gamma=0.45455).
|
|
Make profile checking optional via a png_set_something() call.
|
|
Man pages for function calls.
|
|
Better documentation.
|
|
Better filter selection
|
|
(counting huffman bits/precompression? filter inertia? filter costs?).
|
|
Histogram creation.
|
|
Text conversion between different code pages (Latin-1 -> Mac and DOS).
|
|
Avoid building gamma tables whenever possible.
|
|
Use greater precision when changing to linear gamma for compositing against
|
|
background and doing rgb-to-gray transformation.
|
|
Investigate pre-incremented loop counters and other loop constructions.
|
|
Add interpolated method of handling interlacing.
|
|
Switch to the simpler zlib (zlib/libpng) license if legally possible.
|
|
Extend pngvalid.c to validate more of the libpng transformations.
|
|
|
|
*/
|