In multi-arch OS installations, using a single foo-config script to find
libraries is problematic, because you don't know which architecture it
will point to, and you can't choose which one you want. Using
pkg-config is better in that situation, because you can use its
environment variables to point to your preferred version
of /usr/lib*/pkgconfig or similar.
In configure, we use xml2-config and pthread-config. The latter doesn't
exist on my system, so I'm just dealing with xml2-config now.
The attached patch looks for pkg-config first, and finds libxml2 using
that if available. Otherwise it falls back to using xml2-config.