From 83ed59d79bce98bbf5e545891747751d1e96b975 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Mon, 19 May 2003 10:28:02 +0000 Subject: [PATCH] Fix a couple of fallouts from the default build change. * new/make.jam (make): Pass 'default-build' in the right position. * new/targets.jam (basic-target): Use empty property-set if no default-build is passed. (main-target): Use 'raw' to test property-set for emptines. The string emptyness test that use to be there does not works for property-sets. [SVN r18440] --- new/make.jam | 1 - new/targets.jam | 8 ++++++-- v2/build/targets.jam | 8 ++++++-- v2/tools/make.jam | 1 - 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/new/make.jam b/new/make.jam index e2f09bb57..4ae424085 100644 --- a/new/make.jam +++ b/new/make.jam @@ -54,7 +54,6 @@ rule make ( target-name : sources * : generating-rule + : requirements * [ new make-target-class $(target-name) : $(caller) : $(sources) : [ targets.main-target-requirements $(requirements) : $(caller) ] : $(generating-rule) : - : [ targets.main-target-default-build : $(caller) ] ] ; diff --git a/new/targets.jam b/new/targets.jam index f4bf86d14..e5bfd9963 100644 --- a/new/targets.jam +++ b/new/targets.jam @@ -262,12 +262,12 @@ rule main-target ( name : project ) import sequence ; import print ; import build-request feature property-set ; - + # Add a new alternative for this target rule add-alternative ( target ) { local d = [ $(target).default-build ] ; - if $(self.alternatives) && $(d) + if $(self.alternatives) && [ $(d).raw ] { errors.error "default build can be specified only in first alternative" : "main target is " [ full-name ] ; @@ -497,6 +497,10 @@ rule basic-target ( name : project requirements = [ property-set.empty ] ; } self.requirements = $(requirements) ; + if ! $(default-build) + { + default-build = [ property-set.empty ] ; + } self.default-build = $(default-build) ; if ! $(usage-requirements) { diff --git a/v2/build/targets.jam b/v2/build/targets.jam index f4bf86d14..e5bfd9963 100644 --- a/v2/build/targets.jam +++ b/v2/build/targets.jam @@ -262,12 +262,12 @@ rule main-target ( name : project ) import sequence ; import print ; import build-request feature property-set ; - + # Add a new alternative for this target rule add-alternative ( target ) { local d = [ $(target).default-build ] ; - if $(self.alternatives) && $(d) + if $(self.alternatives) && [ $(d).raw ] { errors.error "default build can be specified only in first alternative" : "main target is " [ full-name ] ; @@ -497,6 +497,10 @@ rule basic-target ( name : project requirements = [ property-set.empty ] ; } self.requirements = $(requirements) ; + if ! $(default-build) + { + default-build = [ property-set.empty ] ; + } self.default-build = $(default-build) ; if ! $(usage-requirements) { diff --git a/v2/tools/make.jam b/v2/tools/make.jam index e2f09bb57..4ae424085 100644 --- a/v2/tools/make.jam +++ b/v2/tools/make.jam @@ -54,7 +54,6 @@ rule make ( target-name : sources * : generating-rule + : requirements * [ new make-target-class $(target-name) : $(caller) : $(sources) : [ targets.main-target-requirements $(requirements) : $(caller) ] : $(generating-rule) : - : [ targets.main-target-default-build : $(caller) ] ] ;