Hi Gary, > why not enhance > gnulib to provide a shim that sits between the system libraries and > client code that wants to use it without shipping (another copy) of > the particular parts it depends upon?
It does not take a lot of steps to do that: 1) $ gnulib-tool --create-testdir `posix-modules` The 'posix-modules' script is in gnulib; it was just out of order for a long time. 2) package up the testdir 3) build and install it on your platform. 4) Deal with config.h, i.e. rename it to 'shim-config.h' and adjust the generated .h files. Some C macros, like _GNU_SOURCE or __EXTENSIONS__, need to be put into CPPFLAGS, however. 5) Document what to put into CPPFLAGS and what into LDFLAGS. The problems of this approach are in the presentation / in the relations with the community: - People will say that it's not complete, not understand that it's work in progress. - People will not understand that if they use it for their package, they may need to contribute at some point. - Additional API that are extensions over POSIX would likely be omitted. But they are also an essential part of gnulib. and in the points that Eric mentioned: - gnulib is doing backward-incompatible changes now and then. - gnulib has some "features" modules, like 'sigpipe', which cause additional code to be injected into many other modules. Not everyone needs these features. Bruno