New packaging of bundled libraries
May 08, 2023Starting with version 1.04, all bundled libraries (see lib folder) are embedded inside the executable,
so using them needs no -L/-I options. All embedded library files are logged as belonging to res://
pseudo-directory (a compressed archive inside l.c); res://lib/ is always used as a fallback search
location, so explicit locations given via -L have priority and can override built-in versions if
needed.
The embedded archive is generated with the help of baz archiver (see https://github.com/false-schemers/baz);
the command is:
baz cvfz l.c --exclude="src" --exclude="lib/include/NDEBUG" --exclude="README.md" --zopfli=1000 wcpl/lib
It uses external zopfli* compressor to get excellent compression rates for .wo files, so the whole
built-in archive adds only about 90K to size of the executable.
* [zopfli]: https://github.com/google/zopfli