Commit 1.41.0

This commit is contained in:
Petr Machata 2010-01-15 16:36:38 +00:00
parent 456c3cfce0
commit 1891c7ba66
19 changed files with 257 additions and 1283 deletions

View File

@ -1 +1 @@
boost_1_39_0.tar.bz2 boost-1.41.0.cmake0.tar.bz2

View File

@ -1,15 +0,0 @@
--- boost/dynamic_bitset/dynamic_bitset.hpp.debug 2008-10-22 03:13:59.000000000 +0900
+++ boost/dynamic_bitset/dynamic_bitset.hpp 2009-03-23 03:36:40.000000000 +0900
@@ -1017,8 +1017,11 @@
? access_by_bytes
: access_by_blocks;
+ if (mode)
+ return do_count(m_bits.begin(), num_blocks(), Block(0),
+ static_cast<value_to_type<true> *>(0));
return do_count(m_bits.begin(), num_blocks(), Block(0),
- static_cast<value_to_type<mode> *>(0));
+ static_cast<value_to_type<false> *>(0));
}

19
boost-cmake-soname.patch Normal file
View File

@ -0,0 +1,19 @@
*** tools/build/CMake/BoostCore.cmake.orig 2010-01-12 20:01:46.006547352 -0800
--- tools/build/CMake/BoostCore.cmake 2010-01-12 20:02:54.222546929 -0800
*************** macro(boost_library_variant LIBNAME)
*** 755,761 ****
if (BUILD_SOVERSIONED)
set_target_properties(${VARIANT_LIBNAME}
PROPERTIES
! SOVERSION "${BOOST_VERSION}"
)
endif()
endif ()
--- 755,761 ----
if (BUILD_SOVERSIONED)
set_target_properties(${VARIANT_LIBNAME}
PROPERTIES
! SOVERSION "6"
)
endif()
endif ()

View File

@ -1,163 +0,0 @@
Index: boost/filesystem/operations.hpp
===================================================================
--- boost/filesystem/operations.hpp (revision 52859)
+++ boost/filesystem/operations.hpp (working copy)
@@ -659,9 +659,9 @@
{ return is_symlink<wpath>( ph ); }
inline bool is_empty( const path & ph )
- { return is_empty<path>( ph ); }
+ { return boost::filesystem::is_empty<path>( ph ); }
inline bool is_empty( const wpath & ph )
- { return is_empty<wpath>( ph ); }
+ { return boost::filesystem::is_empty<wpath>( ph ); }
inline bool equivalent( const path & ph1, const path & ph2 )
{ return equivalent<path>( ph1, ph2 ); }
Index: libs/filesystem/test/path_test.cpp
===================================================================
--- libs/filesystem/test/path_test.cpp (revision 52859)
+++ libs/filesystem/test/path_test.cpp (working copy)
@@ -27,9 +27,8 @@
namespace fs = boost::filesystem;
using boost::filesystem::path;
-using boost::next;
-using boost::prior;
+
#include <boost/detail/lightweight_test.hpp>
#define PATH_CHECK( a, b ) check( a, b, __LINE__ )
@@ -480,18 +479,18 @@
itr_ck = "foo";
BOOST_TEST( *itr_ck.begin() == std::string( "foo" ) );
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
itr_ck = path( "/foo" );
BOOST_TEST( *itr_ck.begin() == std::string( "/" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) );
- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
- BOOST_TEST( next( itr_ck.begin() ) == prior( itr_ck.end() ) );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) );
- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
+ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == boost::prior( itr_ck.end() ) );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
+ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
itr_ck = "/foo/bar";
itr = itr_ck.begin();
@@ -1106,65 +1105,65 @@
itr_ck = path( "c:" );
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "c:" ) );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "c:" ) );
itr_ck = path( "c:/" );
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
- BOOST_TEST( next( next( itr_ck.begin() )) == itr_ck.end() );
- BOOST_TEST( prior( prior( itr_ck.end() )) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "/" ) );
- BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "c:" ) );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
+ BOOST_TEST( boost::next( boost::next( itr_ck.begin() )) == itr_ck.end() );
+ BOOST_TEST( boost::prior( boost::prior( itr_ck.end() )) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "/" ) );
+ BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "c:" ) );
itr_ck = path( "c:foo" );
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "foo" ) );
- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "c:" ) );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "foo" ) );
+ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
+ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "c:" ) );
itr_ck = path( "c:/foo" );
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
- BOOST_TEST( *next( next( itr_ck.begin() )) == std::string( "foo" ) );
- BOOST_TEST( next( next( next( itr_ck.begin() ))) == itr_ck.end() );
- BOOST_TEST( prior( prior( prior( itr_ck.end() ))) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( *prior( prior( itr_ck.end() )) == std::string( "/" ) );
- BOOST_TEST( *prior( prior( prior( itr_ck.end() ))) == std::string( "c:" ) );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
+ BOOST_TEST( *boost::next( boost::next( itr_ck.begin() )) == std::string( "foo" ) );
+ BOOST_TEST( boost::next( boost::next( boost::next( itr_ck.begin() ))) == itr_ck.end() );
+ BOOST_TEST( boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( *boost::prior( boost::prior( itr_ck.end() )) == std::string( "/" ) );
+ BOOST_TEST( *boost::prior( boost::prior( boost::prior( itr_ck.end() ))) == std::string( "c:" ) );
itr_ck = path( "//net" );
BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "//net" ) );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "//net" ) );
itr_ck = path( "//net/" );
CHECK_EQUAL( *itr_ck.begin(), "//net" );
- CHECK_EQUAL( *next( itr_ck.begin() ), "/" );
- BOOST_TEST( next(next( itr_ck.begin() )) == itr_ck.end() );
- BOOST_TEST( prior(prior( itr_ck.end() )) == itr_ck.begin() );
- CHECK_EQUAL( *prior( itr_ck.end() ), "/" );
- CHECK_EQUAL( *prior(prior( itr_ck.end() )), "//net" );
+ CHECK_EQUAL( *boost::next( itr_ck.begin() ), "/" );
+ BOOST_TEST( boost::next(boost::next( itr_ck.begin() )) == itr_ck.end() );
+ BOOST_TEST( boost::prior(boost::prior( itr_ck.end() )) == itr_ck.begin() );
+ CHECK_EQUAL( *boost::prior( itr_ck.end() ), "/" );
+ CHECK_EQUAL( *boost::prior(boost::prior( itr_ck.end() )), "//net" );
itr_ck = path( "//net/foo" );
BOOST_TEST( *itr_ck.begin() == std::string( "//net" ) );
- BOOST_TEST( *next( itr_ck.begin() ) == std::string( "/" ) );
- BOOST_TEST( *next(next( itr_ck.begin() )) == std::string( "foo" ) );
- BOOST_TEST( next(next(next( itr_ck.begin() ))) == itr_ck.end() );
- BOOST_TEST( prior(prior(prior( itr_ck.end() ))) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
- BOOST_TEST( *prior(prior( itr_ck.end() )) == std::string( "/" ) );
- BOOST_TEST( *prior(prior(prior( itr_ck.end() ))) == std::string( "//net" ) );
+ BOOST_TEST( *boost::next( itr_ck.begin() ) == std::string( "/" ) );
+ BOOST_TEST( *boost::next(boost::next( itr_ck.begin() )) == std::string( "foo" ) );
+ BOOST_TEST( boost::next(boost::next(boost::next( itr_ck.begin() ))) == itr_ck.end() );
+ BOOST_TEST( boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "foo" ) );
+ BOOST_TEST( *boost::prior(boost::prior( itr_ck.end() )) == std::string( "/" ) );
+ BOOST_TEST( *boost::prior(boost::prior(boost::prior( itr_ck.end() ))) == std::string( "//net" ) );
itr_ck = path( "prn:" );
BOOST_TEST( *itr_ck.begin() == std::string( "prn:" ) );
- BOOST_TEST( next( itr_ck.begin() ) == itr_ck.end() );
- BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
- BOOST_TEST( *prior( itr_ck.end() ) == std::string( "prn:" ) );
+ BOOST_TEST( boost::next( itr_ck.begin() ) == itr_ck.end() );
+ BOOST_TEST( boost::prior( itr_ck.end() ) == itr_ck.begin() );
+ BOOST_TEST( *boost::prior( itr_ck.end() ) == std::string( "prn:" ) );
} // Windows
else

View File

