|
Boost-Build : |
From: Rene Rivera (grafik.list_at_[hidden])
Date: 2006-04-01 15:45:43
Jürgen Hunold wrote:
> Hi !
>
> Am Maandag 27 März 2006, 10:11 schrieb Vladimir Prus:
>> Hi Rene,
>
>> Like Dave, I'm a bit concerned about using <*> which means something
>> completely different in V1. Maybe, we can just use '*' without '<>'? Or
>> maybe, some keyword, like "usage". Using just '*' can look like black
>> magic.
>
> What about naming the section (alike the "project") and then add a section
> named "common-requirements" and be done ?
> This would add its entries to both "requirements" (better
> "build-requirements" ?) and "usage-requirements".
After thinking on it for a few days that is certainly one viable route.
Also the suggestion to use "build-requirements" for consistency is good.
Perhaps that should be added as an alias for "requirements". With that
in mind a few other possibilities spring to mind:
1. Use of build-requirements, usage-requirements, and
common-requirements in one section instead of more sections:
lib foo : foo.cpp :
build-requirements
<define>COOL=1
common-requirements
<define>ENABLE_LOG=1
usage-requirements
<link>shared:<define>BUILD_DLL=1
;
2. Use of a conditional like syntax on the individual requirements to
override the section:
lib foo : foo.cpp :
<define>COOL=1
common:<define>ENABLE_LOG=1
usage:<link>shared:<define>BUILD_DLL=1
;
In that case the default is to use the section type. So for example one
could put common requirements in the usage section:
lib foo : foo.cpp :
<define>COOL=1
: :
common:<define>ENABLE_LOG=1
<link>shared:<define>BUILD_DLL=1
;
-- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo
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