2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 13:02:11 +00:00

Make 'use-project' in user-config work.

* build/project.jam (load-used-projects): New, extracted from 'load'.
    (load): Call 'load-used-projects'
    * build-system.jam: Call 'load-used-projects' for site-config and
    user-config.

Thanks to Andrei Melnikov for the bug report.


[SVN r34472]
This commit is contained in:
Vladimir Prus
2006-07-07 06:47:20 +00:00
parent 757cd4a0cd
commit a7f3c8a3c4
2 changed files with 20 additions and 13 deletions

View File

@@ -99,6 +99,7 @@ if ! $(ignore-config)
}
modules.load site-config : : $(path) ;
project.load-used-projects site-config ;
}
@@ -122,7 +123,7 @@ if ! $(ignore-config)
}
modules.load user-config : : $(user-path) ;
project.load-used-projects user-config ;
}

View File

@@ -76,22 +76,28 @@ rule load ( jamfile-location )
# to child projects from parent projects, we don't immediately
# loading child projects when seing those attributes. Instead,
# we record the minimal information that will be used only later.
local used = [ modules.peek $(module-name) : .used-projects ] ;
import project ;
while $(used)
{
local id = $(used[1]) ;
local where = $(used[2]) ;
project.use $(id) : [ path.root
[ path.make $(where) ] $(jamfile-location) ] ;
used = $(used[3-]) ;
}
load-used-projects $(module-name) ;
}
return $(module-name) ;
}
rule load-used-projects ( module-name )
{
local used = [ modules.peek $(module-name) : .used-projects ] ;
local location = [ attribute $(module-name) location ] ;
import project ;
while $(used)
{
local id = $(used[1]) ;
local where = $(used[2]) ;
project.use $(id) : [ path.root
[ path.make $(where) ] $(location) ] ;
used = $(used[3-]) ;
}
}
# Note the use of character groups, as opposed to listing
# 'Jamroot' and 'jamroot'. With the latter, we'd get duplicate
# matches on windows and would have to eliminate duplicates.