Peter Dimov wrote
Sent: 09 January 2015 16:42 To: boost@lists.boost.org Subject: Re: [boost] [chrono] Dependency on math?
alex wrote:
As I understand it, if library X depends on library Y and Y depends on Z, then X is said to depend on Z. I can understand as packages are created based on the library dependency graph:
[ To package X we must package all libraries on which X depends.]
However, the reality is that the file-dependencies of X do not necessarily include Z. Why would you not package only the files upon which the desired library depends?
Because the package for X only contains X's files, not its dependencies. If X depends on a file from Y, then Y's package must be installed to get Y's file. And since Y is now installed, if it requires building, Z needs to be installed as well; but even if it doesn't require building, having Y installed but unusable is not good from usability point of view.
Thanks for clarifying. I must say I am not convinced by the usability argument. Having just the files of Y and not the build makes library X usable. And X is what the user asked for. So, from a usability point of view it is perfect. Y must not be build, but there are good arguments for Y to be build. However there are also counter arguments as there clearly is an unhealthy incentive now to fragment libraries, to duplicate code and to fix things that are not broken.