Boost logo

Boost-Commit :

From: ghost_at_[hidden]
Date: 2007-08-26 13:15:56


Author: vladimir_prus
Date: 2007-08-26 13:15:51 EDT (Sun, 26 Aug 2007)
New Revision: 38968
URL: http://svn.boost.org/trac/boost/changeset/38968

Log:
Use SVN for nightly builds
Text files modified:
   trunk/tools/build/v2/build/virtual-target.jam | 93 ++++++++++++++++++++++++---------------
   trunk/tools/build/v2/nightly.sh | 2
   trunk/tools/build/v2/tools/builtin.jam | 29 +++++------
   trunk/tools/build/v2/tools/sun.jam | 7 +++
   trunk/tools/build/v2/util/path.jam | 9 +++
   5 files changed, 86 insertions(+), 54 deletions(-)

Modified: trunk/tools/build/v2/build/virtual-target.jam
==============================================================================
--- trunk/tools/build/v2/build/virtual-target.jam (original)
+++ trunk/tools/build/v2/build/virtual-target.jam 2007-08-26 13:15:51 EDT (Sun, 26 Aug 2007)
@@ -378,40 +378,18 @@
                         
             return l$(location-grist) ;
         }
- }
-
- # Given the target name specified in constructor, returns the
- # name which should be really used, by looking at the <tag> properties.
- # The tag properties come in two flavour:
- # - <tag>value,
- # - <tag>@rule-name
- # In the first case, value is just added to name
- # In the second case, the specified rule is called with specified name,
- # target type and properties and should return the new name.
- # If not <tag> property is specified, or the rule specified by
- # <tag> returns nothing, returns the result of calling
- # virtual-target.add-suffix
- rule _adjust-name ( specified-name )
+ }
+
+ # Applies the <tag> feature to the specified name,
+ # and returns the new name. If there no <tag>
+ # or <tag> rule retuend nothing, return empty string.
+ # 'ps' is the property set to be used when calling
+ # the 'tag' rule. Typically, that should be
+ # obtained from 'tag-properties'.
+ rule apply-tag ( specified-name : ps )
     {
- local ps ;
- if $(self.action)
- {
- ps = [ $(self.action).properties ] ;
- }
- else
- {
- ps = [ property-set.empty ] ;
- }
-
- #~ We add ourselves to the properties so that any tag rule can get
- #~ more direct information about the target than just that available
- #~ through the properties. This is useful in implementing
- #~ name changes based on the sources of the target. For example to
- #~ make unique names of object files based on the source file.
- #~ --grafik
- ps = [ property-set.create [ $(ps).raw ] <target>$(__name__) ] ;
-
         local tag = [ $(ps).get <tag> ] ;
+ local result ;
 
         if $(tag)
         {
@@ -423,7 +401,7 @@
                     errors.error "<tag>@rulename is present but is not the only <tag> feature" ;
                 }
                 
- self.name = [ indirect.call $(rule-name) $(specified-name) :
+ result = [ indirect.call $(rule-name) $(specified-name) :
                   $(self.type) : $(ps) ] ;
             }
             else
@@ -431,14 +409,57 @@
                 errors.error
                   "The value of the <tag> feature must be '@rule-nane'" ;
             }
+ }
+ return $(result) ;
+ }
+
+ rule tag-properties ( )
+ {
+ local ps ;
+ if $(self.action)
+ {
+ ps = [ $(self.action).properties ] ;
+ }
+ else
+ {
+ ps = [ property-set.empty ] ;
         }
+
         
- # If there's no tag or the tag rule returned nothing.
- if ! $(tag) || ! $(self.name)
+ #~ We add ourselves to the properties so that any tag rule can get
+ #~ more direct information about the target than just that available
+ #~ through the properties. This is useful in implementing
+ #~ name changes based on the sources of the target. For example to
+ #~ make unique names of object files based on the source file.
+ #~ --grafik
+ ps = [ property-set.create [ $(ps).raw ] <target>$(__name__) ] ;
+
+ return $(ps) ;
+ }
+
+ # Given the target name specified in constructor, returns the
+ # name which should be really used, by looking at the <tag> properties.
+ # The tag properties come in two flavour:
+ # - <tag>value,
+ # - <tag>@rule-name
+ # In the first case, value is just added to name
+ # In the second case, the specified rule is called with specified name,
+ # target type and properties and should return the new name.
+ # If not <tag> property is specified, or the rule specified by
+ # <tag> returns nothing, returns the result of calling
+ # virtual-target.add-suffix
+ rule _adjust-name ( specified-name )
+ {
+ local ps = [ tag-properties ] ;
+
+ self.name = [ apply-tag $(specified-name) : $(ps) ] ;
+ # If tag rule does not exists or returned nothing,
+ # just add prefix/suffix.
+ if ! $(self.name)
         {
             self.name = [ virtual-target.add-prefix-and-suffix
                 $(specified-name) : $(self.type) : $(ps) ] ;
- }
+ }
     }
 
     rule actualize-no-scanner ( )

