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

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at