From fb0fdecc8051fa6a0bc0eb4a234bde0be2587e68 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Wed, 6 Nov 2002 11:41:59 +0000 Subject: [PATCH] Bugfixes. * new/targets.jam (project-target.generate): Treat names of other projects to build relatively to this project. (basic-target.generate): Generate dependency use-requirements. [SVN r16130] --- new/targets.jam | 19 +++++++++++++++++-- v2/build/targets.jam | 19 +++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/new/targets.jam b/new/targets.jam index e7cceff91..b97fbabfc 100644 --- a/new/targets.jam +++ b/new/targets.jam @@ -133,9 +133,10 @@ rule project-target ( name : project : requirements * : default-build * ) local t = [ main-target $(name) ] ; result += [ $(t).generate $(properties) ] ; } + local self-location = [ project.attribute $(self.project) location ] ; for local pn in [ project.attribute $(self.project) projects-to-build ] { - local p = [ project.module-name $(pn) ] ; + local p = [ project.module-name [ path.join $(self-location) $(pn) ] ] ; local t = [ project.target [ project.attribute $(p) location ] ] ; result += [ $(t).generate $(properties) ] ; } @@ -420,9 +421,23 @@ rule basic-target ( name : project } self.generated.$(property-path) = [ construct $(source-targets) : $(xproperties) ] ; + local xuse-requirements ; + for local p in $(self.use-requirements) + { + if dependency in [ feature.attributes $(p:G) ] + { + local g = [ generate-source $(p:G=) : $(rproperties) ] ; + xuse-requirements += $(p:G)$(g) [ $(g).use-requirements ] ; + } + else + { + xuse-requirements += $(p) ; + } + } + for local e in $(self.generated.$(property-path)) { - $(e).set-use-requirements $(self.use-requirements) ; + $(e).set-use-requirements $(xuse-requirements) ; } } else diff --git a/v2/build/targets.jam b/v2/build/targets.jam index e7cceff91..b97fbabfc 100644 --- a/v2/build/targets.jam +++ b/v2/build/targets.jam @@ -133,9 +133,10 @@ rule project-target ( name : project : requirements * : default-build * ) local t = [ main-target $(name) ] ; result += [ $(t).generate $(properties) ] ; } + local self-location = [ project.attribute $(self.project) location ] ; for local pn in [ project.attribute $(self.project) projects-to-build ] { - local p = [ project.module-name $(pn) ] ; + local p = [ project.module-name [ path.join $(self-location) $(pn) ] ] ; local t = [ project.target [ project.attribute $(p) location ] ] ; result += [ $(t).generate $(properties) ] ; } @@ -420,9 +421,23 @@ rule basic-target ( name : project } self.generated.$(property-path) = [ construct $(source-targets) : $(xproperties) ] ; + local xuse-requirements ; + for local p in $(self.use-requirements) + { + if dependency in [ feature.attributes $(p:G) ] + { + local g = [ generate-source $(p:G=) : $(rproperties) ] ; + xuse-requirements += $(p:G)$(g) [ $(g).use-requirements ] ; + } + else + { + xuse-requirements += $(p) ; + } + } + for local e in $(self.generated.$(property-path)) { - $(e).set-use-requirements $(self.use-requirements) ; + $(e).set-use-requirements $(xuse-requirements) ; } } else