Boost logo

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