matplotlib/matplotlib — pull request #2360 by mrterry (2013-08-30 19:41:02+00:00)
Title: Dep refactor

It would be nice to have a more configurable (robust?) way to discover and configure extensions/dependencies. Please regard this as a prototype (it is not py26 compliant, for starters), but close enough to start the discussion.

This does a couple things:
* creates a master `OrderedDict` of `SetupPackage` objects
* makes `SetupPackage` objects explicity declare their dependencies on construction
* refactors the `pkg_config` logic into its own class
* introduces a `FTConfig` class to use `freetype_config`

I've seen bugs where extensions can get inconsistent headers and libs because Freetype.check() and Freetype.add_flags() don't duplicate the needed `freetype_config` logic. This is my attempt to make that class of bugs go away.

It may introduce another class of more obnoxious bugs, so please let me know your opinions.