Boost logo

Boost-Build :

From: Christopher Huang-Leaver (zeonglow_at_[hidden])
Date: 2008-01-02 11:48:27


I have been playing with Boost Build on simple projects for a while, I
though I would have a go at porting an existing complex project which use a
very strange Makefile to use boost build instead.

This is the problem, the project uses pre built dynamic libraries which are
arranged like this:

/$(src_root_path)/$(library_name)/include/

with the binaries arranged like this

/$(bin_root_path)/$(library_name)/$(lib_version)/

This runs on a UNIX platform and the paths of the shared objects are
hardcoded into the executable ( <dll-paths> true ? )

At the moment I have got it working on one example by using this as a rule

lib monkey_biz : : <name>monkey_biz.6.5
                           <search>$(bin_root_path)/6.5/lib_debug
                            <include>$(src_root_path)/monkey_biz/src ;

(the debug and release versions of the libraries are in separate places too,
but I think I can handle that!)

and repeating for every library, and adding this as a target later on. Now
while this functions, it is ugly and I know (hope?!) boost build can do
better.

What I would like to do is have a list of (module_name, module_version) ,
pass each onto a function which than creates the target as above, so that
the jamfile itself can be clear and simple. Trouble is I'm not sure where
to start. Do I need to create a generator, or a class or something else.

Any help is appreciated.

Chris



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