[SM-Commit] GIT changes to master grimoire by Robin Cook (63cd1378fc2f4bc37f17f7efa04f2fde91b6b887)

Robin Cook scm at sourcemage.org
Thu Nov 24 01:05:48 EST 2011


GIT changes to master grimoire by Robin Cook <rcook at wyrms.net>:

 libs/boost/HISTORY             |    2 +
 libs/boost/PRE_BUILD           |    1 
 libs/boost/boost-foreach.patch |   68 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 71 insertions(+)

New commits:
commit 63cd1378fc2f4bc37f17f7efa04f2fde91b6b887
Author: Robin Cook <rcook at wyrms.net>
Commit: Robin Cook <rcook at wyrms.net>

    boost: added patch to fix wesnoth build

diff --git a/libs/boost/HISTORY b/libs/boost/HISTORY
index ebf887f..bb0aa07 100644
--- a/libs/boost/HISTORY
+++ b/libs/boost/HISTORY
@@ -1,5 +1,7 @@
 2011-11-23 Robin Cook <rcook at wyrms.net>
 	* DETAILS: updated VERSION to 1_48_0
+	* PRE_BUILD: added appying foreach patch
+	  https://svn.boost.org/trac/boost/ticket/6131
 
 2011-08-18 Bor Kraljič <pyrobor at ver.si>
 	* PRE_BUILD: added patch converter_policies_hpp.patch so rocs compiles without an error
diff --git a/libs/boost/PRE_BUILD b/libs/boost/PRE_BUILD
index ff9a3f2..a438fb5 100755
--- a/libs/boost/PRE_BUILD
+++ b/libs/boost/PRE_BUILD
@@ -3,5 +3,6 @@ message "${MESSAGE_COLOR}Allow providing our own CXXFLAGS...${DEFAULT_COLOR}" &&
 patch $SOURCE_DIRECTORY/tools/build/v2/tools/gcc.jam \
       $SCRIPT_DIRECTORY/boost-use-cxxflags.patch &&
 patch -p1 -d $SOURCE_DIRECTORY < $SCRIPT_DIRECTORY/converter_policies_hpp.patch &&
+patch -p1 -d $SOURCE_DIRECTORY < $SCRIPT_DIRECTORY/boost-foreach.patch &&
 message "patching done"
 
diff --git a/libs/boost/boost-foreach.patch b/libs/boost/boost-foreach.patch
new file mode 100644
index 0000000..363fb98
--- /dev/null
+++ b/libs/boost/boost-foreach.patch
@@ -0,0 +1,68 @@
+diff -ur boost_1_48_0/boost/foreach_fwd.hpp boost-mod/boost/foreach_fwd.hpp
+--- boost_1_48_0/boost/foreach_fwd.hpp	2010-06-10 10:22:27.000000000 -0500
++++ boost-mod/boost/foreach_fwd.hpp	2011-11-23 23:12:33.314912050 -0600
+@@ -14,6 +14,8 @@
+ #ifndef BOOST_FOREACH_FWD_HPP
+ #define BOOST_FOREACH_FWD_HPP
+ 
++#include <utility> // for std::pair
++
+ // This must be at global scope, hence the uglified name
+ enum boost_foreach_argument_dependent_lookup_hack
+ {
+@@ -25,6 +27,9 @@
+ 
+ namespace foreach
+ {
++    template<typename T>
++    std::pair<T, T> in_range(T begin, T end);
++
+     ///////////////////////////////////////////////////////////////////////////////
+     // boost::foreach::tag
+     //
+@@ -46,6 +51,24 @@
+ 
+ } // namespace foreach
+ 
++// Workaround for unfortunate https://svn.boost.org/trac/boost/ticket/6131 
++namespace BOOST_FOREACH 
++{ 
++    using foreach::in_range; 
++    using foreach::tag; 
++ 
++    template<typename T> 
++    struct is_lightweight_proxy 
++      : foreach::is_lightweight_proxy<T> 
++    {}; 
++ 
++    template<typename T> 
++    struct is_noncopyable 
++      : foreach::is_noncopyable<T> 
++    {}; 
++ 
++} // namespace BOOST_FOREACH 
++	 
+ } // namespace boost
+ 
+ #endif
+diff -ur boost_1_48_0/boost/foreach.hpp boost-mod/boost/foreach.hpp
+--- boost_1_48_0/boost/foreach.hpp	2011-10-20 22:46:27.000000000 -0500
++++ boost-mod/boost/foreach.hpp	2011-11-23 23:08:21.403914875 -0600
+@@ -165,7 +165,7 @@
+ //   this one works on legacy compilers. Overload boost_foreach_is_lightweight_proxy
+ //   at the global namespace for your type.
+ template<typename T>
+-inline boost::foreach::is_lightweight_proxy<T> *
++inline boost::BOOST_FOREACH::is_lightweight_proxy<T> *
+ boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
+ 
+ template<typename T>
+@@ -190,7 +190,7 @@
+ //   this one works on legacy compilers. Overload boost_foreach_is_noncopyable
+ //   at the global namespace for your type.
+ template<typename T>
+-inline boost::foreach::is_noncopyable<T> *
++inline boost::BOOST_FOREACH::is_noncopyable<T> *
+ boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
+ 
+ namespace boost


More information about the SM-Commit mailing list