$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r54895 - in trunk/tools/build/v2: tools util
From: ghost_at_[hidden]
Date: 2009-07-11 11:52:42
Author: vladimir_prus
Date: 2009-07-11 11:52:41 EDT (Sat, 11 Jul 2009)
New Revision: 54895
URL: http://svn.boost.org/trac/boost/changeset/54895
Log:
If --prefix is specified on command line, ignore bin/lib dir from config file.
Text files modified: 
   trunk/tools/build/v2/tools/package.jam |    12 +++++++++++-                            
   trunk/tools/build/v2/util/option.jam   |     2 +-                                      
   2 files changed, 12 insertions(+), 2 deletions(-)
Modified: trunk/tools/build/v2/tools/package.jam
==============================================================================
--- trunk/tools/build/v2/tools/package.jam	(original)
+++ trunk/tools/build/v2/tools/package.jam	2009-07-11 11:52:41 EDT (Sat, 11 Jul 2009)
@@ -36,10 +36,20 @@
 import property ;
 import stage ;
 import targets ;
-
+import modules ;
 
 rule install ( name : requirements * : binaries * : libraries * : headers * )
 {
+    if [ MATCH --prefix=(.*) : [ modules.peek : ARGV ] ]
+    {
+        # If --prefix is explicitly specified on the command line,
+        # then we need wipe away any settings of libdir/includir that
+        # is specified via options in config files.
+        option.set bindir : ;
+        option.set libdir : ;
+        option.set includedir : ;
+    }
+            
     # If <install-source-root> is not specified, all headers are installed to
     # prefix/include, no matter what their relative path is. Sometimes that is
     # what is needed.
Modified: trunk/tools/build/v2/util/option.jam
==============================================================================
--- trunk/tools/build/v2/util/option.jam	(original)
+++ trunk/tools/build/v2/util/option.jam	2009-07-11 11:52:41 EDT (Sat, 11 Jul 2009)
@@ -8,7 +8,7 @@
 
 # Set a value for a named option, to be used when not overridden on the command
 # line.
-rule set ( name : value )
+rule set ( name : value ? )
 {
     .option.$(name) = $(value) ;
 }