Gnulib contains some groups of modules that are not of "workaround"/"override" type but just regular, platform-independent library code.
The classical way of distributing such code is through shared libraries, so that any package can use it — regardless whether such a package uses gnulib-tool (or even the GNU Build System at all). * libunistring: This way of deploying library functionality is successful. libunistring exists since 2009. We plan to apply the same principle, creating three new shared libraries, for use on GNU and non-GNU platforms: * libargp: This is meant to be the 'argp' module, as a standalone library, making this glibc functionality available portably (similar to libintl and libiconv). Already proposed in <https://lists.gnu.org/archive/html/bug-gnulib/2025-11/msg00104.html>. * libzprintf: is for the *z*printf modules (not glibc functionality). The main purpose is to allow any package to make use of *printf without INT_MAX limitation, and thus — in many cases — with ENOMEM being the only possible cause of failure. * libgldata: shall contain the container data types https://www.gnu.org/software/gnulib/manual/html_node/Ordinary-containers.html which have proven to allow optimizing algorithmic code with just tiny code changes. Git repositories for these libraries are already created; see https://savannah.gnu.org/projects/gnulib/ . They "just" need to be filled; which is pretty straightforward when looking at libunistring as a template. Collin has volunteered to take a stab at libargp; I will work on libzprintf and libgldata. Bruno
