I can see inconsistency between openssl and cyrus sasl libs. We don't seem to use pkgconfig for cyrus sasl in the same way as for openssl. ~And in fact we seem to have to work around not using pkg-config when we are on windows in a strange way!
Also we include some (copied in) code to interface to pkgconfig, but there seems to be a good pypi package - pkgconfig which does this stuff and is geared up for use in setup.py too. Maybe we should be using this rather than the strange homegrown thing we've got?