Modified: trunk/tools/build/v2/nightly.sh
==============================================================================
--- trunk/tools/build/v2/nightly.sh (original)
+++ trunk/tools/build/v2/nightly.sh 2007-08-26 13:15:51 EDT (Sun, 26 Aug 2007)
@@ -18,7 +18,7 @@
 cd /tmp
 rm -rf boost-build
 echo "Checking out sources"
-cvs -d :ext:vladimir_prus_at_[hidden]:/cvsroot/boost co -P -d boost-build boost/tools > /tmp/boost_build_checkout_log
+svn co http://svn.boost.org/svn/boost/trunk/tools boost-build > /tmp/boost_build_checkout_log
 mv /tmp/boost_build_checkout_log boost-build/checkout-log
 cd boost-build/build/v2
 echo "Building packages and uploading docs"

Modified: trunk/tools/build/v2/tools/builtin.jam
==============================================================================
--- trunk/tools/build/v2/tools/builtin.jam (original)
+++ trunk/tools/build/v2/tools/builtin.jam 2007-08-26 13:15:51 EDT (Sun, 26 Aug 2007)
@@ -333,31 +333,28 @@
     rule __init__ ( name
         : project
         : shared ?
- : real-name ?
         : search *
         : action
     )
     {
- abstract-file-target.__init__ $(name) : SEARCHED_LIB : $(project)
- : $(action) ;
+ abstract-file-target.__init__ $(name) exact : SEARCHED_LIB : $(project)
+ : $(action) : ;
+
+ local rn = [ apply-tag $(name) : [ tag-properties ] ] ;
+ if $(rn)
+ {
+ self.name = $(rn) ;
+ }
         
         self.shared = $(shared) ;
- self.real-name = $(real-name) ;
- self.real-name ?= $(name) ;
         self.search = $(search) ;
     }
-
-
+
     rule shared ( )
     {
         return $(self.shared) ;
     }
-
- rule real-name ( )
- {
- return $(self.real-name) ;
- }
-
+
     rule search ( )
     {
         return $(self.search) ;
@@ -578,8 +575,8 @@
             local search = [ feature.get-values <search> : $(properties) ] ;
 
             a = [ new null-action $(property-set) ] ;
- local t = [ new searched-lib-target $(name) : $(project) : $(shared)
- : [ feature.get-values <name> : $(properties) ]
+ local lib-name = [ feature.get-values <name> : $(properties) ] ;
+ local t = [ new searched-lib-target $(lib-name) : $(project) : $(shared)
                             : $(search)
                             : $(a)
                       ] ;
@@ -809,7 +806,7 @@
         {
             if [ type.is-derived [ $(s).type ] SEARCHED_LIB ]
             {
- local name = [ $(s).real-name ] ;
+ local name = [ $(s).name ] ;
                 if [ $(s).shared ]
                 {
                     fsa += $(name) ;

Modified: trunk/tools/build/v2/tools/sun.jam
==============================================================================
--- trunk/tools/build/v2/tools/sun.jam (original)
+++ trunk/tools/build/v2/tools/sun.jam 2007-08-26 13:15:51 EDT (Sun, 26 Aug 2007)
@@ -54,6 +54,13 @@
 
 flags sun.compile.c++ OPTIONS <inlining>off : +d ;
 
+# The -m32 and -m64 options are supported starting
+# with Sun Studio 12. On earlier compilers, the
+# 'address-model' feature is not supported and should not
+# be used. Instead, use -xarch=generic64 command line
+# option.
+# See http://svn.boost.org/trac/boost/ticket/1186
+# for details.
 flags sun OPTIONS <address-model>32 : -m32 ;
 flags sun OPTIONS <address-model>64 : -m64 ;
 # On sparc, there's a difference between -Kpic

Modified: trunk/tools/build/v2/util/path.jam
==============================================================================
--- trunk/tools/build/v2/util/path.jam (original)
+++ trunk/tools/build/v2/util/path.jam 2007-08-26 13:15:51 EDT (Sun, 26 Aug 2007)
@@ -380,7 +380,14 @@
                 errors.error $(child) is not a subdir of $(parent) ;
             }
         }
- return [ join $(split2) ] ;
+ if $(split2)
+ {
+ return [ join $(split2) ] ;
+ }
+ else
+ {
+ return "." ;
+ }
     }
 }
 


Boost-Commit 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