Boost logo

Boost-Build :

From: Roland Schwarz (roland.schwarz_at_[hidden])
Date: 2008-04-06 08:59:09


Boost.Build is a great system to write platform independent
build rules.

Once you have read through the manuals and "bjam --help" one
starts to write her own modules. Having read the advice
from the user guide: "If the extensions will be used on many
projects, users will thank you for a finishing touch."
I added a init rule, but got stuck about where to put this
now. The manual suggest to put it into the project dir.
This works fine, but fails if you want to use it for use
as a site-wide repository.

However it is possible to put the following into
site-config.jam:

boost-extension-dirs = /path/to/my/extensions ;

modules.poke
        : BOOST_BUILD_PATH
        : [ modules.peek : BOOST_BUILD_PATH ] $(boost-extension-dirs) ;

While this surely will work, it is non-obvious (at least for
me it was not) and looks a little hackish. So I propose

1) Addition of a add-extension-paths rule to build-system-jam:
--------------------------------------------------------------

   rule add-extension-path ( dirs * )
   {
        modules.poke
            : BOOST_BUILD_PATH
            : [ modules.peek : BOOST_BUILD_PATH ]
            $(dirs)
            ;
   }

2) Addition of a 'contrib' subdirectory
---------------------------------------

My second proposal is about modules that users have written, but
the core maintainers have not had the time to approve for general
use. Following the practice of other projects I propose to introduce
a 'contrib' (or similar name) subdirectory within the boost-build
tree and change the default paths to search also in this directory.

Once the boost-build maintainers decide that the contributed module
is mature enough they simply could move it to a more appropriate
place.

The documentation should state the fact that modules in contrib
are unmoderated and could be of different quality than the main
build system.

I am proposing this in the hope that more modules from the
user community can be added to boost-build.

Did I already have said Boost.Build is a great system? ;-)

Regards speedsnail

-- 
_________________________________________
  _  _  | Roland Schwarz
 |_)(_  | aka. speedsnail
 | \__) | mailto:roland.schwarz_at_[hidden]
________| http://www.blackspace.at

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