Boost logo

Boost-Build :

Subject: [Boost-build] Named metatarget parameters
From: Vladimir Prus (ghost_at_[hidden])
Date: 2010-02-28 05:14:48


I am thinking of introducing named parameters to metatarget rules along the lines
of the following:

   lib program_options
   : parsers.cpp
     [ requirements <link>static ]
     [ usage-requirements <define>BOOST_ALL_NO_LIB=1 ]
     [ default-build <variant>release ]
     [ description "Does something about dashes on command line" ]
     [ license "BSL 1.0" ]
   ;

I expect the current syntax to remain available forever, but make this
new one the officially documented. You might note the example uses some
attributes ('description', 'license') that are not even available now,
and in fact adding a pile of optional attributes is the primary goal
here.

Internally, this will be implemented by introducing special classes
that are returned by rules like 'requirements' and specially processed
when encountered in the list of sources.

Before I go and implement this, would anybody be willing to critizie
my experiments in DSL design?

Thanks in advance,

--
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build: http://boost.org/boost-build2

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