|
Boost-Build : |
From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2004-10-14 08:32:58
Vladimir Prus wrote:
>
> BTW, current "stage" relinks all executables, this behaviour is specifically
> needed so that when staging, you can set the <dll-path> -- which too
> hardcodes dll path, but only to a value specified by the user.
>
> And we should be doing the same for libraries, I think. Because staging the
> library may involve change in the name, and shared library can be renamed
> without relinking -- otherwise, the 'soname' encoded inside the library will
> be different from the real name.
>
I did not know that the soname was encoded in the dynamic library. If so
indeed, the library should be relinked. This should however be well
documented because I can imagine many to be surprised when they see
their library being relinked.
>
>> From a multi-platform point of view (which bjam tries to achieve),
>>since harcoded paths are not available everywhere, I would not use them
>>by default.
>
>
> This is a dilemma I don't know how to solve. It's desirable to have the same
> behaviour on all platforms, but then I've said "use <hardcode-dll-paths>true"
> too many times.
>
I understand. Whatever option we choose, most important is IMO that it
is well documented.
> I even though that V2 should be producing scripts which run the binary with
> the right library path (just like libtool does not Linux), but that's very
> nasty solution.
Indeed. That is not an option IMHO.
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