$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r59865 - trunk/tools/jam/src
From: ghost_at_[hidden]
Date: 2010-02-24 07:08:58
Author: vladimir_prus
Date: 2010-02-24 07:08:58 EST (Wed, 24 Feb 2010)
New Revision: 59865
URL: http://svn.boost.org/trac/boost/changeset/59865
Log:
Add 'ignore -n' option to BUILTIN_UPDATE_NOW.
Text files modified: 
   trunk/tools/jam/src/builtins.c |    21 ++++++++++++++++++---                   
   1 files changed, 18 insertions(+), 3 deletions(-)
Modified: trunk/tools/jam/src/builtins.c
==============================================================================
--- trunk/tools/jam/src/builtins.c	(original)
+++ trunk/tools/jam/src/builtins.c	2010-02-24 07:08:58 EST (Wed, 24 Feb 2010)
@@ -1290,18 +1290,22 @@
    updates them.
    Second parameter, if specified, if the descriptor (converted to a string)
    of a log file where all build output is redirected.
+   Third parameter, if non-empty, specifies that the -n option should have
+   no effect -- that is, all out-of-date targets should be rebuild.
 */
 LIST * builtin_update_now( PARSE * parse, FRAME * frame )
 {
     LIST * targets = lol_get( frame->args, 0 );
     LIST * log = lol_get( frame->args, 1 );
+    LIST * force = lol_get (frame->args, 2);
     int status = 0;
     int original_stdout;
     int original_stderr;
     int n;
-	int targets_count;
-	const char** targets2;
-	int i;
+    int targets_count;
+    const char** targets2;
+    int i;
+    int original_noexec;
         
 
     if (log)
@@ -1314,6 +1318,12 @@
         dup2 (fd, 1);
     }
 
+    if (force)
+    {
+        original_noexec = globs.noexec;
+        globs.noexec = 0;
+    }
+
     targets_count = list_length( targets );
     targets2 = (const char * *)BJAM_MALLOC( targets_count * sizeof( char * ) );    
     for (i = 0 ; targets; targets = list_next( targets ) )
@@ -1321,6 +1331,11 @@
     status |= make( targets_count, targets2, anyhow);
     free( targets );
 
+    if (force)
+    {
+        globs.noexec = original_noexec;
+    }
+
     if (log)
     {
         /* Flush whatever stdio might have buffered, while descriptions