That seems like a good compromise to me. However, are you conflating libposix and libgnu... libposix is the subset of gnulib preinstalled as a shim over the vendor C library. Presupposing that I've finished it, and the person who is compiling Zile/luaposix has installed it already, there's no need for additional support anywhere in the client code. You just do this:
And then, all of the gnulib POSIX API-fixing functions need not be added to any other code... they just program to the POSIX APIs, and tell the user to install libposix from gnulib before linking if their system libraries/headers are deficient in any way.