Boost logo

Boost-Build :

From: Christopher Currie (Christopher_at_[hidden])
Date: 2003-08-27 10:58:13


All,

Recent CVS versions of BBv2 have shown the following behavior when
attempting to use BOOST_BUILD_PATH to point to $boost_build/kernel,
without a boost-build.jam file in the project.

$ ls
hello.cpp Jamfile project-root.jam

$ export BOOST_BUILD_PATH=$BOOST_ROOT/tools/build/kernel

$ bjam
build-system.jam: No such file or directory
don't know how to make all
...found 1 target...
...can't find 1 target...

The following patch will fix the problem, although I'm not sure its the
right way to do it. It problem is with the usage of the :D jam variable
modifer, which doesn't do the expected thing when the directory ends in
a period. Example:

myfile = build/kernel/./boost-build.jam ;
whereami = $(myfile:D) ;
parentdir = $(wherami:D) ;
ECHO $(parentdir) ;

will output "build/kernel" instead of "build". The patch above gets
around it by using "$(whereami)/.." instead of "$(whereami:D)", but I
don't know if this is portable.

Christopher

 --------------030504000701030100050100 Content-Type: text/plain;
name="bootstrap.jam[1].patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="bootstrap.jam[1].patch"

Index: bootstrap.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/kernel/bootstrap.jam,v
retrieving revision 1.5
diff -u -r1.5 bootstrap.jam
--- bootstrap.jam 1 Jul 2003 05:14:46 -0000 1.5
+++ bootstrap.jam 27 Aug 2003 15:51:43 -0000
@@ -41,7 +41,7 @@

;
local whereami = $(.bootstrap-file:D) ;
- BOOST_BUILD_PATH += $(whereami:D)/$(subdirs) ;
+ BOOST_BUILD_PATH += $(whereami)/../$(subdirs) ;
}

# Reload the modules, to clean up things. The modules module can tolerate
 --------------030504000701030100050100--


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