diff options
author | Heinz Wiesinger <pprkut@liwjatan.at> | 2010-05-11 22:22:23 +0200 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2010-05-11 22:22:23 +0200 |
commit | d68a5e3f1717f5b7ea78e5dcc2e35a76f292667a (patch) | |
tree | b0040a26b328fea8e6aa5a6534980eb58c42d925 /development/boost | |
parent | dd32db5be824aec1e73297baacb077b016b29177 (diff) | |
download | slackbuilds-d68a5e3f1717f5b7ea78e5dcc2e35a76f292667a.tar.gz |
development/boost: Updated for version 1.36.0
Diffstat (limited to 'development/boost')
-rw-r--r-- | development/boost/README | 4 | ||||
-rw-r--r-- | development/boost/boost-1_34_1-function-bugfix.diff | 704 | ||||
-rw-r--r-- | development/boost/boost.SlackBuild | 58 | ||||
-rw-r--r-- | development/boost/boost.info | 10 | ||||
-rw-r--r-- | development/boost/patches/changeset_r48141.diff | 31 | ||||
-rw-r--r-- | development/boost/patches/changeset_r48192.diff | 36 | ||||
-rw-r--r-- | development/boost/patches/changeset_r48374.diff | 18 | ||||
-rw-r--r-- | development/boost/patches/changeset_r48377.diff | 337 | ||||
-rw-r--r-- | development/boost/patches/changeset_r48462.diff | 16 |
9 files changed, 482 insertions, 732 deletions
diff --git a/development/boost/README b/development/boost/README index 34d6af4c6d..a940c5faab 100644 --- a/development/boost/README +++ b/development/boost/README @@ -4,5 +4,5 @@ Library. One goal is to establish "existing practice" and provide reference implementations so that the Boost libraries are suitable for eventual standardization. -If you do not want to build with icu4c support, than you'll need -to pass ICU="NO" to the build-script. +If you want to build with icu4c support, than you'll need +to pass ICU="YES" to the build-script. diff --git a/development/boost/boost-1_34_1-function-bugfix.diff b/development/boost/boost-1_34_1-function-bugfix.diff deleted file mode 100644 index 200e6c79fc..0000000000 --- a/development/boost/boost-1_34_1-function-bugfix.diff +++ /dev/null @@ -1,704 +0,0 @@ -diff -U 3 -H -d -r -N -- boost_1_34_1/boost/function/function_base.hpp boost_1_34_1-patched/boost/function/function_base.hpp ---- boost_1_34_1/boost/function/function_base.hpp 2006-10-13 16:29:45.000000000 +0200 -+++ boost_1_34_1-patched/boost/function/function_base.hpp 2007-12-22 10:21:10.000000000 +0100 -@@ -15,6 +15,7 @@ - #include <memory> - #include <new> - #include <typeinfo> -+#include <functional> // unary_function, binary_function - #include <boost/config.hpp> - #include <boost/assert.hpp> - #include <boost/type_traits/is_integral.hpp> -@@ -30,6 +31,20 @@ - #endif - #include <boost/function_equal.hpp> - -+#if defined(BOOST_MSVC) -+# pragma warning( push ) -+# pragma warning( disable : 4793 ) // complaint about native code generation -+# pragma warning( disable : 4127 ) // "conditional expression is constant" -+#endif -+ -+// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info. -+#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE -+// Embedded VC++ does not have type_info in namespace std -+# define BOOST_FUNCTION_STD_NS -+#else -+# define BOOST_FUNCTION_STD_NS std -+#endif -+ - // Borrowed from Boost.Python library: determines the cases where we - // need to use std::type_info::name to compare instead of operator==. - # if (defined(__GNUC__) && __GNUC__ >= 3) \ -@@ -59,7 +74,7 @@ - - #if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \ -- || !(BOOST_STRICT_CONFIG || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540) -+ || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540) - # define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX - #endif - -@@ -198,8 +213,8 @@ - struct reference_manager - { - static inline void -- get(const function_buffer& in_buffer, function_buffer& out_buffer, -- functor_manager_operation_type op) -+ manage(const function_buffer& in_buffer, function_buffer& out_buffer, -+ functor_manager_operation_type op) - { - switch (op) { - case clone_functor_tag: -@@ -215,8 +230,8 @@ - // DPG TBD: Since we're only storing a pointer, it's - // possible that the user could ask for a base class or - // derived class. Is that okay? -- const std::type_info& check_type = -- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr); -+ const BOOST_FUNCTION_STD_NS::type_info& check_type = -+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr); - if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(F))) - out_buffer.obj_ptr = in_buffer.obj_ptr; - else -@@ -265,8 +280,8 @@ - else if (op == destroy_functor_tag) - out_buffer.func_ptr = 0; - else /* op == check_functor_type_tag */ { -- const std::type_info& check_type = -- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr); -+ const BOOST_FUNCTION_STD_NS::type_info& check_type = -+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr); - if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor))) - out_buffer.obj_ptr = &in_buffer.func_ptr; - else -@@ -287,8 +302,8 @@ - // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type. - reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor(); - } else /* op == check_functor_type_tag */ { -- const std::type_info& check_type = -- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr); -+ const BOOST_FUNCTION_STD_NS::type_info& check_type = -+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr); - if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor))) - out_buffer.obj_ptr = &in_buffer.data; - else -@@ -348,8 +363,8 @@ - # endif // BOOST_NO_STD_ALLOCATOR - out_buffer.obj_ptr = 0; - } else /* op == check_functor_type_tag */ { -- const std::type_info& check_type = -- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr); -+ const BOOST_FUNCTION_STD_NS::type_info& check_type = -+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr); - if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor))) - out_buffer.obj_ptr = in_buffer.obj_ptr; - else -@@ -368,6 +383,15 @@ - mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>()); - } - -+ // For member pointers, we treat them as function objects with -+ // the small-object optimization always enabled. -+ static inline void -+ manager(const function_buffer& in_buffer, function_buffer& out_buffer, -+ functor_manager_operation_type op, member_ptr_tag) -+ { -+ manager(in_buffer, out_buffer, op, mpl::true_()); -+ } -+ - public: - /* Dispatch to an appropriate manager based on whether we have a - function pointer or a function object pointer. */ -@@ -456,7 +480,6 @@ - */ - struct vtable_base - { -- vtable_base() : manager(0) { } - void (*manager)(const function_buffer& in_buffer, - function_buffer& out_buffer, - functor_manager_operation_type op); -@@ -480,13 +503,13 @@ - - /** Retrieve the type of the stored function object, or typeid(void) - if this is empty. */ -- const std::type_info& target_type() const -+ const BOOST_FUNCTION_STD_NS::type_info& target_type() const - { - if (!vtable) return typeid(void); - - detail::function::function_buffer type; - vtable->manager(functor, type, detail::function::get_functor_type_tag); -- return *static_cast<const std::type_info*>(type.const_obj_ptr); -+ return *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(type.const_obj_ptr); - } - - template<typename Functor> -@@ -558,7 +581,7 @@ - #endif - - public: // should be protected, but GCC 2.95.3 will fail to allow access -- detail::function::vtable_base* vtable; -+ const detail::function::vtable_base* vtable; - mutable detail::function::function_buffer functor; - }; - -@@ -733,4 +756,8 @@ - #undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL - #undef BOOST_FUNCTION_COMPARE_TYPE_ID - -+#if defined(BOOST_MSVC) -+# pragma warning( pop ) -+#endif -+ - #endif // BOOST_FUNCTION_BASE_HEADER -diff -U 3 -H -d -r -N -- boost_1_34_1/boost/function/function_template.hpp boost_1_34_1-patched/boost/function/function_template.hpp ---- boost_1_34_1/boost/function/function_template.hpp 2006-09-29 19:23:28.000000000 +0200 -+++ boost_1_34_1-patched/boost/function/function_template.hpp 2007-12-21 10:03:05.000000000 +0100 -@@ -11,6 +11,11 @@ - // protection. - #include <boost/function/detail/prologue.hpp> - -+#if defined(BOOST_MSVC) -+# pragma warning( push ) -+# pragma warning( disable : 4127 ) // "conditional expression is constant" -+#endif -+ - #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T) - - #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T) -@@ -54,12 +59,20 @@ - BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS) - #define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \ - BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS) -+#define BOOST_FUNCTION_MEMBER_INVOKER \ -+ BOOST_JOIN(member_invoker,BOOST_FUNCTION_NUM_ARGS) -+#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \ -+ BOOST_JOIN(void_member_invoker,BOOST_FUNCTION_NUM_ARGS) - #define BOOST_FUNCTION_GET_FUNCTION_INVOKER \ - BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS) - #define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \ - BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS) - #define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \ - BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS) -+#define BOOST_FUNCTION_GET_MEMBER_INVOKER \ -+ BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS) -+#define BOOST_FUNCTION_GET_INVOKER \ -+ BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS) - #define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS) - - #ifndef BOOST_NO_VOID_RETURNS -@@ -70,16 +83,6 @@ - # define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE () - #endif - --#ifdef BOOST_MSVC --# pragma warning(push) --# pragma warning(disable: 4127) // conditional expression is constant. --#endif -- --#ifdef BOOST_MSVC --# pragma warning(push) --# pragma warning(disable: 4127) // conditional expression is constant. --#endif -- - namespace boost { - namespace detail { - namespace function { -@@ -191,6 +194,44 @@ - } - }; - -+#if BOOST_FUNCTION_NUM_ARGS > 0 -+ /* Handle invocation of member pointers. */ -+ template< -+ typename MemberPtr, -+ typename R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_PARMS -+ > -+ struct BOOST_FUNCTION_MEMBER_INVOKER -+ { -+ static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_PARMS) -+ -+ { -+ MemberPtr* f = -+ reinterpret_cast<MemberPtr*>(&function_obj_ptr.data); -+ return boost::mem_fn(*f)(BOOST_FUNCTION_ARGS); -+ } -+ }; -+ -+ template< -+ typename MemberPtr, -+ typename R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_PARMS -+ > -+ struct BOOST_FUNCTION_VOID_MEMBER_INVOKER -+ { -+ static BOOST_FUNCTION_VOID_RETURN_TYPE -+ invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_PARMS) -+ -+ { -+ MemberPtr* f = -+ reinterpret_cast<MemberPtr*>(&function_obj_ptr.data); -+ BOOST_FUNCTION_RETURN(boost::mem_fn(*f)(BOOST_FUNCTION_ARGS)); -+ } -+ }; -+#endif -+ - template< - typename FunctionPtr, - typename R BOOST_FUNCTION_COMMA -@@ -254,12 +295,130 @@ - >::type type; - }; - -+#if BOOST_FUNCTION_NUM_ARGS > 0 -+ /* Retrieve the appropriate invoker for a member pointer. */ -+ template< -+ typename MemberPtr, -+ typename R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_PARMS -+ > -+ struct BOOST_FUNCTION_GET_MEMBER_INVOKER -+ { -+ typedef typename mpl::if_c<(is_void<R>::value), -+ BOOST_FUNCTION_VOID_MEMBER_INVOKER< -+ MemberPtr, -+ R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_ARGS -+ >, -+ BOOST_FUNCTION_MEMBER_INVOKER< -+ MemberPtr, -+ R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_ARGS -+ > -+ >::type type; -+ }; -+#endif -+ -+ /* Given the tag returned by get_function_tag, retrieve the -+ actual invoker that will be used for the given function -+ object. -+ -+ Each specialization contains an "apply" nested class template -+ that accepts the function object, return type, function -+ argument types, and allocator. The resulting "apply" class -+ contains two typedefs, "invoker_type" and "manager_type", -+ which correspond to the invoker and manager types. */ -+ template<typename Tag> -+ struct BOOST_FUNCTION_GET_INVOKER { }; -+ -+ /* Retrieve the invoker for a function pointer. */ -+ template<> -+ struct BOOST_FUNCTION_GET_INVOKER<function_ptr_tag> -+ { -+ template<typename FunctionPtr, -+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS, -+ typename Allocator> -+ struct apply -+ { -+ typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER< -+ FunctionPtr, -+ R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_ARGS -+ >::type -+ invoker_type; -+ -+ typedef functor_manager<FunctionPtr, Allocator> manager_type; -+ }; -+ }; -+ -+#if BOOST_FUNCTION_NUM_ARGS > 0 -+ /* Retrieve the invoker for a member pointer. */ -+ template<> -+ struct BOOST_FUNCTION_GET_INVOKER<member_ptr_tag> -+ { -+ template<typename MemberPtr, -+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS, -+ typename Allocator> -+ struct apply -+ { -+ typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER< -+ MemberPtr, -+ R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_ARGS -+ >::type -+ invoker_type; -+ -+ typedef functor_manager<MemberPtr, Allocator> manager_type; -+ }; -+ }; -+#endif -+ -+ /* Retrieve the invoker for a function object. */ -+ template<> -+ struct BOOST_FUNCTION_GET_INVOKER<function_obj_tag> -+ { -+ template<typename FunctionObj, -+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS, -+ typename Allocator> -+ struct apply -+ { -+ typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< -+ FunctionObj, -+ R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_ARGS -+ >::type -+ invoker_type; -+ -+ typedef functor_manager<FunctionObj, Allocator> manager_type; -+ }; -+ }; -+ -+ /* Retrieve the invoker for a reference to a function object. */ -+ template<> -+ struct BOOST_FUNCTION_GET_INVOKER<function_obj_ref_tag> -+ { -+ template<typename RefWrapper, -+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS, -+ typename Allocator> -+ struct apply -+ { -+ typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER< -+ typename RefWrapper::type, -+ R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_ARGS -+ >::type -+ invoker_type; -+ -+ typedef reference_manager<typename RefWrapper::type> manager_type; -+ }; -+ }; -+ - /** - * vtable for a specific boost::function instance. - */ - template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS, - typename Allocator> -- struct BOOST_FUNCTION_VTABLE : vtable_base -+ struct BOOST_FUNCTION_VTABLE - { - #ifndef BOOST_NO_VOID_RETURNS - typedef R result_type; -@@ -272,50 +431,25 @@ - BOOST_FUNCTION_TEMPLATE_ARGS); - - template<typename F> -- BOOST_FUNCTION_VTABLE(F f) : vtable_base(), invoker(0) -- { -- init(f); -- } -- -- template<typename F> -- bool assign_to(F f, function_buffer& functor) -+ bool assign_to(const F& f, function_buffer& functor) const - { - typedef typename get_function_tag<F>::type tag; - return assign_to(f, functor, tag()); - } - -- void clear(function_buffer& functor) -+ void clear(function_buffer& functor) const - { -- if (manager) -- manager(functor, functor, destroy_functor_tag); -+ if (base.manager) -+ base.manager(functor, functor, destroy_functor_tag); - } -- -+#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE - private: -- template<typename F> -- void init(F f) -- { -- typedef typename get_function_tag<F>::type tag; -- init(f, tag()); -- } -- -+#endif - // Function pointers - template<typename FunctionPtr> -- void init(FunctionPtr /*f*/, function_ptr_tag) -- { -- typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER< -- FunctionPtr, -- R BOOST_FUNCTION_COMMA -- BOOST_FUNCTION_TEMPLATE_ARGS -- >::type -- actual_invoker_type; -- -- invoker = &actual_invoker_type::invoke; -- manager = &functor_manager<FunctionPtr, Allocator>::manage; -- } -- -- template<typename FunctionPtr> - bool -- assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag) -+ assign_to(FunctionPtr f, function_buffer& functor, -+ function_ptr_tag) const - { - this->clear(functor); - if (f) { -@@ -331,22 +465,13 @@ - // Member pointers - #if BOOST_FUNCTION_NUM_ARGS > 0 - template<typename MemberPtr> -- void init(MemberPtr f, member_ptr_tag) -- { -- // DPG TBD: Add explicit support for member function -- // objects, so we invoke through mem_fn() but we retain the -- // right target_type() values. -- this->init(mem_fn(f)); -- } -- -- template<typename MemberPtr> -- bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) -+ bool -+ assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) const - { -- // DPG TBD: Add explicit support for member function -- // objects, so we invoke through mem_fn() but we retain the -- // right target_type() values. - if (f) { -- this->assign_to(mem_fn(f), functor); -+ // Always use the small-object optimization for member -+ // pointers. -+ assign_functor(f, functor, mpl::true_()); - return true; - } else { - return false; -@@ -355,24 +480,11 @@ - #endif // BOOST_FUNCTION_NUM_ARGS > 0 - - // Function objects -- template<typename FunctionObj> -- void init(FunctionObj /*f*/, function_obj_tag) -- { -- typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< -- FunctionObj, -- R BOOST_FUNCTION_COMMA -- BOOST_FUNCTION_TEMPLATE_ARGS -- >::type -- actual_invoker_type; -- -- invoker = &actual_invoker_type::invoke; -- manager = &functor_manager<FunctionObj, Allocator>::manage; -- } -- - // Assign to a function object using the small object optimization - template<typename FunctionObj> - void -- assign_functor(FunctionObj f, function_buffer& functor, mpl::true_) -+ assign_functor(const FunctionObj& f, function_buffer& functor, -+ mpl::true_) const - { - new ((void*)&functor.data) FunctionObj(f); - } -@@ -380,7 +492,8 @@ - // Assign to a function object allocated on the heap. - template<typename FunctionObj> - void -- assign_functor(FunctionObj f, function_buffer& functor, mpl::false_) -+ assign_functor(const FunctionObj& f, function_buffer& functor, -+ mpl::false_) const - { - #ifndef BOOST_NO_STD_ALLOCATOR - typedef typename Allocator::template rebind<FunctionObj>::other -@@ -400,7 +513,8 @@ - - template<typename FunctionObj> - bool -- assign_to(FunctionObj f, function_buffer& functor, function_obj_tag) -+ assign_to(const FunctionObj& f, function_buffer& functor, -+ function_obj_tag) const - { - if (!boost::detail::function::has_empty_target(boost::addressof(f))) { - assign_functor(f, functor, -@@ -413,24 +527,9 @@ - - // Reference to a function object - template<typename FunctionObj> -- void -- init(const reference_wrapper<FunctionObj>& /*f*/, function_obj_ref_tag) -- { -- typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER< -- FunctionObj, -- R BOOST_FUNCTION_COMMA -- BOOST_FUNCTION_TEMPLATE_ARGS -- >::type -- actual_invoker_type; -- -- invoker = &actual_invoker_type::invoke; -- manager = &reference_manager<FunctionObj>::get; -- } -- -- template<typename FunctionObj> - bool - assign_to(const reference_wrapper<FunctionObj>& f, -- function_buffer& functor, function_obj_ref_tag) -+ function_buffer& functor, function_obj_ref_tag) const - { - if (!boost::detail::function::has_empty_target(f.get_pointer())) { - // DPG TBD: We might need to detect constness of -@@ -445,6 +544,7 @@ - } - - public: -+ vtable_base base; - invoker_type invoker; - }; - } // end namespace function -@@ -456,6 +556,17 @@ - typename Allocator = BOOST_FUNCTION_DEFAULT_ALLOCATOR - > - class BOOST_FUNCTION_FUNCTION : public function_base -+ -+#if BOOST_FUNCTION_NUM_ARGS == 1 -+ -+ , public std::unary_function<T0,R> -+ -+#elif BOOST_FUNCTION_NUM_ARGS == 2 -+ -+ , public std::binary_function<T0,T1,R> -+ -+#endif -+ - { - public: - #ifndef BOOST_NO_VOID_RETURNS -@@ -537,7 +648,7 @@ - if (this->empty()) - boost::throw_exception(bad_function_call()); - -- return static_cast<vtable_type*>(vtable)->invoker -+ return reinterpret_cast<const vtable_type*>(vtable)->invoker - (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS); - } - #else -@@ -561,12 +672,16 @@ - operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f) - { - this->clear(); -+#ifndef BOOST_NO_EXCEPTIONS - try { - this->assign_to(f); - } catch (...) { - vtable = 0; - throw; - } -+#else -+ this->assign_to(f); -+#endif - return *this; - } - -@@ -592,12 +707,16 @@ - return *this; - - this->clear(); -+#ifndef BOOST_NO_EXCEPTIONS - try { - this->assign_to_own(f); - } catch (...) { - vtable = 0; - throw; - } -+#else -+ this->assign_to_own(f); -+#endif - return *this; - } - -@@ -615,7 +734,7 @@ - void clear() - { - if (vtable) { -- static_cast<vtable_type*>(vtable)->clear(this->functor); -+ reinterpret_cast<const vtable_type*>(vtable)->clear(this->functor); - vtable = 0; - } - } -@@ -650,10 +769,24 @@ - } - - template<typename Functor> -- void assign_to(Functor f) -+ void assign_to(const Functor& f) - { -- static vtable_type stored_vtable(f); -- if (stored_vtable.assign_to(f, functor)) vtable = &stored_vtable; -+ using detail::function::vtable_base; -+ -+ typedef typename detail::function::get_function_tag<Functor>::type tag; -+ typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker; -+ typedef typename get_invoker:: -+ template apply<Functor, R BOOST_FUNCTION_COMMA -+ BOOST_FUNCTION_TEMPLATE_ARGS, Allocator> -+ handler_type; -+ -+ typedef typename handler_type::invoker_type invoker_type; -+ typedef typename handler_type::manager_type manager_type; -+ -+ static const vtable_type stored_vtable = -+ { { &manager_type::manage }, &invoker_type::invoke }; -+ -+ if (stored_vtable.assign_to(f, functor)) vtable = &stored_vtable.base; - else vtable = 0; - } - }; -@@ -688,7 +821,7 @@ - if (this->empty()) - boost::throw_exception(bad_function_call()); - -- return static_cast<vtable_type*>(vtable)->invoker -+ return reinterpret_cast<const vtable_type*>(vtable)->invoker - (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS); - } - #endif -@@ -798,21 +931,14 @@ - } - }; - --#ifdef BOOST_MSVC --# pragma warning(pop) --#endif -- - #undef BOOST_FUNCTION_PARTIAL_SPEC - #endif // have partial specialization - - } // end namespace boost - --#ifdef BOOST_MSVC --# pragma warning(pop) --#endif -- - // Cleanup after ourselves... - #undef BOOST_FUNCTION_VTABLE -+#undef BOOST_FUNCTION_GET_INVOKER - #undef BOOST_FUNCTION_DEFAULT_ALLOCATOR - #undef BOOST_FUNCTION_COMMA - #undef BOOST_FUNCTION_FUNCTION -@@ -822,10 +948,12 @@ - #undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER - #undef BOOST_FUNCTION_FUNCTION_REF_INVOKER - #undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER -+#undef BOOST_FUNCTION_MEMBER_INVOKER -+#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER - #undef BOOST_FUNCTION_GET_FUNCTION_INVOKER - #undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER - #undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER --#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER -+#undef BOOST_FUNCTION_GET_MEMBER_INVOKER - #undef BOOST_FUNCTION_TEMPLATE_PARMS - #undef BOOST_FUNCTION_TEMPLATE_ARGS - #undef BOOST_FUNCTION_PARMS -@@ -835,3 +963,7 @@ - #undef BOOST_FUNCTION_ARG_TYPES - #undef BOOST_FUNCTION_VOID_RETURN_TYPE - #undef BOOST_FUNCTION_RETURN -+ -+#if defined(BOOST_MSVC) -+# pragma warning( pop ) -+#endif diff --git a/development/boost/boost.SlackBuild b/development/boost/boost.SlackBuild index 0bfd537a99..cc6604d06d 100644 --- a/development/boost/boost.SlackBuild +++ b/development/boost/boost.SlackBuild @@ -3,7 +3,7 @@ # Slackware build script for boost # Copyright 2007-2008 Eric Hameleers <alien@slackware.com> -# Copyright 2007 Heinz Wiesinger +# Copyright 2007-2008 Heinz Wiesinger <pprkut@liwjatan.at> # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -29,22 +29,25 @@ # -- no additional license terms and no copyright PRGNAM=boost -VERSION=1_34_1 +VERSION=1_36_0 ARCH=${ARCH:-i486} -BUILD=${BUILD:-3} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} + CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -ICU=${ICU:-YES} +ICU=${ICU:-no} PKG_VERSION=$(echo $VERSION | tr '_' '.') # Leave this alone if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" fi set -e @@ -62,20 +65,23 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -if [ "$ICU" = "YES" ]; then - do_icu="-sICU_PATH=/usr" +# Apply Hotfixes from http://svn.boost.org/trac/boost/wiki/ReleasePractices/HotFixes +patch -p2 -i $CWD/patches/changeset_r48141.diff +patch -p2 -i $CWD/patches/changeset_r48192.diff +patch -p2 -i $CWD/patches/changeset_r48374.diff +patch -p2 -i $CWD/patches/changeset_r48377.diff +patch -p2 -i $CWD/patches/changeset_r48462.diff + +if [ "$ICU" = "no" ]; then + ICU_FLAGS="" else - do_icu="" + ICU_FLAGS="-sICU_PATH=/usr" fi # This is the python we build against: PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]') PYTHON_FLAGS="-sPYTHON_ROOT=/usr -sPYTHON_VERSION=$PYTHON_VERSION" -# This fixes a critical bug that affects the construction of Boost.Function -# objects in a multi-threaded context. -patch -p1 < $CWD/boost-1_34_1-function-bugfix.diff - # First build bjam, the boost build system: cd tools/jam/src CFLAGS="$SLKCFLAGS -fno-strict-aliasing" CC=gcc ./build.sh cc @@ -83,46 +89,56 @@ cd - BJAM=$(find tools/jam/src/ -name bjam -a -type f) +# Change the build options from 'minimal' to what we want +FLAGS="<threading>multi <threading>single <optimization>speed <inlining>full" + +sed -i "s/ <threading>multi/ $FLAGS/" Jamroot + +# disable static libraries +sed -i "s/<link>shared <link>static/<link>shared/" Jamroot + # Create build subdirectory mkdir obj # Next, we build boost using bjam -$BJAM \ + $BJAM \ release \ - "-sBUILD=<optimization>speed <inlining>full <threading>single/multi" \ "-sNO_COMPRESSION=0" \ "-sZLIB_INCLUDE=/usr/include" \ "-sZLIB_LIBPATH=/usr/lib" \ "-sBZIP2_INCLUDE=/usr/include" \ "-sBZIP2_LIBPATH=/usr/lib" \ + "-sEXPAT_INCLUDE=/usr/include" \ + "-sEXPAT_LIBPATH=/usr/lib" \ --toolset=gcc \ --layout=system \ --builddir=obj \ --prefix=/usr \ + --build-type=minimal \ $PYTHON_FLAGS \ - $do_icu \ - stage + $ICU_FLAGS # And then install boost.. mkdir -p $PKG/usr/{lib,include} $BJAM \ release \ + "-sEXPAT_INCLUDE=/usr/include" \ + "-sEXPAT_LIBPATH=/usr/lib" \ --toolset=gcc \ --layout=system \ --builddir=obj \ --prefix=$PKG/usr \ + --build-type=minimal \ $PYTHON_FLAGS \ - $do_icu \ + $ICU_FLAGS \ install -( cd $PKG - find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -) +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$PKG_VERSION -cp -a LICENSE_1_0.txt README $PKG/usr/doc/$PRGNAM-$PKG_VERSION +cp -a LICENSE_1_0.txt INSTALL $PKG/usr/doc/$PRGNAM-$PKG_VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$PKG_VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/development/boost/boost.info b/development/boost/boost.info index 1d739be417..3f24282c4a 100644 --- a/development/boost/boost.info +++ b/development/boost/boost.info @@ -1,8 +1,8 @@ PRGNAM="boost" -VERSION="1.34.1" +VERSION="1.36.0" HOMEPAGE="http://www.boost.org/" -DOWNLOAD="http://downloads.sourceforge.net/boost/boost_1_34_1.tar.bz2" -MD5SUM="2d938467e8a448a2c9763e0a9f8ca7e5" +DOWNLOAD="http://downloads.sourceforge.net/boost/boost_1_36_0.tar.bz2" +MD5SUM="328bfec66c312150e4c2a78dcecb504b" MAINTAINER="ppr:kut" -EMAIL="HMWiesinger@gmx.at" -APPROVED="rworkman,alien" +EMAIL="pprkut@liwjatan.at" +APPROVED="rworkman" diff --git a/development/boost/patches/changeset_r48141.diff b/development/boost/patches/changeset_r48141.diff new file mode 100644 index 0000000000..06ce73995e --- /dev/null +++ b/development/boost/patches/changeset_r48141.diff @@ -0,0 +1,31 @@ +Index: /trunk/boost/xpressive/detail/utility/hash_peek_bitset.hpp
+===================================================================
+--- /trunk/boost/xpressive/detail/utility/hash_peek_bitset.hpp (revision 43799)
++++ /trunk/boost/xpressive/detail/utility/hash_peek_bitset.hpp (revision 48141)
+@@ -105,5 +105,8 @@
+ void set_bitset(hash_peek_bitset<Char> const &that)
+ {
+- this->bset_ |= that.bset_;
++ if(this->test_icase_(that.icase()))
++ {
++ this->bset_ |= that.bset_;
++ }
+ }
+
+Index: /trunk/libs/xpressive/test/regress.txt
+===================================================================
+--- /trunk/libs/xpressive/test/regress.txt (revision 47901)
++++ /trunk/libs/xpressive/test/regress.txt (revision 48141)
+@@ -3739,2 +3739,12 @@
+ br0=c
+ [end]
++
++[nocasealternate]
++str=common HighLight and Blow this
++pat=highlight|blow
++flg=ig
++sub=<b>$&</b>
++res=common <b>HighLight</b> and <b>Blow</b> this
++br0=HighLight
++br1=Blow
++[end]
diff --git a/development/boost/patches/changeset_r48192.diff b/development/boost/patches/changeset_r48192.diff new file mode 100644 index 0000000000..fc76a94bb6 --- /dev/null +++ b/development/boost/patches/changeset_r48192.diff @@ -0,0 +1,36 @@ +Index: /trunk/boost/filesystem/operations.hpp
+===================================================================
+--- /trunk/boost/filesystem/operations.hpp (revision 47181)
++++ /trunk/boost/filesystem/operations.hpp (revision 48192)
+@@ -1021,10 +1021,16 @@
+ void replace_filename( const string_type & s,
+ file_status st, file_status symlink_st )
+- {
+- m_path.remove_filename();
+- m_path /= s;
+- m_status = st;
+- m_symlink_status = symlink_st;
+- }
++ {
++ m_path.remove_filename();
++ m_path /= s;
++ m_status = st;
++ m_symlink_status = symlink_st;
++ }
++
++# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
++ void replace_leaf( const string_type & s,
++ file_status st, file_status symlink_st )
++ { replace_filename( s, st, symlink_st ); }
++# endif
+
+ const Path & path() const { return m_path; }
+@@ -1040,4 +1046,8 @@
+ // deprecated functions preserve common use cases in legacy code
+ typename Path::string_type filename() const
++ {
++ return path().filename();
++ }
++ typename Path::string_type leaf() const
+ {
+ return path().filename();
diff --git a/development/boost/patches/changeset_r48374.diff b/development/boost/patches/changeset_r48374.diff new file mode 100644 index 0000000000..9d6122118b --- /dev/null +++ b/development/boost/patches/changeset_r48374.diff @@ -0,0 +1,18 @@ +Index: /trunk/boost/filesystem/path.hpp
+===================================================================
+--- /trunk/boost/filesystem/path.hpp (revision 47923)
++++ /trunk/boost/filesystem/path.hpp (revision 48374)
+@@ -230,4 +230,6 @@
+ string_type leaf() const { return filename(); }
+ basic_path branch_path() const { return parent_path(); }
++ bool has_leaf() const { return !m_path.empty(); }
++ bool has_branch_path() const { return !parent_path().empty(); }
+ # endif
+
+@@ -238,5 +240,5 @@
+ bool has_root_directory() const;
+ bool has_relative_path() const { return !relative_path().empty(); }
+- bool has_filename() const { return !m_path.empty(); }
++ bool has_filename() const { return !m_path.empty(); }
+ bool has_parent_path() const { return !parent_path().empty(); }
+
diff --git a/development/boost/patches/changeset_r48377.diff b/development/boost/patches/changeset_r48377.diff new file mode 100644 index 0000000000..621d216dc4 --- /dev/null +++ b/development/boost/patches/changeset_r48377.diff @@ -0,0 +1,337 @@ +Index: /trunk/boost/filesystem/operations.hpp
+===================================================================
+--- /trunk/boost/filesystem/operations.hpp (revision 48192)
++++ /trunk/boost/filesystem/operations.hpp (revision 48377)
+@@ -122,8 +122,4 @@
+ namespace detail
+ {
+- // singular object used only as a tag; thus initialization and
+- // thread-safety are not issues
+- BOOST_FILESYSTEM_DECL extern system::error_code throws;
+-
+ typedef std::pair< system::error_code, bool >
+ query_pair;
+@@ -235,5 +231,8 @@
+
+ template<class Path>
+- unsigned long remove_all_aux( const Path & ph );
++ bool remove_aux( const Path & ph, file_status f );
++
++ template<class Path>
++ unsigned long remove_all_aux( const Path & ph, file_status f );
+
+ } // namespace detail
+@@ -475,17 +474,22 @@
+ }
+
+- BOOST_FS_FUNC(void) remove( const Path & ph, system::error_code & ec = detail::throws )
+- {
+- system::error_code error( detail::remove_api(ph.external_file_string()) );
+- if ( error && &ec == &detail::throws )
+- boost::throw_exception( basic_filesystem_error<Path>(
+- "boost::filesystem::remove", ph, error ) );
+- ec = error;
++ BOOST_FS_FUNC(bool) remove( const Path & ph )
++ {
++ system::error_code ec;
++ file_status f = symlink_status( ph, ec );
++ if ( ec )
++ boost::throw_exception( basic_filesystem_error<Path>(
++ "boost::filesystem::remove", ph, ec ) );
++ return detail::remove_aux( ph, f );
+ }
+
+ BOOST_FS_FUNC(unsigned long) remove_all( const Path & ph )
+ {
+- return exists( ph )|| is_symlink( ph )
+- ? detail::remove_all_aux( ph ) : 0;
++ system::error_code ec;
++ file_status f = symlink_status( ph, ec );
++ if ( ec )
++ boost::throw_exception( basic_filesystem_error<Path>(
++ "boost::filesystem::remove_all", ph, ec ) );
++ return exists( f ) ? detail::remove_all_aux( ph, f ) : 0;
+ }
+
+@@ -713,6 +717,8 @@
+ { return create_symlink<wpath>( to_ph, from_ph, ec ); }
+
+- inline void remove( const path & ph ) { remove<path>( ph ); }
+- inline void remove( const wpath & ph ) { remove<wpath>( ph ); }
++ inline bool remove( const path & ph )
++ { return remove<path>( ph ); }
++ inline bool remove( const wpath & ph )
++ { return remove<wpath>( ph ); }
+
+ inline unsigned long remove_all( const path & ph )
+@@ -763,18 +769,37 @@
+ {
+ template<class Path>
+- unsigned long remove_all_aux( const Path & ph )
++ bool remove_aux( const Path & ph, file_status f )
++ {
++ if ( exists( f ) )
++ {
++ system::error_code ec = remove_api( ph.external_file_string() );
++ if ( ec )
++ boost::throw_exception( basic_filesystem_error<Path>(
++ "boost::filesystem::remove", ph, ec ) );
++ return true;
++ }
++ return false;
++ }
++
++ template<class Path>
++ unsigned long remove_all_aux( const Path & ph, file_status f )
+ {
+ static const boost::filesystem::basic_directory_iterator<Path> end_itr;
+ unsigned long count = 1;
+- if ( !boost::filesystem::is_symlink( ph ) // don't recurse symbolic links
+- && boost::filesystem::is_directory( ph ) )
++ if ( !boost::filesystem::is_symlink( f ) // don't recurse symbolic links
++ && boost::filesystem::is_directory( f ) )
+ {
+ for ( boost::filesystem::basic_directory_iterator<Path> itr( ph );
+ itr != end_itr; ++itr )
+ {
+- count += remove_all_aux( itr->path() );
++ boost::system::error_code ec;
++ boost::filesystem::file_status fn = boost::filesystem::symlink_status( itr->path(), ec );
++ if ( ec )
++ boost::throw_exception( basic_filesystem_error<Path>(
++ "boost::filesystem:remove_all", ph, ec ) );
++ count += remove_all_aux( itr->path(), fn );
+ }
+ }
+- boost::filesystem::remove( ph );
++ remove_aux( ph, f );
+ return count;
+ }
+Index: /trunk/libs/filesystem/test/operations_test.cpp
+===================================================================
+--- /trunk/libs/filesystem/test/operations_test.cpp (revision 47181)
++++ /trunk/libs/filesystem/test/operations_test.cpp (revision 48377)
+@@ -777,8 +777,8 @@
+ BOOST_CHECK( fs::exists( file_ph ) );
+ BOOST_CHECK( !fs::is_directory( file_ph ) );
+- fs::remove( file_ph );
++ BOOST_CHECK( fs::remove( file_ph ) );
+ BOOST_CHECK( !fs::exists( file_ph ) );
+- fs::remove( "no-such-file" );
+- fs::remove( "no-such-directory/no-such-file" );
++ BOOST_CHECK( !fs::remove( "no-such-file" ) );
++ BOOST_CHECK( !fs::remove( "no-such-directory/no-such-file" ) );
+
+ // remove() directory
+@@ -791,5 +791,5 @@
+ bad_remove_dir = dir;
+ BOOST_CHECK( CHECK_EXCEPTION( bad_remove, ENOTEMPTY ) );
+- fs::remove( d1 );
++ BOOST_CHECK( fs::remove( d1 ) );
+ BOOST_CHECK( !fs::exists( d1 ) );
+
+@@ -798,5 +798,5 @@
+ // remove() dangling symbolic link
+ fs::path link( "dangling_link" );
+- fs::remove( link );
++ fs::remove( link ); // remove any residue from past tests
+ BOOST_CHECK( !fs::is_symlink( link ) );
+ BOOST_CHECK( !fs::exists( link ) );
+@@ -804,14 +804,14 @@
+ BOOST_CHECK( !fs::exists( link ) );
+ BOOST_CHECK( fs::is_symlink( link ) );
+- fs::remove( link );
++ BOOST_CHECK( fs::remove( link ) );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+
+ // remove() self-refering symbolic link
+ link = "link_to_self";
+- fs::remove( link );
++ fs::remove( link ); // remove any residue from past tests
+ BOOST_CHECK( !fs::is_symlink( link ) );
+ BOOST_CHECK( !fs::exists( link ) );
+ fs::create_symlink( link, link );
+- fs::remove( link );
++ BOOST_CHECK( fs::remove( link ) );
+ BOOST_CHECK( !fs::exists( link ) );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+@@ -820,12 +820,12 @@
+ link = "link_to_a";
+ fs::path link2( "link_to_b" );
+- fs::remove( link );
+- fs::remove( link2 );
++ fs::remove( link ); // remove any residue from past tests
++ fs::remove( link2 ); // remove any residue from past tests
+ BOOST_CHECK( !fs::is_symlink( link ) );
+ BOOST_CHECK( !fs::exists( link ) );
+ fs::create_symlink( link, link2 );
+ fs::create_symlink( link2, link );
+- fs::remove( link );
+- fs::remove( link2 );
++ BOOST_CHECK( fs::remove( link ) );
++ BOOST_CHECK( fs::remove( link2 ) );
+ BOOST_CHECK( !fs::exists( link ) );
+ BOOST_CHECK( !fs::exists( link2 ) );
+@@ -834,5 +834,5 @@
+ // remove() symbolic link to file
+ file_ph = "link_target";
+- fs::remove( file_ph );
++ fs::remove( file_ph ); // remove any residue from past tests
+ BOOST_CHECK( !fs::exists( file_ph ) );
+ create_file( file_ph, "" );
+@@ -846,9 +846,9 @@
+ BOOST_CHECK( fs::is_regular_file( link ) );
+ BOOST_CHECK( fs::is_symlink( link ) );
+- fs::remove( link );
++ BOOST_CHECK( fs::remove( link ) );
+ BOOST_CHECK( fs::exists( file_ph ) );
+ BOOST_CHECK( !fs::exists( link ) );
+ BOOST_CHECK( !fs::is_symlink( link ) );
+- fs::remove( file_ph );
++ BOOST_CHECK( fs::remove( file_ph ) );
+ BOOST_CHECK( !fs::exists( file_ph ) );
+ }
+Index: /trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj
+===================================================================
+--- /trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj (revision 46750)
++++ /trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj (revision 48377)
+@@ -87,5 +87,5 @@
+ <Tool
+ Name="VCPostBuildEventTool"
+- Description="Auto test run"
++ Description="run test"
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+@@ -164,4 +164,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description="run test"
++ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+ </Configuration>
+Index: /trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj
+===================================================================
+--- /trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj (revision 46750)
++++ /trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj (revision 48377)
+@@ -87,5 +87,5 @@
+ <Tool
+ Name="VCPostBuildEventTool"
+- Description="Auto test run"
++ Description="run test"
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+@@ -164,4 +164,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description="run test"
++ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+ </Configuration>
+Index: /trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj
+===================================================================
+--- /trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj (revision 46750)
++++ /trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj (revision 48377)
+@@ -87,5 +87,5 @@
+ <Tool
+ Name="VCPostBuildEventTool"
+- Description="Auto test run"
++ Description="run test"
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+@@ -164,4 +164,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description="run test"
++ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+ </Configuration>
+Index: /trunk/libs/filesystem/test/msvc/simple_ls/simple_ls.vcproj
+===================================================================
+--- /trunk/libs/filesystem/test/msvc/simple_ls/simple_ls.vcproj (revision 46750)
++++ /trunk/libs/filesystem/test/msvc/simple_ls/simple_ls.vcproj (revision 48377)
+@@ -87,4 +87,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description=""
++ CommandLine=""
+ />
+ </Configuration>
+@@ -162,4 +164,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description=""
++ CommandLine=""
+ />
+ </Configuration>
+Index: /trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj
+===================================================================
+--- /trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj (revision 46750)
++++ /trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj (revision 48377)
+@@ -87,5 +87,5 @@
+ <Tool
+ Name="VCPostBuildEventTool"
+- Description="Auto test run"
++ Description="run test"
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+@@ -164,4 +164,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description="run test"
++ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+ </Configuration>
+Index: /trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj
+===================================================================
+--- /trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj (revision 46750)
++++ /trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj (revision 48377)
+@@ -87,4 +87,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description="run test"
++ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+ </Configuration>
+@@ -162,4 +164,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description="run test"
++ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+ </Configuration>
+Index: /trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj
+===================================================================
+--- /trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj (revision 46750)
++++ /trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj (revision 48377)
+@@ -87,5 +87,5 @@
+ <Tool
+ Name="VCPostBuildEventTool"
+- Description="Auto test run"
++ Description="run test"
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+@@ -164,4 +164,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description="run test"
++ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+ </Configuration>
+Index: /trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj
+===================================================================
+--- /trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj (revision 46750)
++++ /trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj (revision 48377)
+@@ -87,5 +87,5 @@
+ <Tool
+ Name="VCPostBuildEventTool"
+- Description="Auto test run"
++ Description="run test"
+ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+@@ -164,4 +164,6 @@
+ <Tool
+ Name="VCPostBuildEventTool"
++ Description="run test"
++ CommandLine=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
+ />
+ </Configuration>
diff --git a/development/boost/patches/changeset_r48462.diff b/development/boost/patches/changeset_r48462.diff new file mode 100644 index 0000000000..5cd2302fff --- /dev/null +++ b/development/boost/patches/changeset_r48462.diff @@ -0,0 +1,16 @@ +Index: /trunk/boost/filesystem/convenience.hpp
+===================================================================
+--- /trunk/boost/filesystem/convenience.hpp (revision 47181)
++++ /trunk/boost/filesystem/convenience.hpp (revision 48462)
+@@ -95,4 +95,5 @@
+ { return create_directories<wpath>(ph); }
+
++# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+ inline std::string extension(const path& ph)
+ { return extension<path>(ph); }
+@@ -109,4 +110,5 @@
+ inline wpath change_extension( const wpath & ph, const std::wstring& new_ex )
+ { return change_extension<wpath>( ph, new_ex ); }
++# endif
+
+ # endif
|