$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r52173 - trunk/tools/build/v2
From: ghost_at_[hidden]
Date: 2009-04-04 17:15:10
Author: vladimir_prus
Date: 2009-04-04 17:15:09 EDT (Sat, 04 Apr 2009)
New Revision: 52173
URL: http://svn.boost.org/trac/boost/changeset/52173
Log:
Adjust the search for project-config.jam.
Text files modified: 
   trunk/tools/build/v2/build-system.jam |    23 ++++++++++++++++-------                 
   1 files changed, 16 insertions(+), 7 deletions(-)
Modified: trunk/tools/build/v2/build-system.jam
==============================================================================
--- trunk/tools/build/v2/build-system.jam	(original)
+++ trunk/tools/build/v2/build-system.jam	2009-04-04 17:15:09 EDT (Sat, 04 Apr 2009)
@@ -388,14 +388,23 @@
             ECHO "notice: User configuration file loading explicitly disabled." ;
         }
     }
-    
-    initialize-config-module project-config ;
-    
-    if [ project.find "." : "." ]
+        
+    # We look for project-config.jam from "." upward.
+    # I am not sure this is 100% right decision, we might as well check for
+    # it only alonside the Jamroot file. However:
+    #
+    # - We need to load project-root.jam before Jamroot
+    # - We probably would need to load project-root.jam even if there's no
+    #   Jamroot - e.g. to implement automake-style out-of-tree builds.
+    local file = [ path.glob "." : project-config.jam ] ;
+    if ! $(file)
+    {
+        file = [ path.glob-in-parents "." : project-config.jam ] ;
+    }
+    if $(file)
     {
-        local project-module = [ project.load "." ] ;
-        local root = [ project.attribute $(project-module) project-root ] ;
-        load-config project-config : project-config.jam : $(root) ;        
+        initialize-config-module project-config ;
+        load-config project-config : project-config.jam : $(file:D) ;        
     }   
 }