$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r55202 - trunk/tools/build/v2/kernel
From: ghost_at_[hidden]
Date: 2009-07-30 14:43:15
Author: vladimir_prus
Date: 2009-07-27 05:22:07 EDT (Mon, 27 Jul 2009)
New Revision: 55202
URL: http://svn.boost.org/trac/boost/changeset/55202
Log:
Add Python bootstrap code
Added:
   trunk/tools/build/v2/kernel/bootstrap.py   (contents, props changed)
Added: trunk/tools/build/v2/kernel/bootstrap.py
==============================================================================
--- (empty file)
+++ trunk/tools/build/v2/kernel/bootstrap.py	2009-07-27 05:22:07 EDT (Mon, 27 Jul 2009)
@@ -0,0 +1,25 @@
+# Copyright 2009 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)
+
+import imp
+import sys
+
+def bootstrap(root_path):
+    """Performs python-side bootstrapping of Boost.Build/Python.
+
+    This function arranges for 'b2.whatever' package names to work, while also
+    allowing to put python files alongside corresponding jam modules.
+    """
+
+    m = imp.new_module("b2")
+    # Note that:
+    # 1. If __path__ is not list of strings, nothing will work
+    # 2. root_path is already list of strings.
+    m.__path__ = root_path
+    sys.modules["b2"] = m
+
+    import b2.build_system
+    b2.build_system.main()
+