fix getprogname shim HAVE_PROGRAM_INVOCATION_SHORT_NAME is always defined; look at wether it's zero or not.

improve compat/getprogname on GNU libc but why'd they called it program_invocation_short_name? They couldn't find a longer name?

fixing compat compilation include headers if needed and include config.h

add a configure script and some compat tested on openbsd, alpine and void