Boost logo

Boost-Build :

Subject: Re: [Boost-build] cycle runtime dependency
From: Anatoly Shirokov (shirokov_a_at_[hidden])
Date: 2009-06-11 17:47:36

Hi Steven!
> Why do you need the libraries to depend on each other?
I cannot answer because I am not an author of this desing. Anyway if two
modules implement well know abstract interface why not?

> From Boost.Build's point of view, dll1 depends on dll2
> means that if dll2 is rebuilt, dll1 also needs to be rebuilt.
> Is that what you want? If not why do you need to specify
> the dependency?
It needs to install all needed files to prepare an execution
environment. Each module contains typical install procedure:

install module_dist : module
    : <install-dependencies>on <install-type>EXE <install-type>SHARED_LIB

Bjam cannot break cycle. So I use the following solution:

# dll1/jamfile
lib dll1 : ... ;

install dll1_dist : dll1
  : ...

# dll2/jamfile
lib dll2 : ... ;

install dll2_dist : dll2
  : ...

It looks good, but there is the following problem:

lib dll3 : dll3 /my/dll1//dll1 ;

install dll3_dist : ... ;

If I run bjam in the dll3 directory, I cannot find dll2 which is needed
for dll1 in the $(DISTR) directory.


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