Subject: Re: [boost] [chrono] Dependency on math?
From: alex (alexhighviz_at_[hidden])
Date: 2015-01-09 11:26:20
>From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Beman
>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.
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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk