Boost logo

Boost :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2002-01-25 07:04:34


I could'nt compile anymore using the CVS head of boost.build. Tried it
on boost.python also and also that failed, even after recompiling my jam
from jam_src. Seems the problem is that in boost-base.jam frequently a
'local' is defined in the for loop definition.

Below is a patch which cures this problem (or is due to some problem in
my jam, don't think so ; can boost.build handle this situation normally)

Dave, if it's indeed an error in boost-base and you want me to apply the
patch, let me know.

poisson:/usr/local/boost/tools/build >cvs diff -c boost-base.jam
Index: boost-base.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/boost-base.jam,v
retrieving revision 1.22
diff -c -r1.22 boost-base.jam
*** boost-base.jam 2002/01/21 22:25:01 1.22
--- boost-base.jam 2002/01/25 13:03:44
***************
*** 318,324 ****
   rule select-gristed ( list * )
   {
       local result ;
! for local x in $(list)
       {
           if $(x:G)
           {
--- 318,325 ----
   rule select-gristed ( list * )
   {
       local result ;
! local x ;
! for x in $(list)
       {
           if $(x:G)
           {
***************
*** 1190,1196 ****
       local all-properties = $(base-properties) $(free-properties) ;

       local rules = [ select-ungristed $(gTARGET_REQUIREMENTS($(<))) ] ;
! for local r in $(rules)
       {
           all-properties = [ $(r) $(toolset) $(variant) :
$(all-properties) ] ;
       }
--- 1191,1198 ----
       local all-properties = $(base-properties) $(free-properties) ;

       local rules = [ select-ungristed $(gTARGET_REQUIREMENTS($(<))) ] ;
! local r ;
! for r in $(rules)
       {
           all-properties = [ $(r) $(toolset) $(variant) :
$(all-properties) ] ;
       }
***************
*** 1433,1442 ****
             = [ expand-build-request $(toolset) $(v) $(<)
                 : $(requirements) : $(build-request) ] ;

! for local x in $(expanded)
         {
             local properties = [ split-path-at-grist $(x) ] ;
! for local r in $(rules)
             {
                 properties = [ $(r) $(toolset) $(v) : $(properties) ] ;
             }
--- 1435,1446 ----
             = [ expand-build-request $(toolset) $(v) $(<)
                 : $(requirements) : $(build-request) ] ;

! local x ;
! for x in $(expanded)
         {
             local properties = [ split-path-at-grist $(x) ] ;
! local r ;
! for r in $(rules)
             {
                 properties = [ $(r) $(toolset) $(v) : $(properties) ] ;
             }
***************
*** 1486,1492 ****

       COMMAND-LINE on $(files) = $(5) ;

! for local file in $(files)
       {
           Run $(file) ;
       }
--- 1490,1497 ----

       COMMAND-LINE on $(files) = $(5) ;

! local file ;
! for file in $(files)
       {
           Run $(file) ;
       }
***************
*** 1560,1563 ****
       # clean up afterwards
       remove-command-file $(targets) : $(command-file) ;
       return result ;
! }
\ No newline at end of file
--- 1565,1568 ----
       # clean up afterwards
       remove-command-file $(targets) : $(command-file) ;
       return result ;
! }


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk