1 |
David Leverton wrote: |
2 |
|
3 |
> On Tuesday 19 August 2008 21:35:35 Steve Long wrote: |
4 |
>> Not really fussed about how it's resolved, so long as we get some sort of |
5 |
>> correct link dependency information (which compile-against is not.) |
6 |
> |
7 |
> compile-against is designed mainly for packages that include each-other's |
8 |
> headers, nothing to do with linking. For example, some libX11 headers |
9 |
> include xproto headers. If a given package only contains a reference, |
10 |
> say, <X11/Xlib.h>, and not anything from xproto, then it should only |
11 |
> build-depend |
12 |
> on libX11, but xproto still needs to be present at compile-time. The only |
13 |
> way to represent that currently is by making libX11 RDEPEND on xproto, |
14 |
> meaning "libX11 is not fully-functional unless xproto is installed", but |
15 |
> embedded people and the like would prefer something more fine-grained, |
16 |
> effectively splitting the idea of "fully-functional" into |
17 |
> "fully-functional at runtime" and "fully-functional at build-time". |
18 |
> |
19 |
Cool, that makes sense. |
20 |
|
21 |
> What exactly do you mean by "link dependency information"? How would you |
22 |
> like the package manager treat a "link" dependency differently from any |
23 |
> other build dependency? |
24 |
|
25 |
I mean the dependency between the package in your example and libX11, or |
26 |
between libX11 and xproto: what the programmer writes as a dependency in |
27 |
the code. In certain cases the dependency does not actually matter (opaque |
28 |
types) but it usually does, especially with C++. compile-against seems to |
29 |
be derived from that information. |
30 |
|
31 |
An ldepend would necessarily be a build-time depend. It would not |
32 |
necessarily be a run-time depend (eg for plugins) although most pkgs |
33 |
building from src with a USE flag pulling in the ldepend would rdepend on |
34 |
the same pkg, if the flag is in effect at install time. OFC that's where |
35 |
the soft dependencies (suggest, recommend) come into play. |