File glucat-build-with-updated-boost.patch of Package glucat

diff -rub glucat-0.7.1/glucat/framed_multi.h glucat-0.7.1.patched/glucat/framed_multi.h
--- glucat-0.7.1/glucat/framed_multi.h	2012-10-10 23:49:20.000000000 +1100
+++ glucat-0.7.1.patched/glucat/framed_multi.h	2013-06-08 16:24:08.000000000 +1000
@@ -35,8 +35,10 @@
 #include "glucat/errors.h"
 #include "glucat/clifford_algebra.h"
 
+#if defined(_GLUCAT_USE_BOOST_POOL_ALLOC)
 // Use the Boost pool allocator
 #include <boost/pool/poolfwd.hpp>
+#endif
 
 #include <string>
 #include <utility>
@@ -151,8 +153,11 @@
   private std::unordered_map< const index_set<LO,HI>, Scalar_T, index_set_hash<LO,HI> >
 #else
   private std::map< const index_set<LO,HI>, Scalar_T,
-                    std::less< const index_set<LO,HI> >,
-                    boost::fast_pool_allocator< std::pair<const index_set<LO,HI>, Scalar_T> > >
+                    std::less< const index_set<LO,HI> >
+#if defined(_GLUCAT_USE_BOOST_POOL_ALLOC)
+                  , boost::fast_pool_allocator< std::pair<const index_set<LO,HI>, Scalar_T> > 
+#endif                  
+                  >
 #endif
   {
   public:
@@ -171,8 +176,11 @@
     typedef class var_term                             var_term_t;
     typedef typename matrix_multi_t::matrix_t          matrix_t;
     typedef std::map< const index_set_t, Scalar_T,
-                      std::less<const index_set_t>,
-                      boost::fast_pool_allocator<term_t> >
+                      std::less<const index_set_t>
+#if defined(_GLUCAT_USE_BOOST_POOL_ALLOC)
+                    , boost::fast_pool_allocator<term_t>
+#endif                     
+                    >
                                                        sorted_map_t;
 #if defined(_GLUCAT_USE_GNU_CXX_HASH_MAP)
     typedef       __gnu_cxx::hash_map< const index_set_t, Scalar_T, index_set_hash<LO,HI> >
diff -rub glucat-0.7.1/glucat/framed_multi_imp.h glucat-0.7.1.patched/glucat/framed_multi_imp.h
--- glucat-0.7.1/glucat/framed_multi_imp.h	2012-11-07 00:38:27.000000000 +1100
+++ glucat-0.7.1.patched/glucat/framed_multi_imp.h	2013-06-08 16:23:42.000000000 +1000
@@ -36,8 +36,10 @@
 
 #include "glucat/random.h"
 
+#if defined(_GLUCAT_USE_BOOST_POOL_ALLOC)
 // Use the Boost pool allocator
 #include <boost/pool/pool_alloc.hpp>
+#endif
 
 #include <sstream>
 #include <fstream>
diff -rub glucat-0.7.1/INSTALL glucat-0.7.1.patched/INSTALL
--- glucat-0.7.1/INSTALL	2012-11-10 19:54:41.000000000 +1100
+++ glucat-0.7.1.patched/INSTALL	2013-06-08 17:27:14.000000000 +1000
@@ -325,6 +325,32 @@
   This tells g++ to use the 2011 C++ standard.
 
 
+[Added in patch for openSUSE Build Service using Boost 1.53.0:]
+
+If _GLUCAT_USE_BOOST_POOL_ALLOC is defined, glucat/framed_multi.h includes
+the header file <boost/pool/poolfwd.hpp> and defines glucat::framed_multi<>
+using boost::fast_pool_allocator<>; and glucat/framed_multi.h includes
+the header file <boost/pool/pool_alloc.hpp>.
+
+If you are compiling your own programs using the GluCat library, to use the
+Boost pool allocator, your Makefile needs to pass the following flag to the
+C++ compiler:  "-D_GLUCAT_USE_BOOST_POOL_ALLOC"
+
+You will also need to ensure that the include path used by the compiler sees
+<boost/pool/poolfwd.hpp> and <boost/pool/pool_alloc.hpp>. In addition, if you
+are using Boost 1.50.0 or later, your Makefile needs to pass the following flag 
+to the C++ compiler, after all the linker-related flags: "-lboost_system"
+
+You will also need to ensure that the library path sees libboost_system.*.
+This requires that you have the Boost libraries built and installed.
+See http://www.boost.org/doc/libs/1_53_0/more/getting_started/index.html
+and Boost tickets
+https://svn.boost.org/trac/boost/ticket/7085
+https://svn.boost.org/trac/boost/ticket/7335
+
+[End of addition for openSUSE Build Service using Boost 1.53.0]
+
+
   --with-dense-mat        uses dense matrices [default=yes]
 
 This option controls the preprocessor symbol _GLUCAT_USE_DENSE_MATRICES that
openSUSE Build Service is sponsored by