Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r49006 - trunk/tools/build/v2/tools
From: ghost_at_[hidden]
Date: 2008-09-29 11:13:58


Author: vladimir_prus
Date: 2008-09-29 11:13:57 EDT (Mon, 29 Sep 2008)
New Revision: 49006
URL: http://svn.boost.org/trac/boost/changeset/49006

Log:
New main target class 'message'.

Added:
   trunk/tools/build/v2/tools/message.jam (contents, props changed)
Text files modified:
   trunk/tools/build/v2/tools/builtin.jam | 1 +
   1 files changed, 1 insertions(+), 0 deletions(-)

Modified: trunk/tools/build/v2/tools/builtin.jam
==============================================================================
--- trunk/tools/build/v2/tools/builtin.jam (original)
+++ trunk/tools/build/v2/tools/builtin.jam 2008-09-29 11:13:57 EDT (Mon, 29 Sep 2008)
@@ -27,6 +27,7 @@
 import types/register ;
 import utility ;
 import virtual-target ;
+import message ;
 
 # FIXME: the following generate module import is not needed here but removing it
 # too hastly will break using code (e.g. the main Boost library Jamroot file)

Added: trunk/tools/build/v2/tools/message.jam
==============================================================================
--- (empty file)
+++ trunk/tools/build/v2/tools/message.jam 2008-09-29 11:13:57 EDT (Mon, 29 Sep 2008)
@@ -0,0 +1,55 @@
+# Copyright 2008 Vladimir Prus
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+
+# Defines main target type 'message', that prints a message when built for the
+# first time.
+
+import project ;
+import "class" : new ;
+import targets ;
+import property-set ;
+
+class message-target-class : basic-target
+{
+ rule __init__ ( name-and-dir : project : * )
+ {
+ basic-target.__init__ $(name-and-dir) : $(project) ;
+ self.3 = $(3) ;
+ self.4 = $(4) ;
+ self.5 = $(5) ;
+ self.6 = $(6) ;
+ self.7 = $(7) ;
+ self.8 = $(8) ;
+ self.9 = $(9) ;
+ self.built = ;
+ }
+
+ rule construct ( name : source-targets * : property-set )
+ {
+ if ! $(self.built)
+ {
+ for i in 3 4 5 6 7 8 9
+ {
+ if $(self.$(i))
+ {
+ ECHO $(self.$(i)) ;
+ }
+ }
+ self.built = 1 ;
+ }
+
+ return [ property-set.empty ] ;
+ }
+}
+
+
+rule message ( name : * )
+{
+ local project = [ project.current ] ;
+
+ targets.main-target-alternative
+ [ new message-target-class $(name) : $(project)
+ : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) ] ;
+}
+IMPORT $(__name__) : message : : message ;
\ No newline at end of file


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