build system improvements

see commits