Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-07-05 02:48:19


David Abrahams wrote:

> > As I've mentioned in another post, requirements in alternatives can be
> > used to implement effect similiar to conditional properties:
> >
> > lib a : msvc.cpp : <toolset>mvsc ;
> > lib a : gcc.cpp : <toolset>gcc ;
> >
> > The first line has a typo, and the first alternative will never be
> > selected, which would probably take some time to diagnose.
>
> Understood. You would get a message, though, wouldn't you?
> Something like "skipping lib a build due to incompatible
> requirements"?

Yes, you'd get a message that "a" can't be build. But is it enough clue for
the user?

Another question is it's hard to distinguish <toolset>msvc used for
alternative selection from <toolset>msvc used as requirements, so we either
should validate in all cases, or never.

OTOH, maybe we can made the distinction explicit:

lib a : msvc.cpp : condition <toolset>msvc ;
lib a : gcc.cpp : conditition <toolset>gcc ;

This would make things a bit more explicit and orthogonal.

> Another thought I'm having is that this "no checking" attribute might
> really say, "just require that there be an appropriate loadable
> module". So you could issue an error when it turned out that there
> was no "mvsc.jam" toolset.

And what if you don't have "msvc.jam"? Or course, "msvc.jam" is always
included, but there might be some special toolset, which is not universally
available.

- 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