Boost logo

Boost-Build :

From: DigiWays (boost.build_at_[hidden])
Date: 2005-07-06 16:13:19

>> Also, is it possible to write a rule/feature which will modify the list of
>> all the dependencies of the current executable? How?
>> For example, I have executable "A" which uses library "L1", and "L1" uses
>> library "L2.v1.01", and I would like executable "A" (by adding a
>> rule/feature/...) to link to "L2.v1.02" instead of "L2.v1.01"
>> (without recompiling "L1", which uses "L2.v1.01").
>> I can guarantee binary interface compatability between "L2.v1.01" and
>> "L2.v1.02".
>> In other words, I would like to be able to use L2.v1.01 in my
>> executable "A" without recompiling "L1", which was compiled against
>> "L2.v1.01".

VP> I'm probably missing something. What about:

VP> lib L2.v1.01 : source1.cpp ;
VP> lib L2.v2.01 : source2.cpp ;
VP> lib L1.v1.01 : source3.cpp L2.v1.01 ;
VP> exe A : L1.v1.01 L2.v2.01 ;

VP> I'm not really what what this will accomplish, and why you would link to two
VP> versions of the same library, but that's what you've asked for ;-)

VP> I suspect you need something more, if so, can you clarify?

I probably did not explain myself well. I would like executable "A"
to only link to "L2.v2.v01", and not link to "L2.v1.01" (which is required
by "L1"). I definetely do not want to link two versions of the same
library. I just want to be able to override the version of the library
I want to use in settings of my executable "A", without changing/recompiling
library "L1".

One might speculate that I should just add/compile "L1.v2.01" which
uses "L2.v2.01" which I want, but in my case I definetely know that
binary interface of "L2.v2.01" is backwards compatible with
"L2.v1.01", and I would like to avoid recompiling "L1". In practice,
I have several dozens of libraries like "L1" which I would not like to

Another related question
- How in Jamfile for my executable can I make bbv2 ignore all
the usage requirements of all the libraries my executable


Valentin Samko

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