-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Beman Dawes Sent: 09 January 2015 15:14 To: Boost Developers List Subject: [boost] [chrono] Dependency on math?
The latest dependency report shows chrono as having a dependency on math.
See http://www.pdimov.com/tmp/report-develop-3b5a9f4/module- overview.html
Apologies for this naive outsider question, but could the dependency graph not be a lot shallower if packages are defined less greedy. 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? I suppose the idea of distributing partial libraries is not very attractive. But how about distinguishing the packaging of libraries with and without their dependencies. [ To package X "with dependencies" we must package all libraries "without dependencies" on which it depends in terms of file the file-dependency graph (not the library dependency graph).] In this scenario the inclusion of a single Math header in Chrono would not be as disastrous. The alternatives seem to be to duplicate the code, or to use some judgement to split Math into Math.Core and Math.More. It also seems more in line with how you would treat external dependencies (only package zlib if zlib is being used), or not? Beman's question of "with test" and "without tests" seems to be in the same direction, but different. Please enlighten me if this is an old and passed topic. Thanks, Alex