
John Maddock wrote:
If there are self contained headers in some/many core libraries, then we should use a tool that is smart enough to detect that and behave sensibly. Otherwise move these self-contained details into some sort of "core" module that depends on nothing but config.
That's basically what I suggested as an alternative, some kind of a Utility module that is absolutely not allowed to depend on anything but Config. Tracking dependencies on a module level has its limitations, but it's simple and transparent and I'm not sure we ought to try to improve it. And of course it would be a bit impractical to create a module for every self-contained header, even though that's arguably the right thing to do for lighweight_mutex, atomic_count or sp_typeinfo, for example.