Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-02-03 07:41:03


Hi Joao,

> Vladimir Prus wrote:
> > On Friday 28 January 2005 16:43, Joao Abecasis wrote:
.....
> >>BTW, is there a way for the build process to generate the quickbook
> >>executable once with a single compiler and always use that executable,
> >>regardless of the number of compiler toolsets available?
> >
> > In some form it's possible. If you want quickbook to be automatically
> > built the first time I add .qbk file in the list of sources, right? The
> > attached works for me, but needs to avoid hardcoding the path to
> > quickbook.
>
> Thanks for that! This is what I wanted. Borrowing some ideas from
> boostbook.jam I've managed to search for the quickbook sources, thus
> avoiding the hardcoded path.
>
> One last thing. With your code, the quickbook executable is taken as a
> target to compile if it hasn't been yet. How would I provide a pre-built
> executable. Say, the user already has it somewhere in the path:
>
> using quickbook : /path/to/quickbook ;
>
> How do I set a default value for the <quickbook-binary> feature and
> avoid having the executable built?

Since you'll still need the generator, it's better be handled inside it.
Instead of targets.resolve-referece + target.generate you'd need:

targets = [ virtual-targets.from-file /path/to/quickbook : $(project) ] ;

> I tried to use feature.set-default but I got an error stating
> /path/to/quickbook is not an allowed value...

Unfortunately, "free" features can't have default value, because "free"
features non only can have any value, but can be specified several times. So
it's unclear when we should add default value -- when none is specified, or
always?

I hope to fix this one day, by separating "free" features from "multivalued":

http://zigzag.cs.msu.su:7814/scarab/issues/id/BB79

- Volodya

 


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