|
Boost-Build : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-03-25 18:07:38
Ali Azarbayejani <ali_at_[hidden]> writes:
> David Abrahams wrote:
>>
>> Ali Azarbayejani <ali_at_[hidden]> writes:
>>
>> > Doesn't <library> (or <link-to>) in Usage Requirements *already*
>> > propagate (while <include> or <define> do not? or do they?) ?
>>
>> I have no clue. The definition of <library> is:
>>
>> feature library : : free dependency ;
>>
>> so it is not "propagated", but on the other hand "propagated" also
>> denotes travel in the other direction: from dependents to
>> dependencies.
>
> Property <library> in Usage Requirements is continuously propagated
> upward (I don't know by what mechanism, but I know it is, because it
> ends up in the link line).
Which direction is "up" (towards dependents or dependencies)?
> I don't know about other properties like <include> or <depend> (I hope
> they are not, because that would lead to a lot of unexpected
> behavior).
>
>
>> > If "a" is built <link>shared, it will statically link to "b" (I
>> > don't think this is possible with GCC)
>>
>> Sure it is, as long as "b" is built with <shared-linkable>true
>> (i.e. -fPIC). A GCC static library is just an archive of object
>> files; you can link them into anything that can link with .o files.
>
>
> That's good to know. Can GCC restrict symbol exports like MSVC can?
Cygwin/MinGW can. I'm not sure that ELF GCC can.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
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