Boost logo

Boost-Build :

From: klapshin (klapshin_at_[hidden])
Date: 2003-06-18 11:31:02


--- In jamboost_at_[hidden], Rene Rivera <grafik666_at_r...> wrote:
> >> 1. In hello example we've got an example of nifty symlink rule. It
> >> works well, however if you do 'bjam release' both debug and relase
> >> version would be compiled.
> >> Attempt to do 'bjam hello_release' fails with
> >
> >Right. To achive the desired effect you should say....
> >
> > bjam symlink#1
> >
> >.... which means there's no reasonable way to achieve it. So, the
problem
> is
> >that
> >
> > symlink hello_release : hello/<variant>release ;
> >
> >creates main target "hello_release" from the user point of view, but
> >Boost.Build does something different. I think we should fix this. Rene,
> >symlink was implemented by you, what do you think.

> Sure fixing it would be nice ;-) Problem is which name of the target
do we
> use in this situation:
>
> symlink hello_release hello_debug : hello/<variant>release
> hello/<variant>debug ;
>
> As what's internally generated are three targets:
>
> symlink-targets; symlink#?
> file-target; hello_release
> file-target; hello_debug

Well, there are two use cases. Suppose you have many projects, every
one of them creates some convinience symlinks. Now you either work on
one particular project and want to compile just debug, or both debug
and release of that project. In this case it is acceptable to have
command line syntax 'bjam hello_debug'. However there is another use
case -- you might want to build all projects in release mode. Doing
'bjam release' from root will build both debug and release, which is
annoying for small size projects and might be just unacceptable for
big ones.

What about stage rule? Will it have similiar problems?

--Kirill

 


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