@ -1,15 +0,0 @@
diff -ru boost/function/function_template.hpp boost/function/function_template.hpp
--- boost/function/function_template.hpp 2009-05-10 10:31:29.000000000 +0100
+++ boost/function/function_template.hpp 2009-05-10 10:49:46.000000000 +0100
@@ -950,10 +950,10 @@
f.vtable->manager(f.functor, this->functor,
boost::detail::function::move_functor_tag);
f.vtable = 0;
-#if !defined(BOOST_NO_EXCEPTIONS)
} else {
clear();
}
+#if !defined(BOOST_NO_EXCEPTIONS)
} catch (...) {
vtable = 0;
throw;

View File

@ -1,204 +0,0 @@
Index: boost/gil/bit_aligned_pixel_reference.hpp
===================================================================
--- boost/gil/bit_aligned_pixel_reference.hpp (revision 53049)
+++ boost/gil/bit_aligned_pixel_reference.hpp (working copy)
@@ -145,7 +145,7 @@
// Construct from another compatible pixel type
bit_aligned_pixel_reference(const bit_aligned_pixel_reference& p) : _bit_range(p._bit_range) {}
- template <typename BF, typename CR> bit_aligned_pixel_reference(packed_pixel<BF,CR,Layout>& p) : _bit_range(static_cast<data_ptr_t>(&at_c<0>(p)), at_c<0>(p).first_bit()) {
+ template <typename BF, typename CR> bit_aligned_pixel_reference(packed_pixel<BF,CR,Layout>& p) : _bit_range(static_cast<data_ptr_t>(&gil::at_c<0>(p)), gil::at_c<0>(p).first_bit()) {
check_compatible<packed_pixel<BF,CR,Layout> >();
}
Index: boost/gil/color_base.hpp
===================================================================
--- boost/gil/color_base.hpp (revision 53049)
+++ boost/gil/color_base.hpp (working copy)
@@ -155,15 +155,15 @@
homogeneous_color_base(Element v0, Element v1, Element v2) : _v0(v0), _v1(v1), _v2(v2) {}
template <typename E2, typename L2> homogeneous_color_base(const homogeneous_color_base<E2,L2,3>& c) :
- _v0(at_c<mapping_transform<Layout,L2,0>::value>(c)),
- _v1(at_c<mapping_transform<Layout,L2,1>::value>(c)),
- _v2(at_c<mapping_transform<Layout,L2,2>::value>(c)) {}
+ _v0(gil::at_c<mapping_transform<Layout,L2,0>::value>(c)),
+ _v1(gil::at_c<mapping_transform<Layout,L2,1>::value>(c)),
+ _v2(gil::at_c<mapping_transform<Layout,L2,2>::value>(c)) {}
// Support for l-value reference proxy copy construction
template <typename E2, typename L2> homogeneous_color_base( homogeneous_color_base<E2,L2,3>& c) :
- _v0(at_c<mapping_transform<Layout,L2,0>::value>(c)),
- _v1(at_c<mapping_transform<Layout,L2,1>::value>(c)),
- _v2(at_c<mapping_transform<Layout,L2,2>::value>(c)) {}
+ _v0(gil::at_c<mapping_transform<Layout,L2,0>::value>(c)),
+ _v1(gil::at_c<mapping_transform<Layout,L2,1>::value>(c)),
+ _v2(gil::at_c<mapping_transform<Layout,L2,2>::value>(c)) {}
// Support for planar_pixel_iterator construction and dereferencing
template <typename P> homogeneous_color_base(P* p,bool) :
Index: boost/gil/color_base_algorithm.hpp
===================================================================
--- boost/gil/color_base_algorithm.hpp (revision 53049)
+++ boost/gil/color_base_algorithm.hpp (working copy)
@@ -101,7 +101,7 @@
template <typename ColorBase, int K> struct kth_semantic_element_reference_type {
BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c<typename ColorBase::layout_t::channel_mapping_t,K>::type::value));
typedef typename kth_element_reference_type<ColorBase,semantic_index>::type type;
- static type get(ColorBase& cb) { return at_c<semantic_index>(cb); }
+ static type get(ColorBase& cb) { return gil::at_c<semantic_index>(cb); }
};
/// \brief Specifies the return type of the constant semantic_at_c<K>(color_base);
@@ -109,7 +109,7 @@
template <typename ColorBase, int K> struct kth_semantic_element_const_reference_type {
BOOST_STATIC_CONSTANT(int, semantic_index = (mpl::at_c<typename ColorBase::layout_t::channel_mapping_t,K>::type::value));
typedef typename kth_element_const_reference_type<ColorBase,semantic_index>::type type;
- static type get(const ColorBase& cb) { return at_c<semantic_index>(cb); }
+ static type get(const ColorBase& cb) { return gil::at_c<semantic_index>(cb); }
};
/// \brief A mutable accessor to the K-th semantic element of a color base
Index: boost/gil/image_view_factory.hpp
===================================================================
--- boost/gil/image_view_factory.hpp (revision 53049)
+++ boost/gil/image_view_factory.hpp (working copy)
@@ -102,7 +102,7 @@
BOOST_STATIC_ASSERT((!is_planar<HomogeneousView>::value && view_is_basic<HomogeneousView>::value));
BOOST_STATIC_ASSERT((boost::is_pointer<typename HomogeneousView::x_iterator>::value));
- return &at_c<0>(view(0,0));
+ return &gil::at_c<0>(view(0,0));
}
/// \ingroup ImageViewConstructors
@@ -430,7 +430,7 @@
typedef typename type::xy_locator locator_t;
typedef typename type::x_iterator x_iterator_t;
typedef typename iterator_adaptor_get_base<x_iterator_t>::type x_iterator_base_t;
- x_iterator_t sit(x_iterator_base_t(&at_c<K>(src(0,0))),src.pixels().pixel_size());
+ x_iterator_t sit(x_iterator_base_t(&gil::at_c<K>(src(0,0))),src.pixels().pixel_size());
return type(src.dimensions(),locator_t(sit, src.pixels().row_size()));
}
};
@@ -444,7 +444,7 @@
typedef typename view_type<channel_t, gray_layout_t, false, false, view_is_mutable<View>::value>::type type;
static type make(const View& src) {
typedef typename type::x_iterator x_iterator_t;
- return interleaved_view(src.width(),src.height(),(x_iterator_t)&at_c<K>(src(0,0)), src.pixels().row_size());
+ return interleaved_view(src.width(),src.height(),(x_iterator_t)&gil::at_c<K>(src(0,0)), src.pixels().row_size());
}
};
@@ -494,7 +494,7 @@
template <typename P> kth_channel_deref_fn(const kth_channel_deref_fn<K,P>&) {}
result_type operator()(argument_type srcP) const {
- return result_type(at_c<K>(srcP));
+ return result_type(gil::at_c<K>(srcP));
}
};
Index: boost/gil/packed_pixel.hpp
===================================================================
--- boost/gil/packed_pixel.hpp (revision 53049)
+++ boost/gil/packed_pixel.hpp (working copy)
@@ -81,7 +81,7 @@
}
packed_pixel(int chan0, int chan1, int chan2) : _bitfield(0) {
BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==3));
- at_c<0>(*this)=chan0; at_c<1>(*this)=chan1; at_c<2>(*this)=chan2;
+ gil::at_c<0>(*this)=chan0; gil::at_c<1>(*this)=chan1; gil::at_c<2>(*this)=chan2;
}
packed_pixel(int chan0, int chan1, int chan2, int chan3) : _bitfield(0) {
BOOST_STATIC_ASSERT((num_channels<packed_pixel>::value==4));
Index: boost/gil/pixel.hpp
===================================================================
--- boost/gil/pixel.hpp (revision 53049)
+++ boost/gil/pixel.hpp (working copy)
@@ -143,11 +143,11 @@
private:
static void check_gray() { BOOST_STATIC_ASSERT((is_same<typename Layout::color_space_t, gray_t>::value)); }
- template <typename Channel> void assign(const Channel& chan, mpl::false_) { check_gray(); at_c<0>(*this)=chan; }
- template <typename Channel> bool equal (const Channel& chan, mpl::false_) const { check_gray(); return at_c<0>(*this)==chan; }
+ template <typename Channel> void assign(const Channel& chan, mpl::false_) { check_gray(); gil::at_c<0>(*this)=chan; }
+ template <typename Channel> bool equal (const Channel& chan, mpl::false_) const { check_gray(); return gil::at_c<0>(*this)==chan; }
public:
- pixel& operator= (channel_t chan) { check_gray(); at_c<0>(*this)=chan; return *this; }
- bool operator==(channel_t chan) const { check_gray(); return at_c<0>(*this)==chan; }
+ pixel& operator= (channel_t chan) { check_gray(); gil::at_c<0>(*this)=chan; return *this; }
+ bool operator==(channel_t chan) const { check_gray(); return gil::at_c<0>(*this)==chan; }
};
/////////////////////////////
Index: boost/gil/planar_pixel_iterator.hpp
===================================================================
--- boost/gil/planar_pixel_iterator.hpp (revision 53049)
+++ boost/gil/planar_pixel_iterator.hpp (working copy)
@@ -109,8 +109,8 @@
reference operator->() const { return **this; }
// PERFORMANCE_CHECK: Remove?
- bool operator< (const planar_pixel_iterator& ptr) const { return at_c<0>(*this)< at_c<0>(ptr); }
- bool operator!=(const planar_pixel_iterator& ptr) const { return at_c<0>(*this)!=at_c<0>(ptr); }
+ bool operator< (const planar_pixel_iterator& ptr) const { return gil::at_c<0>(*this)< gil::at_c<0>(ptr); }
+ bool operator!=(const planar_pixel_iterator& ptr) const { return gil::at_c<0>(*this)!=gil::at_c<0>(ptr); }
private:
friend class boost::iterator_core_access;
@@ -119,8 +119,8 @@
void advance(ptrdiff_t d) { static_transform(*this,*this,std::bind2nd(detail::plus_asymmetric<ChannelPtr,ptrdiff_t>(),d)); }
reference dereference() const { return this->template deref<reference>(); }
- ptrdiff_t distance_to(const planar_pixel_iterator& it) const { return at_c<0>(it)-at_c<0>(*this); }
- bool equal(const planar_pixel_iterator& it) const { return at_c<0>(*this)==at_c<0>(it); }
+ ptrdiff_t distance_to(const planar_pixel_iterator& it) const { return gil::at_c<0>(it)-gil::at_c<0>(*this); }
+ bool equal(const planar_pixel_iterator& it) const { return gil::at_c<0>(*this)==gil::at_c<0>(it); }
};
namespace detail {
Index: libs/gil/test/pixel.cpp
===================================================================
--- libs/gil/test/pixel.cpp (revision 53049)
+++ libs/gil/test/pixel.cpp (working copy)
@@ -34,8 +34,9 @@
// Testing pixel references and values, pixel operations, color conversion
using namespace boost::gil;
-using namespace std;
+using std::swap;
using namespace boost;
+
void error_if(bool condition);
struct increment {
@@ -63,8 +64,8 @@
// test homogeneous algorithms - fill, max, min
static const int num_chan = num_channels<typename C2::pixel_t>::value;
- static_fill(C2::_pixel, at_c<0>(C1::_pixel)+1);
- error_if(at_c<0>(C2::_pixel) != at_c<num_chan-1>(C2::_pixel));
+ static_fill(C2::_pixel, gil::at_c<0>(C1::_pixel)+1);
+ error_if(gil::at_c<0>(C2::_pixel) != gil::at_c<num_chan-1>(C2::_pixel));
C2::_pixel = C1::_pixel;
error_if(static_max(C2::_pixel) != static_max(C1::_pixel));
@@ -107,7 +108,7 @@
error_if(C1::_pixel!=C2::_pixel);
static_generate(C2::_pixel, set_to_one());
- error_if(at_c<0>(C2::_pixel) != 1);
+ error_if(gil::at_c<0>(C2::_pixel) != 1);
// Test swap if both are mutable and if their value type is the same
// (We know the second one is mutable)
@@ -313,7 +314,7 @@
bgr8_pixel_t bgr8(rgb8);
error_if(bgr8[0] == rgb8[0]);
error_if(dynamic_at_c(bgr8,0) == dynamic_at_c(rgb8,0));
- error_if(at_c<0>(bgr8) == at_c<0>(rgb8));
+ error_if(gil::at_c<0>(bgr8) == gil::at_c<0>(rgb8));
error_if(semantic_at_c<0>(bgr8) != semantic_at_c<0>(rgb8));
error_if(get_color(bgr8,blue_t()) != get_color(rgb8,blue_t()));

12
boost-graph-compile.patch Normal file
View File

@ -0,0 +1,12 @@
*** boost/graph/distributed/detail/mpi_process_group.ipp.orig 2009-12-16 15:46:32.410223363 -0800
--- boost/graph/distributed/detail/mpi_process_group.ipp 2009-12-16 15:47:28.700348300 -0800
***************
*** 19,24 ****
--- 19,25 ----
#endif
#include <cassert>
+ #include <cstdio>
#include <algorithm>
#include <boost/graph/parallel/detail/untracked_pair.hpp>
#include <numeric>

View File

@ -1,15 +0,0 @@
diff -up boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp.ossl10 boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp
--- boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp.ossl10 2008-08-09 03:59:54.000000000 +0200
+++ boost_1_39_0/boost/asio/ssl/detail/openssl_context_service.hpp 2009-08-26 11:26:25.000000000 +0200
@@ -67,7 +67,11 @@ public:
// Create a new context implementation.
void create(impl_type& impl, context_base::method m)
{
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+ const ::SSL_METHOD* ssl_method = 0;
+#else
::SSL_METHOD* ssl_method = 0;
+#endif
switch (m)
{
case context_base::sslv2:

View File

@ -1,160 +0,0 @@
Index: /trunk/boost/python/object_core.hpp
===================================================================
--- /trunk/boost/python/object_core.hpp (revision 45918)
+++ /trunk/boost/python/object_core.hpp (revision 47846)
@@ -42,4 +42,10 @@
namespace boost { namespace python {
+
+namespace detail
+{
+ class kwds_proxy;
+ class args_proxy;
+}
namespace converter
@@ -103,4 +109,9 @@
# define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_PYTHON_MAX_ARITY, <boost/python/object_call.hpp>))
# include BOOST_PP_ITERATE()
+
+ detail::args_proxy operator* () const;
+ object operator()(detail::args_proxy const &args) const;
+ object operator()(detail::args_proxy const &args,
+ detail::kwds_proxy const &kwds) const;
// truth value testing
@@ -417,4 +428,60 @@
//
+namespace detail
+{
+
+class call_proxy
+{
+public:
+ call_proxy(object target) : m_target(target) {}
+ operator object() const { return m_target;}
+
+ private:
+ object m_target;
+};
+
+class kwds_proxy : public call_proxy
+{
+public:
+ kwds_proxy(object o = object()) : call_proxy(o) {}
+};
+class args_proxy : public call_proxy
+{
+public:
+ args_proxy(object o) : call_proxy(o) {}
+ kwds_proxy operator* () const { return kwds_proxy(*this);}
+};
+}
+
+template <typename U>
+detail::args_proxy api::object_operators<U>::operator* () const
+{
+ object_cref2 x = *static_cast<U const*>(this);
+ return detail::args_proxy(x);
+}
+
+template <typename U>
+object api::object_operators<U>::operator()(detail::args_proxy const &args) const
+{
+ U const& self = *static_cast<U const*>(this);
+ PyObject *result = PyObject_Call(get_managed_object(self, tag),
+ args.operator object().ptr(),
+ 0);
+ return object(detail::new_reference(result));
+
+}
+
+template <typename U>
+object api::object_operators<U>::operator()(detail::args_proxy const &args,
+ detail::kwds_proxy const &kwds) const
+{
+ U const& self = *static_cast<U const*>(this);
+ PyObject *result = PyObject_Call(get_managed_object(self, tag),
+ args.operator object().ptr(),
+ kwds.operator object().ptr());
+ return object(detail::new_reference(result));
+
+}
+
inline object::object()
: object_base(python::incref(Py_None))
Index: /trunk/libs/python/test/object.cpp
===================================================================
--- /trunk/libs/python/test/object.cpp (revision 45918)
+++ /trunk/libs/python/test/object.cpp (revision 47846)
@@ -187,4 +187,9 @@
return s.slice(2,-1).slice(1,-1) == "lo, wor";
}
+
+object test_call(object c, object args, object kwds)
+{
+ return c(*args, **kwds);
+}
bool check_binary_operators()
@@ -378,4 +383,5 @@
def("test_not_item", test_not_item);
+ def("test_call", test_call);
def("check_binary_operators", check_binary_operators);
def("check_inplace", check_inplace);
Index: /trunk/libs/python/test/object.py
===================================================================
--- /trunk/libs/python/test/object.py (revision 45918)
+++ /trunk/libs/python/test/object.py (revision 47846)
@@ -135,5 +135,10 @@
Operators
-
+>>> def print_args(*args, **kwds):
+... print args, kwds
+>>> test_call(print_args, (0, 1, 2, 3), {'a':'A'})
+(0, 1, 2, 3) {'a': 'A'}
+
+
>>> assert check_binary_operators()
Index: /trunk/libs/python/doc/v2/object.html
===================================================================
--- /trunk/libs/python/doc/v2/object.html (revision 45918)
+++ /trunk/libs/python/doc/v2/object.html (revision 47846)
@@ -656,4 +656,9 @@
object operator()(A0 const&amp;, A1 const&amp;,...An const&amp;) const;
+ detail::args_proxy operator* () const;
+ object operator()(detail::args_proxy const &amp;args) const;
+ object operator()(detail::args_proxy const &amp;args,
+ detail::kwds_proxy const &amp;kwds) const;
+
// truth value testing
//
@@ -705,4 +710,23 @@
a2,...aN)</dt>
</dl>
+
+<pre>
+object operator()(detail::args_proxy const &amp;args) const;
+</pre>
+<dl class="function-semantics">
+ <dt><b>Effects:</b>
+ call object with arguments given by the tuple <varname>args</varname></dt>
+</dl>
+<pre>
+object operator()(detail::args_proxy const &amp;args,
+ detail::kwds_proxy const &amp;kwds) const;
+</pre>
+<dl class="function-semantics">
+ <dt><b>Effects:</b>
+ call object with arguments given by the tuple <varname>args</varname>, and named
+ arguments given by the dictionary <varname>kwds</varname></dt>
+</dl>
+
+
<pre>
operator bool_type() const;

View File

@ -1,136 +0,0 @@
Index: /trunk/libs/python/test/enum.py
===================================================================
--- /trunk/libs/python/test/enum.py (revision 36256)
+++ /trunk/libs/python/test/enum.py (revision 53660)
@@ -5,6 +5,6 @@
>>> from enum_ext import *
->>> identity(color.red)
-enum_ext.color.red
+>>> identity(color.red) # in case of duplicated enums it always take the last enum
+enum_ext.color.blood
>>> identity(color.green)
@@ -14,6 +14,6 @@
enum_ext.color.blue
->>> identity(color(1))
-enum_ext.color.red
+>>> identity(color(1)) # in case of duplicated enums it always take the last enum
+enum_ext.color.blood
>>> identity(color(2))
@@ -29,5 +29,5 @@
>>> identity(red)
-enum_ext.color.red
+enum_ext.color.blood
>>> identity(green)
@@ -43,8 +43,16 @@
>>> c = colorized()
>>> c.x
-enum_ext.color.red
+enum_ext.color.blood
>>> c.x = green
>>> c.x
enum_ext.color.green
+>>> red == blood
+True
+>>> red == green
+False
+>>> hash(red) == hash(blood)
+True
+>>> hash(red) == hash(green)
+False
'''
Index: /trunk/libs/python/test/enum.cpp
===================================================================
--- /trunk/libs/python/test/enum.cpp (revision 24614)
+++ /trunk/libs/python/test/enum.cpp (revision 53660)
@@ -13,5 +13,5 @@
using namespace boost::python;
-enum color { red = 1, green = 2, blue = 4 };
+enum color { red = 1, green = 2, blue = 4, blood = 1 };
#if BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
@@ -35,4 +35,5 @@
.value("green", green)
.value("blue", blue)
+ .value("blood", blood)
.export_values()
;
Index: /trunk/libs/python/src/object/enum.cpp
===================================================================
--- /trunk/libs/python/src/object/enum.cpp (revision 41521)
+++ /trunk/libs/python/src/object/enum.cpp (revision 53660)
@@ -15,5 +15,5 @@
#include <structmember.h>
-namespace boost { namespace python { namespace objects {
+namespace boost { namespace python { namespace objects {
struct enum_object
@@ -44,5 +44,5 @@
if (name == 0)
return 0;
-
+
return PyString_FromFormat("%s.%s.%s", mod, self_->ob_type->tp_name, name);
}
@@ -140,4 +140,5 @@
d["__slots__"] = tuple();
d["values"] = dict();
+ d["names"] = dict();
object module_name = module_prefix();
@@ -146,7 +147,7 @@
if (doc)
d["__doc__"] = doc;
-
+
object result = (object(metatype))(name, make_tuple(base), d);
-
+
scope().attr(name) = result;
@@ -168,5 +169,5 @@
= const_cast<converter::registration&>(
converter::registry::lookup(id));
-
+
converters.m_class_object = downcast<PyTypeObject>(this->ptr());
converter::registry::insert(to_python, id);
@@ -187,21 +188,22 @@
dict d = extract<dict>(this->attr("values"))();
d[value] = x;
-
+
// Set the name field in the new enum instanec
enum_object* p = downcast<enum_object>(x.ptr());
Py_XDECREF(p->name);
p->name = incref(name.ptr());
+
+ dict names_dict = extract<dict>(this->attr("names"))();
+ names_dict[x.attr("name")] = x;
}
void enum_base::export_values()
{
- dict d = extract<dict>(this->attr("values"))();
- list values = d.values();
+ dict d = extract<dict>(this->attr("names"))();
+ list items = d.items();
scope current;
-
- for (unsigned i = 0, max = len(values); i < max; ++i)
- {
- api::setattr(current, object(values[i].attr("name")), values[i]);
- }
+
+ for (unsigned i = 0, max = len(items); i < max; ++i)
+ api::setattr(current, items[i][0], items[i][1]);
}

View File

@ -1,13 +0,0 @@
diff -up /home/petr/fedora/boost/F-12/boost_1_39_0/boost/python/detail/translate_exception.hpp\~ /home/petr/fedora/boost/F-12/boost_1_39_0/boost/python/detail/translate_exception.hpp
--- boost_1_39_0/boost/python/detail/translate_exception.hpp~ 2004-08-20 13:10:24.000000000 +0200
+++ boost_1_39_0/boost/python/detail/translate_exception.hpp 2009-11-16 23:30:23.000000000 +0100
@@ -9,6 +9,7 @@
# include <boost/call_traits.hpp>
# include <boost/type_traits/add_const.hpp>
+# include <boost/type_traits/add_reference.hpp>
# include <boost/function/function0.hpp>
Diff finished. Mon Nov 16 23:30:41 2009

View File

@ -1,106 +0,0 @@
Index: /trunk/libs/python/test/test_builtin_converters.py
===================================================================
--- /trunk/libs/python/test/test_builtin_converters.py (revision 40714)
+++ /trunk/libs/python/test/test_builtin_converters.py (revision 54919)
@@ -4,4 +4,22 @@
r"""
>>> from builtin_converters_ext import *
+
+# Use ctypes to get native C type sizes
+>>> from ctypes import sizeof, c_char, c_short, c_int, c_long, c_longlong
+>>> def test_values_signed(t):
+... base = 2 ** (8 * sizeof(t) - 1)
+... return [[-base, -1, 1, base - 1], [-base - 1, base]]
+>>> def test_values_unsigned(t):
+... base = 2 ** (8 * sizeof(t))
+... return [[1, base - 1], [-1L, -1, base]]
+>>> def should_pass(method, values):
+... result = map(method, values)
+... if result != values:
+... print "Got %s but expected %s" % (result, values)
+>>> def test_overflow(method, values):
+... for v in values:
+... try: method(v)
+... except OverflowError: pass
+... else: print "OverflowError expected"
# Synthesize idendity functions in case long long not supported
@@ -63,13 +81,35 @@
show that we have range checking.
-
->>> try: rewrap_value_unsigned_short(-42)
-... except OverflowError: pass
-... else: print 'expected an OverflowError!'
-
->>> try: rewrap_value_int(sys.maxint * 2)
-... except OverflowError: pass
-... else: print 'expected an OverflowError!'
-
+
+>>> should_pass(rewrap_value_signed_char, test_values_signed(c_char)[0])
+>>> should_pass(rewrap_value_short, test_values_signed(c_short)[0])
+>>> should_pass(rewrap_value_int, test_values_signed(c_int)[0])
+>>> should_pass(rewrap_value_long, test_values_signed(c_long)[0])
+>>> should_pass(rewrap_value_long_long, test_values_signed(c_longlong)[0])
+
+>>> should_pass(rewrap_value_unsigned_char, test_values_unsigned(c_char)[0])
+>>> should_pass(rewrap_value_unsigned_short, test_values_unsigned(c_short)[0])
+>>> should_pass(rewrap_value_unsigned_int, test_values_unsigned(c_int)[0])
+>>> should_pass(rewrap_value_unsigned_long, test_values_unsigned(c_long)[0])
+>>> should_pass(rewrap_value_unsigned_long_long,
+... test_values_unsigned(c_longlong)[0])
+
+>>> test_overflow(rewrap_value_signed_char, test_values_signed(c_char)[1])
+>>> test_overflow(rewrap_value_short, test_values_signed(c_short)[1])
+>>> test_overflow(rewrap_value_int, test_values_signed(c_int)[1])
+>>> test_overflow(rewrap_value_long, test_values_signed(c_long)[1])
+>>> test_overflow(rewrap_value_long_long, test_values_signed(c_longlong)[1])
+
+>>> test_overflow(rewrap_value_unsigned_char, test_values_unsigned(c_char)[1])
+>>> test_overflow(rewrap_value_unsigned_short, test_values_unsigned(c_short)[1])
+>>> test_overflow(rewrap_value_unsigned_int, test_values_unsigned(c_int)[1])
+>>> test_overflow(rewrap_value_unsigned_long, test_values_unsigned(c_long)[1])
+
+# Exceptionally for PyLong_AsUnsignedLongLong(), a negative value raises
+# TypeError on Python versions prior to 2.7
+>>> for v in test_values_unsigned(c_longlong)[1]:
+... try: rewrap_value_unsigned_long_long(v)
+... except (OverflowError, TypeError): pass
+... else: print "OverflowError or TypeError expected"
>>> assert abs(rewrap_value_float(4.2) - 4.2) < .000001
Index: /trunk/libs/python/src/converter/builtin_converters.cpp
===================================================================
--- /trunk/libs/python/src/converter/builtin_converters.cpp (revision 52299)
+++ /trunk/libs/python/src/converter/builtin_converters.cpp (revision 54919)
@@ -156,8 +156,25 @@
static T extract(PyObject* intermediate)
{
- return numeric_cast<T>(
- PyLong_Check(intermediate)
- ? PyLong_AsUnsignedLong(intermediate)
- : PyInt_AS_LONG(intermediate));
+ if (PyLong_Check(intermediate)) {
+ // PyLong_AsUnsignedLong() checks for negative overflow, so no
+ // need to check it here.
+ unsigned long result = PyLong_AsUnsignedLong(intermediate);
+ if (PyErr_Occurred())
+ throw_error_already_set();
+ return numeric_cast<T>(result);
+ } else {
+ // None of PyInt_AsUnsigned*() functions check for negative
+ // overflow, so use PyInt_AS_LONG instead and check if number is
+ // negative, issuing the exception appropriately.
+ long result = PyInt_AS_LONG(intermediate);
+ if (PyErr_Occurred())
+ throw_error_already_set();
+ if (result < 0) {
+ PyErr_SetString(PyExc_OverflowError, "can't convert negative"
+ " value to unsigned");
+ throw_error_already_set();
+ }
+ return numeric_cast<T>(result);
+ }
}
};

View File

@ -1,168 +0,0 @@
*** tools/regression/src/run_tests.sh.orig 2007-07-31 19:44:25.000000000 -0500
--- tools/regression/src/run_tests.sh 2007-08-01 12:17:25.000000000 -0500
***************
*** 15,21 ****
# This can be either a non-exitent directory or an already complete Boost
# source tree.
#
! boost_root="$HOME/CVSROOTs/Boost/boost_regression"
#
# Wether to fetch the most current Boost code from CVS (yes/no):
--- 15,21 ----
# This can be either a non-exitent directory or an already complete Boost
# source tree.
#
! boost_root="/usr/src/redhat/BUILD/boost_1_34_1"
#
# Wether to fetch the most current Boost code from CVS (yes/no):
*************** test_tools=gcc
*** 42,58 ****
toolset=gcc
#
- # "comment_path" is the path to an html-file describing the test environment.
- # The content of this file will be embedded in the status pages being produced.
- #
- comment_path="$boost_root/../regression_comment.html"
- #
# "test_dir" is the relative path to the directory to run the tests in,
# defaults to "status" and runs all the tests, but could be a sub-directory
# for example "libs/regex/test" to run the regex tests alone.
#
test_dir="status"
### DEFAULTS ARE OK FOR THESE.
--- 42,59 ----
toolset=gcc
#
# "test_dir" is the relative path to the directory to run the tests in,
# defaults to "status" and runs all the tests, but could be a sub-directory
# for example "libs/regex/test" to run the regex tests alone.
#
test_dir="status"
+ #
+ # "comment_path" is the path to an html-file describing the test environment.
+ # The content of this file will be embedded in the status pages being produced.
+ #
+ comment_path="$boost_root/$test_dir/regression_comment.html"
+
### DEFAULTS ARE OK FOR THESE.
*************** exe_suffix=
*** 71,76 ****
--- 72,80 ----
#
bjam="$boost_root/tools/jam/src/bin/bjam$exe_suffix"
+ # bjam options
+ bjam_flags="--layout=system variant=release -sICU_PATH=/usr --user-config=$boost_root/user-config.jam"
+
#
# "process_jam_log", and "compiler_status" paths to built helper programs:
# The location of the executables of the regression help programs. These
*************** else
*** 98,103 ****
--- 102,115 ----
fi
export BOOST_BUILD_PATH
+ # For shared objects.
+ old_ld_library_path=$LD_LIBRARY_PATH
+ old_ld_run_path=$LD_RUN_PATH
+ LD_LIBRARY_PATH="$boost_root/stage/lib:$old_ld_library_path"
+ LD_RUN_PATH="$boost_root/stage/lib:$old_ld_run_path"
+ export LD_LIBRARY_PATH
+ export LD_RUN_PATH
+
#
# STEP 0:
#
*************** fi
*** 126,137 ****
# STEP 1:
# rebuild bjam if required:
#
! echo building bjam:
! cd "$boost_root/tools/jam/src" && \
! LOCATE_TARGET=bin sh ./build.sh
! if test $? != 0 ; then
! echo "bjam build failed."
! exit 256
fi
#
--- 138,152 ----
# STEP 1:
# rebuild bjam if required:
#
! echo "finding or building bjam":
! if test ! -f "$bjam" ; then
! echo "building bjam":
! cd "$boost_root/tools/jam/src" && \
! LOCATE_TARGET=bin sh ./build.sh
! if test $? != 0 ; then
! echo "bjam build failed."
! exit 256
! fi
fi
#
*************** fi
*** 139,146 ****
# rebuild the regression test helper programs if required:
#
echo building regression test helper programs:
! cd "$boost_root/tools/regression/build" && \
! "$bjam" $toolset release
if test $? != 0 ; then
echo "helper program build failed."
exit 256
--- 154,160 ----
# rebuild the regression test helper programs if required:
#
echo building regression test helper programs:
! cd "$boost_root/tools/regression/build" && "$bjam" $bjam_flags $toolset
if test $? != 0 ; then
echo "helper program build failed."
exit 256
*************** for tool in $test_tools ; do
*** 158,164 ****
#
echo running the $tool regression tests:
cd "$boost_root/$test_dir"
! "$bjam" $tool --dump-tests 2>&1 | tee regress.log
#
# STEP 4:
--- 172,180 ----
#
echo running the $tool regression tests:
cd "$boost_root/$test_dir"
! echo "<p> begin time: " `date` "</p>" >> "$comment_path"
! "$bjam" $bjam_flags $tool --dump-tests 2>&1 | tee regress.log
! echo "<p> end time: " `date` "</p>" >> "$comment_path"
#
# STEP 4:
*************** if test $? != 0 ; then
*** 185,190 ****
--- 201,212 ----
exit 256
fi
+ # cleanup
+ LD_LIBRARY_PATH="$old_ld_library_path"
+ LD_RUN_PATH="$old_ld_run_path"
+ export LD_LIBRARY_PATH
+ export LD_RUN_PATH
+
echo "done!"

View File

@ -1,37 +0,0 @@
*** tools/build/v2/tools/gcc.jam.orig 2009-05-05 12:45:31.000000000 -0700
--- tools/build/v2/tools/gcc.jam 2009-05-05 12:48:23.000000000 -0700
*************** if [ os.name ] != NT && [ os.name ] != O
*** 355,361 ****
# OSF does have an option called -soname but it does not seem to work as
# expected, therefore it has been disabled.
HAVE_SONAME = "" ;
! SONAME_OPTION = -h ;
}
--- 355,362 ----
# OSF does have an option called -soname but it does not seem to work as
# expected, therefore it has been disabled.
HAVE_SONAME = "" ;
! SONAME_OPTION = -soname ;
! SONAME_VERSION = _FEDORA_SONAME ;
}
*************** rule link.dll ( targets * : sources * :
*** 793,799 ****
# Differs from 'link' above only by -shared.
actions link.dll bind LIBRARIES
{
! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
}
rule setup-threading ( targets * : sources * : properties * )
--- 794,800 ----
# Differs from 'link' above only by -shared.
actions link.dll bind LIBRARIES
{
! "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=).$(SONAME_VERSION) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
}
rule setup-threading ( targets * : sources * : properties * )

View File

@ -1,11 +0,0 @@
diff -ru boost/spirit/home/classic/iterator/multi_pass.hpp boost/spirit/home/classic/iterator/multi_pass.hpp
--- boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:38:36.000000000 +0000
+++ boost/spirit/home/classic/iterator/multi_pass.hpp 2009-01-09 10:39:41.000000000 +0000
@@ -12,7 +12,6 @@
#include <boost/throw_exception.hpp>
#include <deque>
#include <iterator>
-#include <iostream>
#include <algorithm> // for std::swap
#include <exception> // for std::exception
#include <boost/limits.hpp>

View File

@ -1,19 +0,0 @@
*** tools/build/v2/tools/gcc.jam.orig 2008-11-17 16:26:39.000000000 -0800
--- tools/build/v2/tools/gcc.jam 2008-11-17 16:31:08.000000000 -0800
*************** toolset.flags gcc.compile PCH_FILE <pch>
*** 292,298 ****
# Declare flags and action for compilation.
toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
! toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
--- 292,298 ----
# Declare flags and action for compilation.
toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
! toolset.flags gcc.compile OPTIONS <optimization>speed : "_FEDORA_OPT_FLAGS" ;
toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;

View File

@ -1,36 +0,0 @@
*** Jamroot.orig 2009-05-06 12:46:31.000000000 -0700
--- Jamroot 2009-05-06 18:18:17.000000000 -0700
*************** rule tag ( name : type ? : property-set
*** 344,350 ****
else
{
local result = [ common.format-name
! <base>
-$(BUILD_ID)
: $(name) : $(type) : $(property-set) ] ;
--- 344,350 ----
else
{
local result = [ common.format-name
! <base> <threading>
-$(BUILD_ID)
: $(name) : $(type) : $(property-set) ] ;
*************** rule tag ( name : type ? : property-set
*** 356,362 ****
# suffixes either. Pgi compilers can not accept library with version
# suffix.
if $(type) = SHARED_LIB &&
! ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) &&
! ( [ $(property-set).get <toolset> ] in pgi ) )
{
result = $(result).$(BOOST_VERSION) ;
--- 356,362 ----
# suffixes either. Pgi compilers can not accept library with version
# suffix.
if $(type) = SHARED_LIB &&
! ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix linux ) &&
! ( [ $(property-set).get <toolset> ] in pgi ) )
{
result = $(result).$(BOOST_VERSION) ;

View File

@ -1,37 +1,43 @@
# Support for documentation installation
# As the %%doc macro erases the target directory, namely
# $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}, manually installed
# documentation must be saved into a temporary dedicated directory.
%define boost_docdir __tmp_docdir
# Support for long double
%define disable_long_double 0 %define disable_long_double 0
%ifarch %{arm} %ifarch %{arm}
%define disable_long_double 1 %define disable_long_double 1
%endif %endif
Name: boost Name: boost
Summary: The Boost C++ Libraries Summary: The free peer-reviewed portable C++ source libraries
Version: 1.39.0 Version: 1.41.0
Release: 11%{?dist} Release: 2%{?dist}
License: Boost License: Boost
URL: http://www.boost.org/ URL: http://sodium.resophonic.com/boost-cmake/%{version}.cmake0/
Group: System Environment/Libraries Group: System Environment/Libraries
Source: http://downloads.sourceforge.net/project/boost/boost/1.39.0/boost_1_39_0.tar.bz2 %define full_version %{name}-%{version}.cmake0
Obsoletes: boost-doc <= 1.30.2 Source: %{full_version}.tar.bz2
Obsoletes: boost-python <= 1.30.2
Provides: boost-doc = %{version}-%{release}
# boost is an "umbrella" package that pulls in all other boost components # boost is an "umbrella" package that pulls in all other boost components
Requires: boost-date-time = %{version}-%{release} Requires: boost-date-time = %{version}-%{release}
Requires: boost-filesystem = %{version}-%{release} Requires: boost-filesystem = %{version}-%{release}
Requires: boost-graph = %{version}-%{release} Requires: boost-graph = %{version}-%{release}
Requires: boost-iostreams = %{version}-%{release} Requires: boost-iostreams = %{version}-%{release}
Requires: boost-math = %{version}-%{release} Requires: boost-mpi = %{version}-%{release}
Requires: boost-test = %{version}-%{release}
Requires: boost-program-options = %{version}-%{release} Requires: boost-program-options = %{version}-%{release}
Requires: boost-python = %{version}-%{release} Requires: boost-python = %{version}-%{release}
Requires: boost-regex = %{version}-%{release} Requires: boost-regex = %{version}-%{release}
Requires: boost-serialization = %{version}-%{release} Requires: boost-serialization = %{version}-%{release}
Requires: boost-signals = %{version}-%{release} Requires: boost-signals = %{version}-%{release}
Requires: boost-system = %{version}-%{release} Requires: boost-system = %{version}-%{release}
Requires: boost-test = %{version}-%{release}
Requires: boost-thread = %{version}-%{release} Requires: boost-thread = %{version}-%{release}
Requires: boost-wave = %{version}-%{release} Requires: boost-wave = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: cmake
BuildRequires: libstdc++-devel BuildRequires: libstdc++-devel
BuildRequires: bzip2-libs BuildRequires: bzip2-libs
BuildRequires: bzip2-devel BuildRequires: bzip2-devel
@ -39,33 +45,13 @@ BuildRequires: zlib-devel
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: libicu-devel BuildRequires: libicu-devel
BuildRequires: chrpath BuildRequires: chrpath
BuildRequires: mpich2-devel
# Fedora-centric patch. Patch0: boost-graph-compile.patch
Patch0: boost-version-override.patch Patch1: boost-cmake-soname.patch
Patch1: boost-use-rpm-optflags.patch
Patch2: boost-run-tests.patch
Patch3: boost-soname.patch
# Upstream status unknown.
Patch4: boost-unneccessary_iostreams.patch
Patch5: boost-bitset.patch
Patch6: boost-function_template.patch
Patch7: boost-fs_gcc44.patch
Patch8: boost-openssl-1.0.patch
# These patches are taken from post-1.39.0 SVN (i.e. are all upstream
# and will likely go away when we rebase).
Patch9: boost-gil_gcc44.patch
Patch10: boost-python_call_operator.patch
Patch11: boost-python_enums.patch
Patch12: boost-python_uint.patch
# Not upstream
Patch13: boost-python_translate_exception.patch
%bcond_with tests %bcond_with tests
%bcond_with docs_generated %bcond_with docs_generated
%define sonamever 5
%description %description
Boost provides free peer-reviewed portable C++ source libraries. The Boost provides free peer-reviewed portable C++ source libraries. The
@ -115,21 +101,24 @@ Runtime support for Boost.IOStreams, a framework for defining streams,
stream buffers and i/o filters. stream buffers and i/o filters.
%package math %package math
Summary: Runtime component of boost math library Summary: Stub that used to contain boost math library
Group: System Environment/Libraries Group: System Environment/Libraries
%description math %description math
Runtime support Boost.Math, a library of math and numeric tools. This package is a stub that used to contain runtime component of boost
math library. Now that boost math library is header-only, this
package is empty. It's kept around only so that during yum-assisted
update, old libraries from boost-math package aren't left around.
%package test %package mpi
Summary: Runtime component of boost test library Summary: Runtime component of boost mpi library
Group: System Environment/Libraries Group: System Environment/Libraries
%description test %description mpi
Runtime support for simple program testing, full unit testing, and for Runtime support for Boost MPI, library providing a clean C++ API over
program execution monitoring. the OpenMPI implementation of MPI.
%package program-options %package program-options
Summary: Runtime component of boost program_options library Summary: Runtime component of boost program_options library
@ -187,15 +176,14 @@ Runtime component of Boost operating system support library, including
the diagnostics support that will be part of the C++0x standard the diagnostics support that will be part of the C++0x standard
library. library.
%package wave %package test
Summary: Runtime component of boost C99/C++ preprocessing library Summary: Runtime component of boost test library
Group: System Environment/Libraries Group: System Environment/Libraries
%description wave %description test
Runtime support for the Boost.Wave library, a Standards conformant, Runtime support for simple program testing, full unit testing, and for
and highly configurable implementation of the mandated C99/C++ program execution monitoring.
preprocessor functionality.
%package thread %package thread
Summary: Runtime component of boost thread library Summary: Runtime component of boost thread library
@ -208,6 +196,16 @@ functions for managing multiple threads of execution, and for
synchronizing data between the threads or providing separate copies of synchronizing data between the threads or providing separate copies of
data specific to individual threads. data specific to individual threads.
%package wave
Summary: Runtime component of boost C99/C++ preprocessing library
Group: System Environment/Libraries
%description wave
Runtime support for the Boost.Wave library, a Standards conformant,
and highly configurable implementation of the mandated C99/C++
preprocessor functionality.
%package devel %package devel
Summary: The Boost C++ headers and shared development libraries Summary: The Boost C++ headers and shared development libraries
Group: Development/Libraries Group: Development/Libraries
@ -228,243 +226,286 @@ Provides: boost-devel-static = %{version}-%{release}
Static Boost C++ libraries. Static Boost C++ libraries.
%package doc %package doc
Summary: The Boost C++ html docs Summary: HTML documentation for the Boost C++ libraries
Group: Documentation Group: Documentation
%if 0%{?fedora} >= 10
BuildArch: noarch
%endif
Provides: boost-python-docs = %{version}-%{release} Provides: boost-python-docs = %{version}-%{release}
%description doc %description doc
HTML documentation files for Boost C++ libraries. This package contains the documentation in the HTML format of the Boost C++
libraries. The documentation provides the same content as that on the Boost
web page (http://www.boost.org/doc/libs/1_40_0).
%prep %prep
%setup -q -n %{name}_1_39_0 %setup -q -n %{full_version}
%patch0 -p0 %patch0 -p0
sed 's/_FEDORA_OPT_FLAGS/%{optflags}/' %{PATCH1} | %{__patch} -p0 --fuzz=0 #%patch1 -p0
%patch2 -p0
sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH3} | %{__patch} -p0 --fuzz=0
%patch4 -p0
%patch5 -p0
%patch6 -p0
%patch7 -p0
%patch8 -p1
%patch9 -p0
%patch10 -p2
%patch11 -p2
%patch12 -p2
%patch13 -p1
%build %build
BOOST_ROOT=`pwd` %{__mkdir_p} build
export BOOST_ROOT cd build
# build make tools, ie bjam, necessary for building libs, docs, and testing # Support for building tests.
(cd tools/jam/src && ./build.sh) %define boost_testflags -DBUILD_TESTS="NONE"
BJAM=`find tools/jam/src/ -name bjam -a -type f` %if %{with tests}
%define boost_testflags -DBUILD_TESTS="ALL"
CONFIGURE_FLAGS="--with-toolset=gcc"
PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
PYTHON_FLAGS="--with-python-root=/usr --with-python-version=$PYTHON_VERSION"
REGEX_FLAGS="--with-icu"
./bootstrap.sh $CONFIGURE_FLAGS $PYTHON_FLAGS $REGEX_FLAGS
BUILD_VARIANTS="variant=release threading=single,multi debug-symbols=on"
BUILD_FLAGS="-d2 --layout=system $BUILD_VARIANTS"
%if %{disable_long_double}
LONG_DOUBLE_FLAGS="--disable-long-double"
%endif %endif
$BJAM $BUILD_FLAGS $LONG_DOUBLE_FLAGS %{?_smp_mflags} stage
# build docs, requires a network connection for docbook XSLT stylesheets %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \
%if %{with docs_generated} -DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF ..
cd ./doc make VERBOSE=1 %{?_smp_mflags}
chmod +x ../tools/boostbook/setup_boostbook.sh cd %{_builddir}/%{full_version}
../tools/boostbook/setup_boostbook.sh
USER_CFG=$BOOST_ROOT/tools/build/v2/user-config.jam
$BOOST_ROOT/$BJAM --v2 -sICU_PATH=/usr --user-config=$USER_CFG html
cd ..
%endif
%check %check
%if %{with tests} %if %{with tests}
echo "<p>" `uname -a` "</p>" > status/regression_comment.html cd build
echo "" >> status/regression_comment.html
echo "<p>" `g++ --version` "</p>" >> status/regression_comment.html
echo "" >> status/regression_comment.html
cd tools/regression/build # Standard test with CMake, depends on installed boost-test.
#$BOOST_ROOT/$BJAM ctest --verbose --output-log testing.log
cd ../test if [ -f testing.log ]; then
#python ./test.py echo "" >> testing.log
cd ../../.. echo `date` >> testing.log
echo "" >> testing.log
results1=status/cs-`uname`.html echo `uname -a` >> testing.log
results2=status/cs-`uname`-links.html echo "" >> testing.log
email=benjamin.kosnik@gmail.com echo `g++ --version` >> testing.log
if [ -f $results1 ] && [ -f $results2 ]; then echo "" >> testing.log
echo "sending results starting"
testdate=`date +%Y%m%d` testdate=`date +%Y%m%d`
testarch=`uname -m` testarch=`uname -m`
results=boost-results-$testdate-$testarch.tar.bz2 email=benjamin.kosnik@gmail.com
tar -cvf boost-results-$testdate-$testarch.tar $results1 $results2 bzip2 -f testing.log
bzip2 -f boost-results-$testdate-$testarch.tar echo "sending results starting"
echo | mutt -s "$testdate boost regression $testarch" -a $results $email echo | mutt -s "$testdate boost test $testarch" -a testing.log.bz2 $email
echo "sending results finished" echo "sending results finished"
else else
echo "error sending results" echo "error with results"
fi fi
cd %{_builddir}/%{full_version}
%endif %endif
%install %install
rm -rf $RPM_BUILD_ROOT %{__rm} -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_libdir}
mkdir -p $RPM_BUILD_ROOT%{_includedir}
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
# install lib cd %{_builddir}/%{full_version}/build
for i in `find stage -type f -name \*.a`; do DESTDIR=$RPM_BUILD_ROOT make VERBOSE=1 install
NAME=`basename $i`;
install -p -m 0644 $i $RPM_BUILD_ROOT%{_libdir}/$NAME;
done;
for i in `find stage -type f -name \*.so`; do
NAME=$i;
SONAME=$i.%{sonamever};
VNAME=$i.%{version};
base=`basename $i`;
NAMEbase=$base;
SONAMEbase=$base.%{sonamever};
VNAMEbase=$base.%{version};
mv $i $VNAME;
# remove rpath # Suppress the wrongly generated mpi.so library
chrpath --delete $VNAME; # (it is temporary until upstream Boost-CMake fixes that)
%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/mpi.so
ln -s $VNAMEbase $SONAME; # Kill any debug library versions that may show up un-invited.
ln -s $VNAMEbase $NAME; %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/*-d.*
install -p -m 755 $VNAME $RPM_BUILD_ROOT%{_libdir}/$VNAMEbase;
mv $SONAME $RPM_BUILD_ROOT%{_libdir}/$SONAMEbase; # Prepare the place to temporary store the generated documentation
mv $NAME $RPM_BUILD_ROOT%{_libdir}/$NAMEbase; %{__rm} -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html
done;
# install include files # Install documentation files (HTML pages) within the temporary place
find %{name} -type d | while read a; do cd %{_builddir}/%{full_version}
mkdir -p $RPM_BUILD_ROOT%{_includedir}/$a DOCPATH=%{boost_docdir}
find $a -mindepth 1 -maxdepth 1 -type f \
| xargs -r install -m 644 -p -t $RPM_BUILD_ROOT%{_includedir}/$a
done
# install doc files
DOCPATH=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/
find libs doc more -type f \( -name \*.htm -o -name \*.html \) \ find libs doc more -type f \( -name \*.htm -o -name \*.html \) \
| sed -n '/\//{s,/[^/]*$,,;p}' \ | sed -n '/\//{s,/[^/]*$,,;p}' \
| sort -u > tmp-doc-directories | sort -u > tmp-doc-directories
sed "s:^:$DOCPATH:" tmp-doc-directories | xargs -r mkdir -p sed "s:^:$DOCPATH/:" tmp-doc-directories \
cat tmp-doc-directories | while read a; do | xargs --no-run-if-empty %{__install} -d
find $a -mindepth 1 -maxdepth 1 -name \*.htm\* \ cat tmp-doc-directories | while read tobeinstalleddocdir; do
| xargs install -m 644 -p -t $DOCPATH$a find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -name \*.htm\* \
| xargs %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir
done done
rm tmp-doc-directories %{__rm} -f tmp-doc-directories
install -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html %{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html
# remove scripts used to generate include files # Remove scripts used to generate include files
find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm {} \; find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{__rm} -f {} \;
# Remove cmake configuration files used to build the Boost libraries
find $RPM_BUILD_ROOT%{_libdir}/ -name '*.cmake' -exec %{__rm} -f {} \;
%clean %clean
rm -rf $RPM_BUILD_ROOT %{__rm} -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig %post date-time -p /sbin/ldconfig
%postun date-time -p /sbin/ldconfig
%post filesystem -p /sbin/ldconfig
%postun filesystem -p /sbin/ldconfig
%post graph -p /sbin/ldconfig
%postun graph -p /sbin/ldconfig
%post iostreams -p /sbin/ldconfig
%postun iostreams -p /sbin/ldconfig
%post mpi -p /sbin/ldconfig
%postun mpi -p /sbin/ldconfig
%post program-options -p /sbin/ldconfig
%postun program-options -p /sbin/ldconfig
%post python -p /sbin/ldconfig
%postun python -p /sbin/ldconfig
%post regex -p /sbin/ldconfig
%postun regex -p /sbin/ldconfig
%post serialization -p /sbin/ldconfig
%postun serialization -p /sbin/ldconfig
%post signals -p /sbin/ldconfig
%postun signals -p /sbin/ldconfig
%post system -p /sbin/ldconfig
%postun system -p /sbin/ldconfig
%post test -p /sbin/ldconfig
%postun test -p /sbin/ldconfig
%post thread -p /sbin/ldconfig
%postun thread -p /sbin/ldconfig
%post wave -p /sbin/ldconfig
%postun wave -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files %files
%files date-time %files date-time
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_date_time*.so.%{version} %{_libdir}/libboost_date_time*.so.%{version}
%{_libdir}/libboost_date_time*.so.%{sonamever}
%files filesystem %files filesystem
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_filesystem*.so.%{version} %{_libdir}/libboost_filesystem*.so.%{version}
%{_libdir}/libboost_filesystem*.so.%{sonamever}
%files graph %files graph
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_graph*.so.%{version} %{_libdir}/libboost_graph*.so.%{version}
%{_libdir}/libboost_graph*.so.%{sonamever}
%files iostreams %files iostreams
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_iostreams*.so.%{version} %{_libdir}/libboost_iostreams*.so.%{version}
%{_libdir}/libboost_iostreams*.so.%{sonamever}
%files math %files math
%defattr(-, root, root, -)
%{_libdir}/libboost_math*.so.%{version}
%{_libdir}/libboost_math*.so.%{sonamever}
%files test %files test
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_prg_exec_monitor*.so.%{version} %{_libdir}/libboost_prg_exec_monitor*.so.%{version}
%{_libdir}/libboost_prg_exec_monitor*.so.%{sonamever}
%{_libdir}/libboost_unit_test_framework*.so.%{version} %{_libdir}/libboost_unit_test_framework*.so.%{version}
%{_libdir}/libboost_unit_test_framework*.so.%{sonamever}
%files program-options %files program-options
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_program_options*.so.%{version} %{_libdir}/libboost_program_options*.so.%{version}
%{_libdir}/libboost_program_options*.so.%{sonamever}
%files python %files python
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_python*.so.%{version} %{_libdir}/libboost_python*.so.%{version}
%{_libdir}/libboost_python*.so.%{sonamever}
%files regex %files regex
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_regex*.so.%{version} %{_libdir}/libboost_regex*.so.%{version}
%{_libdir}/libboost_regex*.so.%{sonamever}
%files serialization %files serialization
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_serialization*.so.%{version} %{_libdir}/libboost_serialization*.so.%{version}
%{_libdir}/libboost_serialization*.so.%{sonamever}
%{_libdir}/libboost_wserialization*.so.%{version} %{_libdir}/libboost_wserialization*.so.%{version}
%{_libdir}/libboost_wserialization*.so.%{sonamever}
%files signals %files signals
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_signals*.so.%{version} %{_libdir}/libboost_signals*.so.%{version}
%{_libdir}/libboost_signals*.so.%{sonamever}
%files system %files system
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_system*.so.%{version} %{_libdir}/libboost_system*.so.%{version}
%{_libdir}/libboost_system*.so.%{sonamever}
%files thread %files thread
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_thread*.so.%{version} %{_libdir}/libboost_thread*.so.%{version}
%{_libdir}/libboost_thread*.so.%{sonamever}
%files wave %files wave
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_wave*.so.%{version} %{_libdir}/libboost_wave*.so.%{version}
%{_libdir}/libboost_wave*.so.%{sonamever}
%files mpi
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_mpi*.so.%{version}
%files doc %files doc
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc %{_docdir}/%{name}-%{version} %doc %{boost_docdir}/*
%files devel %files devel
%defattr(-, root, root, -) %defattr(-, root, root, -)
%{_includedir}/boost %doc LICENSE_1_0.txt
%{_includedir}/%{name}
%{_libdir}/*.so %{_libdir}/*.so
%{_datadir}/%{name}-%{version}
%{_datadir}/cmake/%{name}/BoostConfig*.cmake
%files static %files static
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/*.a %{_libdir}/*.a
%changelog %changelog
* Thu Jan 14 2010 Petr Machata <pmachata@redhat.com> - 1.41.0-2
- Replace a boost-math subpackage with a stub
- Drop _cmake_lib_suffix and CMAKE_INSTALL_PREFIX magic, the rpm macro
does that for us
- Drop LICENSE from the umbrella package
- Drop obsolete Obsoletes: boost-python and boost-doc <= 1.30.2
* Tue Jan 12 2010 Benjamin Kosnik <bkoz@redhat.com> - 1.41.0-1
- Don't package generated debug libs, even with
(-DCMAKE_BUILD_TYPE=RelWithDebInfo | Release).
- Update and include boost-cmake-soname.patch.
- Uncomment ctest.
- Fix up --with tests to run tests.
* Sat Dec 19 2009 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.41.0-0.7
- Switched off the delivery into a versioned sub-directory
* Thu Dec 17 2009 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.41.0-0.6
- Boost-CMake upstream integration
* Wed Dec 16 2009 Benjamin Kosnik <bkoz@redhat.com> - 1.41.0-0.5
- Rebase to 1.41.0
- Set build type to RelWithDebInfo
- Resolves: #533922
* Mon Nov 16 2009 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.40.0-1
- Add support for the Boost.MPI sub-package
- Build with CMake (https://svn.boost.org/trac/boost/wiki/CMake)
- Resolves: #529563
* Mon Nov 16 2009 Petr Machata <pmachata@redhat.com> - 1.39.0-11 * Mon Nov 16 2009 Petr Machata <pmachata@redhat.com> - 1.39.0-11
- Move comment in Patch13 out of line - Move comment in Patch13 out of line

View File

@ -1 +1 @@
a17281fd88c48e0d866e1a12deecbcc0 boost_1_39_0.tar.bz2 15a7d1a22c61363f607508eff43a2da5 boost-1.41.0.cmake0.tar.bz2