|
Boost-Build : |
From: Steve M. Robbins (steve_at_[hidden])
Date: 2008-04-13 12:47:43
On Sun, Apr 13, 2008 at 05:39:31PM +0200, Roland Schwarz wrote:
>
>
> Steve M. Robbins wrote:
> > If we can get both the toolchain and version removed from the link
> > libraries, then a major headache goes away;
>
> Sorry for dropping in. Possibly this is also unrelated, but why
> not just compiling boot with switch --layout=system if you do not
> want the toolchain and version?
Yes --layout=system is closer to what I want. However, it strips the
version from the SONAME. What we need is:
1) No tool chain decoration.
2) Library version in the SONAME but not the link name.
What does (2) mean? In effect, it means that I want
the actual library file name (and SONAME) to be
libfoo.so.1.3.2
and to have a symbolic link with no version
libfoo.so --> libfoo.so.1.3.2
so that I can link using "-lfoo" without caring whether the system has
1.3.2 or 1.3.3 installed.
My post http://lists.boost.org/boost-build/2008/04/18835.php has a
long-winded explanation of why we need this. I'm happy to further
clarify this; please ask.
> Others might want them. Or do you
> mean the default should be layout=system on unix?
Yes, others might want them. I'm not arguing to change the default
layout; decorating the library name makes some sense for a user that
is building a local copy of the library, possibly for a couple of
different compilers.
However, neither the versioned nor system layouts make sense for a
system vendor, in the opinion of Debian.
The system layout is closer; what it lacks is having the library
version in the SONAME.
Since you've asked, I'd propose one of two things: either (1) change
the behaviour of layout=system; or (2) for backwards compatibility
keep layout=system and add a third layout (system-versioned?) that
does what I suggest.
Cheers,
-Steve
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk