by default gnulib is not built with -fPIC so it is not suitable for shared libraries.
is there an easy way to build gnulib .a with -fPIC so it can be used with shared libraries and executables as well within the same project? only elf targets need to be supported so ideally all gnulib replacement symbols should have hidden visibility, object files should be built only once (with -fPIC) and no configure checks per target binary as suggested by https://www.gnu.org/software/gnulib/manual/html_node/Multiple-instances.html nor libtool dependency.