Maybe libtool is not that bad
I’m considering taking back all the bad things I have said about libtool It turns out that by using libltdl it is possible to generate plugins that can be built a statically or as shared objects. I know it’s not too bad to implement that in a custom build, but as I understood more about libtool, this turns out to be relatively clean.
This is the best introduction to using libltdl that I have found.