Boost logo

Boost-Build :

From: Xavier Pegenaute (xpegenaute_at_[hidden])
Date: 2008-07-18 09:58:49


Hi,

I want to add a "rule" able to copy the full tree source code and the
boost deps from "scoped_ptr" in a certain directory.

After reading the some documentation and view some examples I am able to
copy the code correctly but I have problems when I wan to to include the
boost headers. I have been playing around these commands:

===============
rule get_dependencies ( package ) {
  ECHO "Boos dependencies from: " $(package) ;
  SHELL "bcp --list --boost=/usr/local/include/boost-1_35 $(package)" ;
}

local boost_files = [ get_dependencies scoped_ptr ] ;

local result ;
for local b_file in $(boost_files) {
  result += "-----> /usr/local/include/$(b_file)" ;
  return $(result) ;
}

install dist-src
  :
# [ glob-tree *.cpp *.h ] // This works correctly
  $(result)
  :
  <install-source-root>.
  <install-dependencies>on <install-type>H
  ;
===============

The output is:

===============
Testing with: scoped_ptr
-----> /usr/local/include/boost/assert.hpp
boost/checked_delete.hpp
boost/config.hpp
boost/config/abi/borland_prefix.hpp
...
===============

So, seems that the "for" iteration only works correctly for the first
element of $(boost_files). Why ?

And, is there any other way easier than this ?

Thanks and regards.
Xavi.


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