On Fri, Dec 03, 2010 at 02:28:32PM +0000, Roger Leigh wrote: > On Fri, Dec 03, 2010 at 03:14:05PM +0100, Samuel Thibault wrote: > > Roger Leigh, le Fri 03 Dec 2010 14:08:48 +0000, a écrit : > > > While I do find this a rather annoying violation of encapsulation, > > > you will find (e.g. with "nm -C -D") your binary will have > > > boost::system symbols in it which are only satisfied indirectly > > > via libboost_filesystem and which would result in breakage if > > > libboost_filesystem drops that dependency and you don't explicitly > > > link against it. Ideally, the headers should be fixed. > > > > Or simply the equivalent of pkgconfig's "Requires:" be used. > > > > You can't make all application know what headers are doing, since that > > could change. > > pkg-config support for Boost is a long-standing issue. Unfortunately, > there's no usable alternative that provides this information…
OK, I've written a patch to implement pkg-config .pc generation for Boost, and submitted it upstream. It uses the same auto-link header include mechanism used for auto-linking on Windows, so it can't get out of sync on different platforms, using some C++ static class members and anonymous namespace hackery to store the data during preprocessing. https://svn.boost.org/trac/boost/ticket/1094 If anyone is familiar with the bjam build system used by Boost, the actual .pc generation could be integrated in the patch. I am not familiar with it, unfortunately. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail.
signature.asc
Description: Digital signature