|
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