From 933c684281b831ced7f4cd782ed3d39f0a7d2149 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Sun, 3 Jul 2011 11:08:28 -0400
Subject: [PATCH] Enables Nicolas's multiple-shipped-boost-packages patch.

---
 aksetup_helper.py | 18 ++++++++++++++++--
 bpl-subset        |  2 +-
 setup.py          |  2 +-
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/aksetup_helper.py b/aksetup_helper.py
index 9c6c1d39..88bdb916 100644
--- a/aksetup_helper.py
+++ b/aksetup_helper.py
@@ -513,7 +513,7 @@ class BoostLibraries(Libraries):
                 help="Library names for Boost C++ %s library (without lib or .so)"
                     % humanize(lib_base_name))
 
-def set_up_shipped_boost_if_requested(conf):
+def set_up_shipped_boost_if_requested(project_name, conf):
     """Set up the package to use a shipped version of Boost.
 
     Return a tuple of a list of extra C files to build and extra
@@ -558,7 +558,6 @@ def set_up_shipped_boost_if_requested(conf):
         source_files = [f for f in source_files
                 if not f.startswith("bpl-subset/bpl_subset/libs/thread/src")]
 
-        import sys
         if sys.platform == "win32":
             source_files += glob(
                     "bpl-subset/bpl_subset/libs/thread/src/win32/*.cpp")
@@ -566,10 +565,25 @@ def set_up_shipped_boost_if_requested(conf):
             source_files += glob(
                     "bpl-subset/bpl_subset/libs/thread/src/pthread/*.cpp")
 
+        from os.path import isdir
+        main_boost_inc = "bpl-subset/bpl_subset/boost"
+        bpl_project_boost_inc = "bpl-subset/bpl_subset/%sboost" % project_name
+
+        if not isdir(bpl_project_boost_inc):
+            try:
+                from os import symlink
+            except ImportError:
+                from shutil import copytree
+                print "Copying files, hang on... (do not interrupt)"
+                copytree(main_boost_inc, bpl_project_boost_inc)
+            else:
+                symlink("boost", bpl_project_boost_inc)
+
         return (source_files,
                 {
                     "BOOST_MULTI_INDEX_DISABLE_SERIALIZATION": 1,
                     "BOOST_PYTHON_SOURCE": 1,
+                    "boost": '%sboost' % project_name
                     }
                 )
     else:
diff --git a/bpl-subset b/bpl-subset
index 85bf4439..fa93a1f9 160000
--- a/bpl-subset
+++ b/bpl-subset
@@ -1 +1 @@
-Subproject commit 85bf4439e019df899a2a659fff529b11ea37270d
+Subproject commit fa93a1f93a811c6130eb34b10eb9e8c25667d2b5
diff --git a/setup.py b/setup.py
index 4deffa95..a514ceb6 100644
--- a/setup.py
+++ b/setup.py
@@ -52,7 +52,7 @@ def main():
     hack_distutils()
     conf = get_config(get_config_schema(),
             warn_about_no_config=False)
-    EXTRA_OBJECTS, EXTRA_DEFINES = set_up_shipped_boost_if_requested(conf)
+    EXTRA_OBJECTS, EXTRA_DEFINES = set_up_shipped_boost_if_requested("pyopencl", conf)
 
     LIBRARY_DIRS = conf["BOOST_LIB_DIR"]
     LIBRARIES = conf["BOOST_PYTHON_LIBNAME"]
-- 
GitLab