Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-06-03 09:30:19


I've being thinking/implementing better STLport support, and came to some
conclusions, that I might need to address now, and which probably must be
addressed in targets hierarchy redesign. The idea for STLport was simple:
the <stdlib>stlport is a composite feature, which expands to
<library>@/stlport/stlport.

When the target @/stlport/stlport is generated, necessary searched-lib-target
is created, which has appropriate <includes> and <defines> in usage
requirements.

This all is good, but: when STLPort is used with native iostreams, there's no
library to be linked to. However, one still needs proper <includes> and
<defines> for all main target. The only solution I see is in this case the
@/stlport/stlport main target should generate "special" virtual target. It
will carry usage requirements, but is not consumed -- i.e. is ignored when
appearing in sources.

For example:

exe hello : hello.cpp @/stlport/stlport ;
exe hello : hello.cpp : <library>@/stlport/stlport ;

In both cases, everything must work if @/stlport/stlport produces
1. A target for a searched-library
2. A target which only conveys usage-requirements, but is not intended to be
consumed.
3. No targets at all

Opinions?

- 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