|
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
<variant>release:<location>$(DISTR)/release
<variant>debug:<location>$(DISTR)/debug
;
Bjam cannot break cycle. So I use the following solution:
# dll1/jamfile
lib dll1 : ... ;
install dll1_dist : dll1
/my/dll2//dll2
: ...
;
# dll2/jamfile
lib dll2 : ... ;
install dll2_dist : dll2
/my/dll1//dll1
: ...
;
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.
Anatoly.
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