Compare commits

..

3 Commits
master ... f17

Author SHA1 Message Date
Petr Machata 6b46fc2044 Fix classifying incomplete UTF-8 sequences in Boost.Locale 2013-02-13 13:26:13 +01:00
Petr Machata 0fa3a498eb Build Boost.Locale backends
- Resolves: #832265
2012-06-21 22:56:22 +02:00
Petr Machata c41f59ffd6 In Boost.Pool, be careful not to overflow allocated chunk size.
- Resolves: #828857
2012-06-07 00:47:01 +02:00
38 changed files with 40321 additions and 2561 deletions

View File

@ -0,0 +1,208 @@
diff -urp boost_1_48_0~/boost/accumulators/statistics/sum_kahan.hpp boost_1_48_0/boost/accumulators/statistics/sum_kahan.hpp
--- boost_1_48_0~/boost/accumulators/statistics/sum_kahan.hpp 2012-01-16 16:15:24.249239726 +0100
+++ boost_1_48_0/boost/accumulators/statistics/sum_kahan.hpp 2012-01-16 16:18:41.088244223 +0100
@@ -51,7 +51,7 @@ struct sum_kahan_impl
template<typename Args>
void
#if BOOST_ACCUMULATORS_GCC_VERSION > 40305
- __attribute__((optimize("no-associative-math")))
+ __attribute__((__optimize__("no-associative-math")))
#endif
operator ()(Args const & args)
{
diff -urp boost_1_48_0~/boost/accumulators/statistics/weighted_sum_kahan.hpp boost_1_48_0/boost/accumulators/statistics/weighted_sum_kahan.hpp
--- boost_1_48_0~/boost/accumulators/statistics/weighted_sum_kahan.hpp 2012-01-16 16:15:24.271239755 +0100
+++ boost_1_48_0/boost/accumulators/statistics/weighted_sum_kahan.hpp 2012-01-16 16:18:25.408243823 +0100
@@ -52,7 +52,7 @@ namespace impl
template<typename Args>
void
#if BOOST_ACCUMULATORS_GCC_VERSION > 40305
- __attribute__((optimize("no-associative-math")))
+ __attribute__((__optimize__("no-associative-math")))
#endif
operator ()(Args const &args)
{
diff -urp boost_1_48_0~/boost/asio/buffers_iterator.hpp boost_1_48_0/boost/asio/buffers_iterator.hpp
--- boost_1_48_0~/boost/asio/buffers_iterator.hpp 2012-01-16 16:15:26.550239797 +0100
+++ boost_1_48_0/boost/asio/buffers_iterator.hpp 2012-01-16 16:17:45.880243120 +0100
@@ -128,7 +128,7 @@ public:
/// Construct an iterator representing the beginning of the buffers' data.
static buffers_iterator begin(const BufferSequence& buffers)
#if BOOST_WORKAROUND(__GNUC__, == 4) && BOOST_WORKAROUND(__GNUC_MINOR__, == 3)
- __attribute__ ((noinline))
+ __attribute__ ((__noinline__))
#endif
{
buffers_iterator new_iter;
@@ -148,7 +148,7 @@ public:
/// Construct an iterator representing the end of the buffers' data.
static buffers_iterator end(const BufferSequence& buffers)
#if BOOST_WORKAROUND(__GNUC__, == 4) && BOOST_WORKAROUND(__GNUC_MINOR__, == 3)
- __attribute__ ((noinline))
+ __attribute__ ((__noinline__))
#endif
{
buffers_iterator new_iter;
diff -urp boost_1_48_0~/boost/config/compiler/gcc.hpp boost_1_48_0/boost/config/compiler/gcc.hpp
--- boost_1_48_0~/boost/config/compiler/gcc.hpp 2012-01-16 16:15:14.643239525 +0100
+++ boost_1_48_0/boost/config/compiler/gcc.hpp 2012-01-16 16:21:24.072247987 +0100
@@ -120,13 +120,13 @@
// _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,
// so does not define _WIN32 or its variants.
# define BOOST_HAS_DECLSPEC
-# define BOOST_SYMBOL_EXPORT __attribute__((dllexport))
-# define BOOST_SYMBOL_IMPORT __attribute__((dllimport))
+# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))
+# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
# else
-# define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
+# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
# define BOOST_SYMBOL_IMPORT
# endif
-# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
+# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
#else
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
# define BOOST_SYMBOL_EXPORT
diff -urp boost_1_48_0~/boost/exception/detail/attribute_noreturn.hpp boost_1_48_0/boost/exception/detail/attribute_noreturn.hpp
--- boost_1_48_0~/boost/exception/detail/attribute_noreturn.hpp 2012-01-16 16:15:24.814239755 +0100
+++ boost_1_48_0/boost/exception/detail/attribute_noreturn.hpp 2012-01-16 16:17:41.416242878 +0100
@@ -9,7 +9,7 @@
#if defined(_MSC_VER)
#define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn)
#elif defined(__GNUC__)
-#define BOOST_ATTRIBUTE_NORETURN __attribute__((noreturn))
+#define BOOST_ATTRIBUTE_NORETURN __attribute__((__noreturn__))
#else
#define BOOST_ATTRIBUTE_NORETURN
#endif
diff -urp boost_1_48_0~/boost/gil/gil_config.hpp boost_1_48_0/boost/gil/gil_config.hpp
--- boost_1_48_0~/boost/gil/gil_config.hpp 2012-01-16 16:15:29.883239865 +0100
+++ boost_1_48_0/boost/gil/gil_config.hpp 2012-01-16 16:17:49.096243036 +0100
@@ -32,7 +32,7 @@
#if defined(_MSC_VER)
# define GIL_FORCEINLINE __forceinline
#elif defined(__GNUC__) && __GNUC__ > 3
-# define GIL_FORCEINLINE inline __attribute__ ((always_inline))
+# define GIL_FORCEINLINE inline __attribute__ ((__always_inline__))
#else
# define GIL_FORCEINLINE inline
#endif
diff -urp boost_1_48_0~/boost/interprocess/offset_ptr.hpp boost_1_48_0/boost/interprocess/offset_ptr.hpp
--- boost_1_48_0~/boost/interprocess/offset_ptr.hpp 2012-01-16 16:15:22.825239716 +0100
+++ boost_1_48_0/boost/interprocess/offset_ptr.hpp 2012-01-16 16:19:06.241244783 +0100
@@ -67,7 +67,7 @@ class offset_ptr
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
__declspec(noinline) //this workaround is needed for msvc-8.0 and msvc-9.0
#elif defined (__GNUC__)//this workaround is needed for GCC
- __attribute__((noinline))
+ __attribute__((__noinline__))
#endif
void set_offset(const PointedType *ptr)
{
@@ -87,7 +87,7 @@ class offset_ptr
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
__declspec(noinline)
#elif defined (__GNUC__)
- __attribute__((noinline))
+ __attribute__((__noinline__))
#endif
PointedType * get_pointer() const
{
diff -urp boost_1_48_0~/boost/math/special_functions/detail/lanczos_sse2.hpp boost_1_48_0/boost/math/special_functions/detail/lanczos_sse2.hpp
--- boost_1_48_0~/boost/math/special_functions/detail/lanczos_sse2.hpp 2012-01-16 16:15:30.509239887 +0100
+++ boost_1_48_0/boost/math/special_functions/detail/lanczos_sse2.hpp 2012-01-16 16:17:52.376243192 +0100
@@ -13,7 +13,7 @@
#include <emmintrin.h>
#if defined(__GNUC__) || defined(__PGI)
-#define ALIGN16 __attribute__((aligned(16)))
+#define ALIGN16 __attribute__((__aligned__(16)))
#else
#define ALIGN16 __declspec(align(16))
#endif
diff -urp boost_1_48_0~/boost/optional/optional.hpp boost_1_48_0/boost/optional/optional.hpp
--- boost_1_48_0~/boost/optional/optional.hpp 2012-01-16 16:15:29.743239804 +0100
+++ boost_1_48_0/boost/optional/optional.hpp 2012-01-16 16:17:47.488242994 +0100
@@ -127,7 +127,7 @@ class aligned_storage
union
// This works around GCC warnings about breaking strict aliasing rules when casting storage address to T*
#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
- __attribute__((may_alias))
+ __attribute__((__may_alias__))
#endif
dummy_u
{
diff -urp boost_1_48_0~/boost/python/detail/config.hpp boost_1_48_0/boost/python/detail/config.hpp
--- boost_1_48_0~/boost/python/detail/config.hpp 2012-01-16 16:15:19.994239647 +0100
+++ boost_1_48_0/boost/python/detail/config.hpp 2012-01-16 16:20:20.080246608 +0100
@@ -76,13 +76,13 @@
# if BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY
# if defined(BOOST_PYTHON_SOURCE)
-# define BOOST_PYTHON_DECL __attribute__ ((visibility("default")))
+# define BOOST_PYTHON_DECL __attribute__ ((__visibility__("default")))
# define BOOST_PYTHON_BUILD_DLL
# else
# define BOOST_PYTHON_DECL
# endif
# define BOOST_PYTHON_DECL_FORWARD
-# define BOOST_PYTHON_DECL_EXCEPTION __attribute__ ((visibility("default")))
+# define BOOST_PYTHON_DECL_EXCEPTION __attribute__ ((__visibility__("default")))
# elif (defined(_WIN32) || defined(__CYGWIN__))
# if defined(BOOST_PYTHON_SOURCE)
# define BOOST_PYTHON_DECL __declspec(dllexport)
diff -urp boost_1_48_0~/boost/python/module_init.hpp boost_1_48_0/boost/python/module_init.hpp
--- boost_1_48_0~/boost/python/module_init.hpp 2012-01-16 16:15:19.969239646 +0100
+++ boost_1_48_0/boost/python/module_init.hpp 2012-01-16 16:20:45.160247063 +0100
@@ -76,7 +76,7 @@ extern "C" __declspec(dllexport) _BOOST_
# define BOOST_PYTHON_MODULE_INIT(name) \
void BOOST_PP_CAT(init_module_,name)(); \
-extern "C" __attribute__ ((visibility("default"))) _BOOST_PYTHON_MODULE_INIT(name)
+extern "C" __attribute__ ((__visibility__("default"))) _BOOST_PYTHON_MODULE_INIT(name)
# else
diff -urp boost_1_48_0~/boost/random/detail/integer_log2.hpp boost_1_48_0/boost/random/detail/integer_log2.hpp
--- boost_1_48_0~/boost/random/detail/integer_log2.hpp 2012-01-16 16:15:24.962239810 +0100
+++ boost_1_48_0/boost/random/detail/integer_log2.hpp 2012-01-16 16:17:44.104242884 +0100
@@ -27,7 +27,7 @@ namespace detail {
#elif defined(BOOST_MSVC)
#define BOOST_RANDOM_DETAIL_CONSTEXPR __forceinline
#elif defined(__GNUC__) && __GNUC__ >= 4
-#define BOOST_RANDOM_DETAIL_CONSTEXPR __attribute__((const)) __attribute__((always_inline))
+#define BOOST_RANDOM_DETAIL_CONSTEXPR __attribute__((__const__)) __attribute__((__always_inline__))
#else
#define BOOST_RANDOM_DETAIL_CONSTEXPR inline
#endif
diff -urp boost_1_48_0~/boost/serialization/force_include.hpp boost_1_48_0/boost/serialization/force_include.hpp
--- boost_1_48_0~/boost/serialization/force_include.hpp 2012-01-16 16:15:14.172239515 +0100
+++ boost_1_48_0/boost/serialization/force_include.hpp 2012-01-16 16:22:14.424249130 +0100
@@ -40,11 +40,11 @@
# if defined(__MWERKS__)
# define BOOST_DLLEXPORT __declspec(dllexport)
# elif defined(__GNUC__) && (__GNUC__ >= 3)
-# define BOOST_USED __attribute__ ((used))
+# define BOOST_USED __attribute__ ((__used__))
# elif defined(__IBMCPP__) && (__IBMCPP__ >= 1110)
-# define BOOST_USED __attribute__ ((used))
+# define BOOST_USED __attribute__ ((__used__))
# elif defined(__INTEL_COMPILER) && (BOOST_INTEL_CXX_VERSION >= 800)
-# define BOOST_USED __attribute__ ((used))
+# define BOOST_USED __attribute__ ((__used__))
# endif
#endif
diff -urp boost_1_48_0~/boost/xpressive/detail/core/adaptor.hpp boost_1_48_0/boost/xpressive/detail/core/adaptor.hpp
--- boost_1_48_0~/boost/xpressive/detail/core/adaptor.hpp 2012-01-16 16:15:32.315239932 +0100
+++ boost_1_48_0/boost/xpressive/detail/core/adaptor.hpp 2012-01-16 16:17:54.024243179 +0100
@@ -41,7 +41,7 @@ struct xpression_adaptor
&& ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
// Ugh, gcc has an optimizer bug which elides this c'tor call
// resulting in pure virtual function calls.
- __attribute__((noinline))
+ __attribute__((__noinline__))
#endif
: xpr_(xpr)
{

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,25 @@
diff -up boost/numeric/conversion/converter_policies.hpp\~ boost/numeric/conversion/converter_policies.hpp
--- boost/numeric/conversion/converter_policies.hpp~ 2008-10-13 11:00:03.000000000 +0200
+++ boost/numeric/conversion/converter_policies.hpp 2011-07-22 11:46:40.961876274 +0200
@@ -20,6 +20,7 @@
#include "boost/mpl/if.hpp"
#include "boost/mpl/integral_c.hpp"
+#include "boost/throw_exception.hpp"
namespace boost { namespace numeric
{
@@ -159,9 +160,9 @@ struct def_overflow_handler
void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow)
{
if ( r == cNegOverflow )
- throw negative_overflow() ;
+ boost::throw_exception( negative_overflow() ) ;
else if ( r == cPosOverflow )
- throw positive_overflow() ;
+ boost::throw_exception( positive_overflow() ) ;
}
} ;
Diff finished. Fri Jul 22 11:46:49 2011

View File

@ -1,60 +1,60 @@
Index: /trunk/boost/foreach_fwd.hpp
===================================================================
--- /trunk/boost/foreach_fwd.hpp (revision 62661)
+++ /trunk/boost/foreach_fwd.hpp (revision 75540)
@@ -15,4 +15,6 @@
#define BOOST_FOREACH_FWD_HPP
+#include <utility> // for std::pair
+
// This must be at global scope, hence the uglified name
enum boost_foreach_argument_dependent_lookup_hack
@@ -26,4 +28,7 @@
namespace foreach
{
+ template<typename T>
+ std::pair<T, T> in_range(T begin, T end);
+
///////////////////////////////////////////////////////////////////////////////
// boost::foreach::tag
@@ -47,4 +52,22 @@
} // namespace foreach
+// Workaround for unfortunate https://svn.boost.org/trac/boost/ticket/6131
+namespace BOOST_FOREACH
+{
+ using foreach::in_range;
+ using foreach::tag;
+
+ template<typename T>
+ struct is_lightweight_proxy
+ : foreach::is_lightweight_proxy<T>
+ {};
+
+ template<typename T>
+ struct is_noncopyable
+ : foreach::is_noncopyable<T>
+ {};
+
+} // namespace BOOST_FOREACH
+
} // namespace boost
Index: /trunk/boost/foreach.hpp
===================================================================
--- /trunk/boost/foreach.hpp (revision 75077)
+++ /trunk/boost/foreach.hpp (revision 75540)
@@ -166,5 +166,5 @@
// at the global namespace for your type.
template<typename T>
-inline boost::foreach::is_lightweight_proxy<T> *
+inline boost::BOOST_FOREACH::is_lightweight_proxy<T> *
boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
@@ -191,5 +191,5 @@
// at the global namespace for your type.
template<typename T>
-inline boost::foreach::is_noncopyable<T> *
+inline boost::BOOST_FOREACH::is_noncopyable<T> *
boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
Index: /trunk/boost/foreach_fwd.hpp
===================================================================
--- /trunk/boost/foreach_fwd.hpp (revision 62661)
+++ /trunk/boost/foreach_fwd.hpp (revision 75540)
@@ -15,4 +15,6 @@
#define BOOST_FOREACH_FWD_HPP
+#include <utility> // for std::pair
+
// This must be at global scope, hence the uglified name
enum boost_foreach_argument_dependent_lookup_hack
@@ -26,4 +28,7 @@
namespace foreach
{
+ template<typename T>
+ std::pair<T, T> in_range(T begin, T end);
+
///////////////////////////////////////////////////////////////////////////////
// boost::foreach::tag
@@ -47,4 +52,22 @@
} // namespace foreach
+// Workaround for unfortunate https://svn.boost.org/trac/boost/ticket/6131
+namespace BOOST_FOREACH
+{
+ using foreach::in_range;
+ using foreach::tag;
+
+ template<typename T>
+ struct is_lightweight_proxy
+ : foreach::is_lightweight_proxy<T>
+ {};
+
+ template<typename T>
+ struct is_noncopyable
+ : foreach::is_noncopyable<T>
+ {};
+
+} // namespace BOOST_FOREACH
+
} // namespace boost
Index: /trunk/boost/foreach.hpp
===================================================================
--- /trunk/boost/foreach.hpp (revision 75077)
+++ /trunk/boost/foreach.hpp (revision 75540)
@@ -166,5 +166,5 @@
// at the global namespace for your type.
template<typename T>
-inline boost::foreach::is_lightweight_proxy<T> *
+inline boost::BOOST_FOREACH::is_lightweight_proxy<T> *
boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
@@ -191,5 +191,5 @@
// at the global namespace for your type.
template<typename T>
-inline boost::foreach::is_noncopyable<T> *
+inline boost::BOOST_FOREACH::is_noncopyable<T> *
boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }

View File

@ -0,0 +1,14 @@
Index: boost/config/stdlib/libstdcpp3.hpp
===================================================================
--- boost/config/stdlib/libstdcpp3.hpp (revision 75635)
+++ boost/config/stdlib/libstdcpp3.hpp (working copy)
@@ -33,7 +33,8 @@
#ifdef __GLIBCXX__ // gcc 3.4 and greater:
# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
- || defined(_GLIBCXX__PTHREADS)
+ || defined(_GLIBCXX__PTHREADS) \
+ || defined(_GLIBCXX_HAS_GTHREADS)
//
// If the std lib has thread support turned on, then turn it on in Boost
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT

View File

@ -0,0 +1,52 @@
Index: boost/locale/utf.hpp
===================================================================
--- boost/locale/utf.hpp (revision 81589)
+++ boost/locale/utf.hpp (revision 81590)
@@ -219,16 +219,22 @@
if(BOOST_LOCALE_UNLIKELY(p==e))
return incomplete;
tmp = *p++;
+ if (!is_trail(tmp))
+ return illegal;
c = (c << 6) | ( tmp & 0x3F);
case 2:
if(BOOST_LOCALE_UNLIKELY(p==e))
return incomplete;
tmp = *p++;
+ if (!is_trail(tmp))
+ return illegal;
c = (c << 6) | ( tmp & 0x3F);
case 1:
if(BOOST_LOCALE_UNLIKELY(p==e))
return incomplete;
tmp = *p++;
+ if (!is_trail(tmp))
+ return illegal;
c = (c << 6) | ( tmp & 0x3F);
}
Index: libs/locale/test/test_codepage_converter.cpp
===================================================================
--- libs/locale/test/test_codepage_converter.cpp (revision 81589)
+++ libs/locale/test/test_codepage_converter.cpp (revision 81590)
@@ -140,6 +140,20 @@
TEST_TO("\xf8\x90\x80\x80\x80",illegal); // 400 0000
TEST_TO("\xfd\xbf\xbf\xbf\xbf\xbf",illegal); // 7fff ffff
+ std::cout << "-- Invalid trail" << std::endl;
+ TEST_TO("\xC2\x7F",illegal);
+ TEST_TO("\xdf\x7F",illegal);
+ TEST_TO("\xe0\x7F\x80",illegal);
+ TEST_TO("\xef\xbf\x7F",illegal);
+ TEST_TO("\xe0\x7F\x80",illegal);
+ TEST_TO("\xef\xbf\x7F",illegal);
+ TEST_TO("\xf0\x7F\x80\x80",illegal);
+ TEST_TO("\xf4\x7f\xbf\xbf",illegal);
+ TEST_TO("\xf0\x90\x7F\x80",illegal);
+ TEST_TO("\xf4\x8f\x7F\xbf",illegal);
+ TEST_TO("\xf0\x90\x80\x7F",illegal);
+ TEST_TO("\xf4\x8f\xbf\x7F",illegal);
+
std::cout << "-- Invalid length" << std::endl;
/// Test that this actually works

View File

@ -0,0 +1,37 @@
diff -up boost_1_48_0/boost/lexical_cast.hpp\~ boost_1_48_0/boost/lexical_cast.hpp
--- boost_1_48_0/boost/lexical_cast.hpp~ 2011-11-08 19:12:23.000000000 +0100
+++ boost_1_48_0/boost/lexical_cast.hpp 2011-11-29 01:27:29.368064527 +0100
@@ -1599,6 +1599,18 @@ namespace boost
};
template<typename T>
+ struct is_char
+ {
+ BOOST_STATIC_CONSTANT(bool, value = false );
+ };
+
+ template<>
+ struct is_char<char>
+ {
+ BOOST_STATIC_CONSTANT(bool, value = true );
+ };
+
+ template<typename T>
struct is_char_or_wchar
{
private:
@@ -1732,11 +1744,7 @@ namespace boost
is_arithmetic<src >::value,
::boost::type_traits::ice_and<
is_pointer<src >::value,
- is_char_or_wchar<removed_ptr_t >::value,
- ::boost::type_traits::ice_eq<
- sizeof(char_type),
- sizeof(removed_ptr_t)
- >::value
+ is_char<removed_ptr_t >::value
>::value
>::value
);
Diff finished. Tue Nov 29 01:27:49 2011

61
boost-1.48.0-locale.patch Normal file
View File

@ -0,0 +1,61 @@
diff -up boost_1_48_0/libs/locale/src/CMakeLists.txt\~ boost_1_48_0/libs/locale/src/CMakeLists.txt
--- boost_1_48_0/libs/locale/src/CMakeLists.txt~ 2012-06-07 00:46:43.651884964 +0200
+++ boost_1_48_0/libs/locale/src/CMakeLists.txt 2012-06-21 19:01:16.321372875 +0200
@@ -10,6 +10,10 @@ if (ICU_FOUND AND ICU_I18N_FOUND)
set (BOOST_LOCALE_ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
colormsg (GREEN "+-- ICU (unicode) available for locale, enabling support.")
- set (NO_STATIC_IF_ICU_FOUND "NO_STATIC")
+ set (NO_STATIC_IF_ICU_FOUND NO_STATIC NO_SINGLE_THREADED)
+ set (ICU_SOURCES icu/boundary.cpp icu/codecvt.cpp icu/collator.cpp
+ icu/conversion.cpp icu/date_time.cpp icu/formatter.cpp
+ icu/icu_backend.cpp icu/numeric.cpp icu/time_zone.cpp )
+ set (ICU_DEPENDS boost_thread)
else (ICU_FOUND AND ICU_I18N_FOUND)
colormsg (CYAN "+-- ICU (unicode) not available for locale, disabling support.")
endif (ICU_FOUND AND ICU_I18N_FOUND)
@@ -17,8 +17,9 @@ endif (ICU_FOUND AND ICU_I18N_FOUND)
if (WIN32)
add_definitions (-DBOOST_LOCALE_NO_POSIX_BACKEND=1)
set (WIN32_SOURCES win32/collate.cpp win32/converter.cpp win32/lcid.cpp
- win32/numeric.cpp win32/win_backend.cpp std/codecvt.cpp std/collate.cpp
- std/converter.cpp std/numeric.cpp std/std_backend.cpp util/gregorian.cpp)
+ win32/numeric.cpp win32/win_backend.cpp )
+else (WIN32)
+ add_definitions (-DBOOST_LOCALE_NO_WINAPI_BACKEND=1)
endif (WIN32)
add_definitions (-DBOOST_THREAD_NO_LIB=1)
@@ -33,12 +34,29 @@ boost_add_library (
shared/localization_backend.cpp
shared/message.cpp
shared/mo_lambda.cpp
- ${WIN32_SOURCES}
+
util/codecvt_converter.cpp
util/default_locale.cpp
util/info.cpp
- util/locale_data.cpp
+ util/locale_data.cpp
+ util/gregorian.cpp
+
+ std/codecvt.cpp
+ std/collate.cpp
+ std/converter.cpp
+ std/numeric.cpp
+ std/std_backend.cpp
+
+ posix/codecvt.cpp
+ posix/collate.cpp
+ posix/converter.cpp
+ posix/numeric.cpp
+ posix/posix_backend.cpp
+
+ ${WIN32_SOURCES}
+ ${ICU_SOURCES}
+ DEPENDS ${ICU_DEPENDS}
LINK_LIBS ${BOOST_LOCALE_ICU_LIBRARIES}
SHARED_COMPILE_FLAGS -DBOOST_LOCALE_DYN_LINK=1
${NO_STATIC_IF_ICU_FOUND}
Diff finished. Thu Jun 21 19:05:54 2012

View File

@ -0,0 +1,12 @@
diff --git a/libs/math/config/has_long_double_support.cpp b/libs/math/config/has_long_double_support.cpp
index d314cf3..9022408 100644
--- a/libs/math/config/has_long_double_support.cpp
+++ b/libs/math/config/has_long_double_support.cpp
@@ -8,3 +8,7 @@
#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
#error "long double support is not supported by Boost.Math on this Plaform: the long double version of the TR1 library will not be built."
#endif
+
+int main(int argc, char *argv[]) {
+ return 0;
+}

View File

@ -0,0 +1,14 @@
diff -up boost_1_48_0/boost/math/tools/config.hpp\~ boost_1_48_0/boost/math/tools/config.hpp
--- boost_1_48_0/boost/math/tools/config.hpp~ 2011-10-16 20:57:30.000000000 +0200
+++ boost_1_48_0/boost/math/tools/config.hpp 2012-01-25 01:50:44.446832172 +0100
@@ -24,7 +24,7 @@
#include <boost/math/special_functions/detail/round_fwd.hpp>
#if (defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__NetBSD__) \
- || (defined(__hppa) && !defined(__OpenBSD__)) || defined(__NO_LONG_DOUBLE_MATH)) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
+ || (defined(__hppa) && !defined(__OpenBSD__))) && !defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
# define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
#endif
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
Diff finished. Wed Jan 25 01:50:49 2012

View File

@ -0,0 +1,11 @@
--- /usr/include/boost/polygon/polygon.hpp.orig 2012-01-26 01:05:15.934998805 +0800
+++ /usr/include/boost/polygon/polygon.hpp 2012-01-26 01:13:10.547000000 +0800
@@ -24,6 +24,8 @@
#include "transform.hpp"
#include "detail/transform_detail.hpp"
+#include "detail/polygon_sort_adaptor.hpp"
+
//interval
#include "interval_data.hpp"
#include "interval_traits.hpp"

View File

@ -7,16 +7,18 @@ Index: boost/pool/pool.hpp
+// std::numeric_limits
+#include <boost/limits.hpp>
// boost::integer::static_lcm
#include <boost/integer/common_factor_ct.hpp>
@@ -358,4 +360,11 @@
// boost::math::static_lcm
#include <boost/math/common_factor_ct.hpp>
@@ -358,4 +360,13 @@
}
+ size_type max_chunks() const
+ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool.
+ size_type partition_size = alloc_size();
+ size_type POD_size = integer::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
+ return (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
+ size_type POD_size = math::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
+ size_type max_chunks = (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
+
+ return max_chunks;
+ }
+
static void * & nextof(void * const ptr)

View File

@ -0,0 +1,23 @@
diff -up /home/petr/tmp/blefuj.cc\~ /home/petr/tmp/blefuj.cc
--- boost_1_46_0_beta1/libs/signals/src/named_slot_map.cpp~ 2011-02-03 20:28:07.000000000 +0100
+++ boost_1_46_0_beta1/libs/signals/src/named_slot_map.cpp 2011-02-03 20:51:29.000000000 +0100
@@ -47669,7 +47669,7 @@ void named_slot_map::disconnect(const st
i->first.disconnect();
i = next;
}
- groups.erase(group);
+ groups.erase(const_group_iterator (group));
}
}
@@ -47692,7 +47692,7 @@ void named_slot_map::remove_disconnected
}
// Clear out empty groups
- if (empty(g)) groups.erase(g++);
+ if (empty(g)) groups.erase(const_group_iterator (g++));
else ++g;
}
}
Diff finished. Thu Feb 3 20:51:41 2011

View File

@ -1,80 +0,0 @@
diff -up boost_1_53_0/boost/math/special_functions/sign.hpp\~ boost_1_53_0/boost/math/special_functions/sign.hpp
--- boost_1_53_0/boost/math/special_functions/sign.hpp~ 2011-05-17 14:19:17.000000000 +0200
+++ boost_1_53_0/boost/math/special_functions/sign.hpp 2013-07-22 23:24:39.751342557 +0200
@@ -110,7 +110,6 @@ template<class T> int (signbit)(T x)
{
typedef typename detail::fp_traits<T>::type traits;
typedef typename traits::method method;
- typedef typename boost::is_floating_point<T>::type fp_tag;
return detail::signbit_impl(x, method());
}
@@ -124,7 +123,6 @@ template<class T> T (changesign)(const T
{ //!< \brief return unchanged binary pattern of x, except for change of sign bit.
typedef typename detail::fp_traits<T>::sign_change_type traits;
typedef typename traits::method method;
- typedef typename boost::is_floating_point<T>::type fp_tag;
return detail::changesign_impl(x, method());
}
diff -up boost_1_53_0/boost/math/special_functions/fpclassify.hpp~ boost_1_53_0/boost/math/special_functions/fpclassify.hpp
--- boost_1_53_0/boost/math/special_functions/fpclassify.hpp~ 2012-12-12 19:17:22.000000000 +0100
+++ boost_1_53_0/boost/math/special_functions/fpclassify.hpp 2013-07-22 12:07:59.478713488 +0200
@@ -327,7 +327,6 @@ inline bool (isfinite)(T x)
{ //!< \brief return true if floating-point type t is finite.
typedef typename detail::fp_traits<T>::type traits;
typedef typename traits::method method;
- typedef typename boost::is_floating_point<T>::type fp_tag;
typedef typename tools::promote_args<T>::type value_type;
return detail::isfinite_impl(static_cast<value_type>(x), method());
}
@@ -338,7 +338,6 @@ inline bool (isfinite)(long double x)
{ //!< \brief return true if floating-point type t is finite.
typedef detail::fp_traits<long double>::type traits;
typedef traits::method method;
- typedef boost::is_floating_point<long double>::type fp_tag;
typedef long double value_type;
return detail::isfinite_impl(static_cast<value_type>(x), method());
}
@@ -398,7 +397,6 @@ inline bool (isnormal)(T x)
{
typedef typename detail::fp_traits<T>::type traits;
typedef typename traits::method method;
- typedef typename boost::is_floating_point<T>::type fp_tag;
typedef typename tools::promote_args<T>::type value_type;
return detail::isnormal_impl(static_cast<value_type>(x), method());
}
@@ -409,7 +408,6 @@ inline bool (isnormal)(long double x)
{
typedef detail::fp_traits<long double>::type traits;
typedef traits::method method;
- typedef boost::is_floating_point<long double>::type fp_tag;
typedef long double value_type;
return detail::isnormal_impl(static_cast<value_type>(x), method());
}
@@ -487,7 +485,6 @@ inline bool (isinf)(T x)
{
typedef typename detail::fp_traits<T>::type traits;
typedef typename traits::method method;
- typedef typename boost::is_floating_point<T>::type fp_tag;
typedef typename tools::promote_args<T>::type value_type;
return detail::isinf_impl(static_cast<value_type>(x), method());
}
@@ -498,7 +496,6 @@ inline bool (isinf)(long double x)
{
typedef detail::fp_traits<long double>::type traits;
typedef traits::method method;
- typedef boost::is_floating_point<long double>::type fp_tag;
typedef long double value_type;
return detail::isinf_impl(static_cast<value_type>(x), method());
}
@@ -570,7 +567,6 @@ inline bool (isnan)(T x)
{ //!< \brief return true if floating-point type t is NaN (Not A Number).
typedef typename detail::fp_traits<T>::type traits;
typedef typename traits::method method;
- typedef typename boost::is_floating_point<T>::type fp_tag;
return detail::isnan_impl(x, method());
}
Diff finished. Mon Jul 22 12:09:24 2013

View File

@ -1,130 +0,0 @@
diff -urp boost_1_54_0-orig/boost/graph/breadth_first_search.hpp boost_1_54_0/boost/graph/breadth_first_search.hpp
--- boost_1_54_0-orig/boost/graph/breadth_first_search.hpp 2013-07-23 00:47:43.418886551 +0200
+++ boost_1_54_0/boost/graph/breadth_first_search.hpp 2013-07-23 00:50:40.339958756 +0200
@@ -64,7 +64,6 @@ namespace boost {
BOOST_CONCEPT_ASSERT(( IncidenceGraphConcept<IncidenceGraph> ));
typedef graph_traits<IncidenceGraph> GTraits;
typedef typename GTraits::vertex_descriptor Vertex;
- typedef typename GTraits::edge_descriptor Edge;
BOOST_CONCEPT_ASSERT(( BFSVisitorConcept<BFSVisitor, IncidenceGraph> ));
BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<ColorMap, Vertex> ));
typedef typename property_traits<ColorMap>::value_type ColorValue;
diff -urp boost_1_53_0-orig/boost/graph/compressed_sparse_row_graph.hpp boost_1_53_0/boost/graph/compressed_sparse_row_graph.hpp
--- boost_1_53_0-orig/boost/graph/compressed_sparse_row_graph.hpp 2013-07-23 01:32:19.273266030 +0200
+++ boost_1_53_0/boost/graph/compressed_sparse_row_graph.hpp 2013-07-23 01:34:15.202970721 +0200
@@ -642,8 +642,6 @@ class compressed_sparse_row_graph<direct
const GlobalToLocal& global_to_local) {
typedef compressed_sparse_row_graph Graph;
typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_t;
- typedef typename boost::graph_traits<Graph>::vertices_size_type vertex_num;
- typedef typename boost::graph_traits<Graph>::edges_size_type edge_num;
typedef std::vector<std::pair<vertex_t, vertex_t> > edge_vector_t;
edge_vector_t new_edges(first, last);
if (new_edges.empty()) return;
@@ -666,8 +664,6 @@ class compressed_sparse_row_graph<direct
const GlobalToLocal& global_to_local) {
typedef compressed_sparse_row_graph Graph;
typedef typename boost::graph_traits<Graph>::vertex_descriptor vertex_t;
- typedef typename boost::graph_traits<Graph>::vertices_size_type vertex_num;
- typedef typename boost::graph_traits<Graph>::edges_size_type edge_num;
typedef std::pair<vertex_t, vertex_t> vertex_pair;
typedef std::vector<
boost::tuple<vertex_pair,
@@ -1164,7 +1160,6 @@ inline std::pair<typename BOOST_BIDIR_CS
typename BOOST_BIDIR_CSR_GRAPH_TYPE::in_edge_iterator>
in_edges(Vertex v, const BOOST_BIDIR_CSR_GRAPH_TYPE& g)
{
- typedef typename BOOST_BIDIR_CSR_GRAPH_TYPE::edge_descriptor ed;
typedef typename BOOST_BIDIR_CSR_GRAPH_TYPE::in_edge_iterator it;
EdgeIndex v_row_start = g.m_backward.m_rowstart[v];
EdgeIndex next_row_start = g.m_backward.m_rowstart[v + 1];
@@ -1368,7 +1363,6 @@ put(Tag tag,
typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::key_type k,
typename lookup_one_property<typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::plist_type, Tag>::type val) {
typedef typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::all_tag all_tag;
- typedef typename property_map<BOOST_CSR_GRAPH_TYPE, all_tag>::type outer_pm;
lookup_one_property<typename property_map<BOOST_CSR_GRAPH_TYPE, Tag>::plist_type, Tag>::lookup(get(all_tag(), g, k), tag) = val;
}
diff -urp boost_1_53_0-orig/boost/graph/detail/adjacency_list.hpp boost_1_53_0/boost/graph/detail/adjacency_list.hpp
--- boost_1_53_0-orig/boost/graph/detail/adjacency_list.hpp 2013-07-23 01:32:19.390266741 +0200
+++ boost_1_53_0/boost/graph/detail/adjacency_list.hpp 2013-07-23 01:34:15.275971164 +0200
@@ -634,7 +634,6 @@ namespace boost {
directed_graph_helper<Config>& g_)
{
typedef typename Config::graph_type graph_type;
- typedef typename Config::edge_parallel_category Cat;
graph_type& g = static_cast<graph_type&>(g_);
g.out_edge_list(u).clear();
// clear() should be a req of Sequence and AssociativeContainer,
@@ -781,7 +780,6 @@ namespace boost {
typedef typename Graph::global_edgelist_selector EdgeListS;
BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
- typedef typename EdgeList::value_type StoredEdge;
typename EdgeList::iterator i = el.begin(), end = el.end();
for (; i != end; ++i) {
if ((*i).get_target() == v) {
@@ -986,7 +984,6 @@ namespace boost {
BOOST_STATIC_ASSERT((!is_same<EdgeListS, vecS>::value));
typedef typename Config::graph_type graph_type;
- typedef typename Config::edge_parallel_category Cat;
graph_type& g = static_cast<graph_type&>(g_);
while (true) {
typename Config::out_edge_iterator ei, ei_end;
@@ -1588,7 +1585,6 @@ namespace boost {
typedef typename Config::graph_type Graph;
typedef typename Config::StoredEdge StoredEdge;
const Graph& cg = static_cast<const Graph&>(g_);
- typedef typename Config::out_edge_iterator out_edge_iterator;
const typename Config::OutEdgeList& el = cg.out_edge_list(u);
typename Config::OutEdgeList::const_iterator it = graph_detail::
find(el, StoredEdge(v));
diff -urp boost_1_53_0-orig/boost/graph/detail/compressed_sparse_row_struct.hpp boost_1_53_0/boost/graph/detail/compressed_sparse_row_struct.hpp
--- boost_1_53_0-orig/boost/graph/detail/compressed_sparse_row_struct.hpp 2013-07-23 01:32:19.395266772 +0200
+++ boost_1_53_0/boost/graph/detail/compressed_sparse_row_struct.hpp 2013-07-23 01:34:15.278971182 +0200
@@ -218,8 +218,6 @@ namespace detail {
// the user has supplied the number of edges.
edges_size_type numedges = numedges_or_zero;
if (numedges == 0) {
- typedef typename std::iterator_traits<InputIterator>::iterator_category
- category;
numedges = boost::graph::detail::reserve_count_for_single_pass(edge_begin, edge_end);
}
m_column.clear();
@@ -313,7 +311,6 @@ namespace detail {
inherited_edge_properties::resize(numedges);
EdgeIndex current_edge = 0;
typedef typename boost::graph_traits<Graph>::vertex_descriptor g_vertex;
- typedef typename boost::graph_traits<Graph>::edge_descriptor g_edge;
typedef typename boost::graph_traits<Graph>::out_edge_iterator
g_out_edge_iter;
@@ -347,7 +344,6 @@ namespace detail {
// Flip sequence
BidirectionalIterator first(last_sorted);
BidirectionalIterator last(first_sorted);
- typedef Vertex vertex_t;
typedef Vertex vertex_num;
typedef EdgeIndex edge_num;
edge_num new_edge_count = std::distance(first, last);
diff -urp boost_1_53_0-orig/boost/graph/detail/histogram_sort.hpp boost_1_53_0/boost/graph/detail/histogram_sort.hpp
--- boost_1_53_0-orig/boost/graph/detail/histogram_sort.hpp 2013-07-23 01:32:19.364266583 +0200
+++ boost_1_53_0/boost/graph/detail/histogram_sort.hpp 2013-07-23 01:34:15.279971188 +0200
@@ -159,7 +159,6 @@ histogram_sort_inplace(KeyIterator key_b
Value1Iter values1,
KeyTransform key_transform) {
- typedef NumKeys vertices_size_type;
typedef typename std::iterator_traits<RowstartIterator>::value_type EdgeIndex;
// 1. Copy m_rowstart (except last element) to get insert positions
@@ -194,7 +193,6 @@ histogram_sort_inplace(KeyIterator key_b
Value2Iter values2,
KeyTransform key_transform) {
- typedef NumKeys vertices_size_type;
typedef typename std::iterator_traits<RowstartIterator>::value_type EdgeIndex;
// 1. Copy m_rowstart (except last element) to get insert positions

View File

@ -1,13 +0,0 @@
diff -up boost_1_53_0/boost/lexical_cast.hpp\~ boost_1_53_0/boost/lexical_cast.hpp
--- boost_1_53_0/boost/lexical_cast.hpp~ 2012-12-29 15:41:23.000000000 +0100
+++ boost_1_53_0/boost/lexical_cast.hpp 2013-07-22 23:27:48.841566845 +0200
@@ -865,7 +865,6 @@ namespace boost {
#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
#endif
- typedef typename Traits::int_type int_type;
CharT const czero = lcast_char_constants<CharT>::zero;
--end;
value = 0;
Diff finished. Mon Jul 22 23:28:02 2013

View File

@ -1,46 +0,0 @@
diff -urp boost_1_53_0-orig/boost/math/special_functions/detail/igamma_inverse.hpp boost_1_53_0/boost/math/special_functions/detail/igamma_inverse.hpp
--- boost_1_53_0-orig/boost/math/special_functions/detail/igamma_inverse.hpp 2013-07-23 01:32:21.874281840 +0200
+++ boost_1_53_0/boost/math/special_functions/detail/igamma_inverse.hpp 2013-07-23 01:34:15.291971260 +0200
@@ -341,7 +341,6 @@ struct gamma_p_inverse_func
// flag is set, then Q(x) - q and it's derivatives.
//
typedef typename policies::evaluation<T, Policy>::type value_type;
- typedef typename lanczos::lanczos<T, Policy>::type evaluation_type;
typedef typename policies::normalise<
Policy,
policies::promote_float<false>,
diff -urp boost_1_53_0-orig/boost/math/special_functions/gamma.hpp boost_1_53_0/boost/math/special_functions/gamma.hpp
--- boost_1_53_0-orig/boost/math/special_functions/gamma.hpp 2013-07-23 01:32:21.824281537 +0200
+++ boost_1_53_0/boost/math/special_functions/gamma.hpp 2013-07-23 01:34:15.322971451 +0200
@@ -1360,7 +1360,6 @@ inline typename tools::promote_args<T1,
BOOST_FPU_EXCEPTION_GUARD
typedef typename tools::promote_args<T1, T2>::type result_type;
typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
typedef typename policies::normalise<
Policy,
policies::promote_float<false>,
@@ -1489,7 +1488,6 @@ inline typename tools::promote_args<T1,
BOOST_FPU_EXCEPTION_GUARD
typedef typename tools::promote_args<T1, T2>::type result_type;
typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
typedef typename policies::normalise<
Policy,
policies::promote_float<false>,
@@ -1520,7 +1518,6 @@ inline typename tools::promote_args<T1,
BOOST_FPU_EXCEPTION_GUARD
typedef typename tools::promote_args<T1, T2>::type result_type;
typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
typedef typename policies::normalise<
Policy,
policies::promote_float<false>,
@@ -1551,7 +1548,6 @@ inline typename tools::promote_args<T1,
BOOST_FPU_EXCEPTION_GUARD
typedef typename tools::promote_args<T1, T2>::type result_type;
typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
typedef typename policies::normalise<
Policy,
policies::promote_float<false>,

View File

@ -1,65 +0,0 @@
diff -up ./boost/regex/icu.hpp~ ./boost/regex/icu.hpp
--- ./boost/regex/icu.hpp~ 2011-10-16 14:19:37.000000000 +0200
+++ ./boost/regex/icu.hpp 2013-07-22 23:32:44.346321967 +0200
@@ -423,7 +423,6 @@ bool do_regex_match(BidiIterator first,
{
typedef u16_to_u32_iterator<BidiIterator, UChar32> conv_type;
typedef match_results<conv_type> match_type;
- typedef typename match_type::allocator_type alloc_type;
match_type what;
bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);
// copy results across to m:
@@ -439,7 +438,6 @@ bool do_regex_match(BidiIterator first,
{
typedef u8_to_u32_iterator<BidiIterator, UChar32> conv_type;
typedef match_results<conv_type> match_type;
- typedef typename match_type::allocator_type alloc_type;
match_type what;
bool result = ::boost::regex_match(conv_type(first, first, last), conv_type(last, first, last), what, e, flags);
// copy results across to m:
@@ -598,7 +596,6 @@ bool do_regex_search(BidiIterator first,
{
typedef u16_to_u32_iterator<BidiIterator, UChar32> conv_type;
typedef match_results<conv_type> match_type;
- typedef typename match_type::allocator_type alloc_type;
match_type what;
bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));
// copy results across to m:
@@ -615,7 +612,6 @@ bool do_regex_search(BidiIterator first,
{
typedef u8_to_u32_iterator<BidiIterator, UChar32> conv_type;
typedef match_results<conv_type> match_type;
- typedef typename match_type::allocator_type alloc_type;
match_type what;
bool result = ::boost::regex_search(conv_type(first, first, last), conv_type(last, first, last), what, e, flags, conv_type(base));
// copy results across to m:
diff -up ./boost/regex/v4/regex_format.hpp~ ./boost/regex/v4/regex_format.hpp
--- ./boost/regex/v4/regex_format.hpp~ 2012-05-24 12:03:48.000000000 +0200
+++ ./boost/regex/v4/regex_format.hpp 2013-07-22 23:31:06.466740621 +0200
@@ -1064,7 +1064,6 @@ struct format_functor_c_string
template <class OutputIter>
OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits())
{
- typedef typename Match::char_type char_type;
const charT* end = func;
while(*end) ++end;
return regex_format_imp(i, m, func, end, f, t);
@@ -1083,7 +1082,6 @@ struct format_functor_container
template <class OutputIter>
OutputIter operator()(const Match& m, OutputIter i, boost::regex_constants::match_flag_type f, const Traits& t = Traits())
{
- typedef typename Match::char_type char_type;
return re_detail::regex_format_imp(i, m, func.begin(), func.end(), f, t);
}
private:
diff -up ./boost/regex/v4/regex_split.hpp~ ./boost/regex/v4/regex_split.hpp
--- ./boost/regex/v4/regex_split.hpp~ 2007-11-25 19:07:19.000000000 +0100
+++ ./boost/regex/v4/regex_split.hpp 2013-07-22 23:31:29.098875039 +0200
@@ -107,7 +107,6 @@ std::size_t regex_split(OutputIterator o
std::size_t max_split)
{
typedef typename std::basic_string<charT, Traits1, Alloc1>::const_iterator ci_t;
- typedef typename match_results<ci_t>::allocator_type match_allocator;
ci_t last = s.begin();
std::size_t init_size = max_split;
re_detail::split_pred<OutputIterator, charT, Traits1, Alloc1> pred(&last, &out, &max_split);

View File

@ -1,30 +0,0 @@
diff -up boost_1_53_0/boost/static_assert.hpp\~ boost_1_53_0/boost/static_assert.hpp
--- boost_1_53_0/boost/static_assert.hpp~ 2012-12-11 15:42:26.000000000 +0100
+++ boost_1_53_0/boost/static_assert.hpp 2013-07-19 14:15:59.504039071 +0200
@@ -43,6 +43,14 @@
#else
# define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x)
#endif
+//
+// If the compiler warns about unused typedefs then enable this:
+//
+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
+# define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused))
+#else
+# define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
+#endif
#ifndef BOOST_NO_CXX11_STATIC_ASSERT
# define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)
@@ -122,7 +130,8 @@ template<int x> struct static_assert_tes
#define BOOST_STATIC_ASSERT( B ) \
typedef ::boost::static_assert_test<\
sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\
- BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
+ BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
+ BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
#endif
#else
Diff finished. Fri Jul 19 14:16:04 2013

View File

@ -1,26 +0,0 @@
diff -up boost_1_53_0/boost/thread/future.hpp\~ boost_1_53_0/boost/thread/future.hpp
--- boost_1_53_0/boost/thread/future.hpp~ 2012-12-16 20:01:45.000000000 +0100
+++ boost_1_53_0/boost/thread/future.hpp 2013-07-23 16:50:27.044995968 +0200
@@ -2911,10 +2913,6 @@ namespace boost
{
typedef typename boost::result_of<typename decay<F>::type()>::type R;
typedef packaged_task<R()> packaged_task_type;
-
- typedef detail::async_func<typename decay<F>::type> BF;
- typedef typename BF::result_type Rp;
-
#endif
#else
template <class F>
@@ -2925,9 +2924,6 @@ namespace boost
{
typedef typename boost::result_of<typename decay<F>::type()>::type R;
typedef packaged_task<R> packaged_task_type;
-
- typedef detail::async_func<typename decay<F>::type> BF;
- typedef typename BF::result_type Rp;
#endif
if (int(policy) & int(launch::async))
Diff finished. Tue Jul 23 16:50:30 2013

View File

@ -1,11 +0,0 @@
diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp
--- boost_1_54_0-orig/boost/locale/boundary/segment.hpp 2013-07-23 00:47:27.020787174 +0200
+++ boost_1_54_0/boost/locale/boundary/segment.hpp 2013-07-23 00:50:40.382959016 +0200
@@ -27,7 +27,6 @@ namespace boundary {
int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end)
{
typedef LeftIterator left_iterator;
- typedef RightIterator right_iterator;
typedef typename std::iterator_traits<left_iterator>::value_type char_type;
typedef std::char_traits<char_type> traits;
while(l_begin!=l_end && r_begin!=r_end) {

View File

@ -1,24 +0,0 @@
Index: boost/random/generate_canonical.hpp
===================================================================
--- boost/random/generate_canonical.hpp (revision 85073)
+++ boost/random/generate_canonical.hpp (working copy)
@@ -54,7 +54,6 @@
using std::floor;
BOOST_ASSERT((g.min)() == 0);
BOOST_ASSERT((g.max)() == 1);
- typedef typename URNG::result_type base_result;
std::size_t digits = std::numeric_limits<RealType>::digits;
std::size_t engine_bits = detail::generator_bits<URNG>::value();
std::size_t b = (std::min)(bits, digits);
Index: boost/random/uniform_real_distribution.hpp
===================================================================
--- boost/random/uniform_real_distribution.hpp (revision 85073)
+++ boost/random/uniform_real_distribution.hpp (working copy)
@@ -36,7 +36,6 @@
{
for(;;) {
typedef T result_type;
- typedef typename Engine::result_type base_result;
result_type numerator = static_cast<T>(eng() - (eng.min)());
result_type divisor = static_cast<T>((eng.max)() - (eng.min)());
BOOST_ASSERT(divisor > 0);

View File

@ -1,31 +0,0 @@
diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp
--- boost_1_57_0/boost/mpl/print.hpp~ 2014-07-09 23:12:31.000000000 +0200
+++ boost_1_57_0/boost/mpl/print.hpp 2015-01-20 12:44:59.621400948 +0100
@@ -52,16 +52,15 @@ struct print
enum { n = sizeof(T) + -1 };
#elif defined(__MWERKS__)
void f(int);
-#else
- enum {
- n =
-# if defined(__EDG_VERSION__)
- aux::dependent_unsigned<T>::value > -1
-# else
- sizeof(T) > -1
-# endif
- };
-#endif
+#elif defined(__EDG_VERSION__)
+ enum { n = aux::dependent_unsigned<T>::value > -1 };
+#elif defined(BOOST_GCC)
+ enum { n1 };
+ enum { n2 };
+ enum { n = n1 != n2 };
+#else
+ enum { n = sizeof(T) > -1 };
+#endif
};
#if defined(BOOST_MSVC)
Diff finished. Tue Jan 20 12:45:03 2015

View File

@ -1,13 +0,0 @@
Index: boost_1_57_0/tools/build/src/tools/python.jam
===================================================================
--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406)
+++ boost_1_57_0/tools/build/src/tools/python.jam (working copy)
@@ -994,7 +994,7 @@
else
{
alias python_for_extensions
- :
+ : python
: $(target-requirements)
:
: $(usage-requirements)

View File

@ -1,31 +0,0 @@
diff -up boost_1_58_0/libs/pool/test/Jamfile.v2\~ boost_1_58_0/libs/pool/test/Jamfile.v2
--- boost_1_57_0/libs/pool/test/Jamfile.v2~ 2015-07-17 11:36:16.362519826 +0100
+++ boost_1_57_0/libs/pool/test/Jamfile.v2 2015-07-17 11:37:38.858847388 +0100
@@ -28,17 +28,17 @@
local Werr = <toolset>gcc:<warnings-as-errors>on <toolset>msvc:<warnings-as-errors>on ;
test-suite pool :
- [ run test_simple_seg_storage.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4267 ]
- [ run test_pool_alloc.cpp : : : $(Werr) ]
- [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4512 ]
- [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) ]
- [ run test_bug_3349.cpp : : : $(Werr) ]
- [ run test_bug_4960.cpp : : : $(Werr) ]
- [ run test_bug_1252.cpp : : : $(Werr) ]
- [ run test_bug_2696.cpp : : : $(Werr) ]
- [ run test_bug_5526.cpp : : : $(Werr) ]
+ [ run test_simple_seg_storage.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4267 <library>/boost/system//boost_system ]
+ [ run test_pool_alloc.cpp : : : $(Werr) <library>/boost/system//boost_system ]
+ [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4512 <library>/boost/system//boost_system ]
+ [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) <library>/boost/system//boost_system ]
+ [ run test_bug_3349.cpp : : : $(Werr) <library>/boost/system//boost_system ]
+ [ run test_bug_4960.cpp : : : $(Werr) <library>/boost/system//boost_system ]
+ [ run test_bug_1252.cpp : : : $(Werr) <library>/boost/system//boost_system ]
+ [ run test_bug_2696.cpp : : : $(Werr) <library>/boost/system//boost_system ]
+ [ run test_bug_5526.cpp : : : $(Werr) <library>/boost/system//boost_system ]
[ run test_threading.cpp : : : <threading>multi <library>/boost/thread//boost_thread ]
- [ run ../example/time_pool_alloc.cpp : : : $(Werr) ]
+ [ run ../example/time_pool_alloc.cpp : : : $(Werr) <library>/boost/system//boost_system ]
[ compile test_poisoned_macros.cpp : $(Werr) ]
#

View File

@ -1,87 +0,0 @@
--- boost_1_63_0/libs/mpi/build/Jamfile.v2 2016-12-22 06:33:17.000000000 -0600
+++ boost_1_63_0/libs/mpi/build/Jamfile.v2 2017-05-19 01:45:05.485563800 -0500
@@ -11,6 +11,7 @@
import mpi ;
import indirect ;
import python ;
+import feature ;
libraries = ;
@@ -53,18 +54,38 @@ lib boost_mpi
<library>../../serialization/build//boost_serialization
<library>/mpi//mpi [ mpi.extra-requirements ]
;
+
+rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
libraries += boost_mpi ;
+rule find-py3-version
+{
+ local versions = [ feature.values python ] ;
+ local py3ver ;
+ for local v in $(versions)
+ {
+ if $(v) >= 3.0
+ {
+ py3ver = $(v) ;
+ }
+ }
+ return $(py3ver) ;
+}
+
+py3-version = [ find-py3-version ] ;
if [ python.configured ]
{
- lib boost_mpi_python
+
+ rule lib_boost_mpi_python ( is-py3 ? ) {
+
+ lib [ cond $(is-py3) : boost_mpi_python3 : boost_mpi_python ]
: # Sources
python/serialize.cpp
: # Requirements
<library>boost_mpi
<library>/mpi//mpi [ mpi.extra-requirements ]
- <library>/boost/python//boost_python
+ [ cond $(is-py3) : <library>/boost/python//boost_python3 : <library>/boost/python//boost_python ]
<link>shared:<define>BOOST_MPI_DYN_LINK=1
<link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
<link>shared:<define>BOOST_PYTHON_DYN_LINK=1
@@ -76,7 +97,6 @@ libraries += boost_mpi ;
: # Usage requirements
<library>/mpi//mpi [ mpi.extra-requirements ]
;
- libraries += boost_mpi_python ;
python-extension mpi
: # Sources
@@ -93,8 +113,8 @@ libraries += boost_mpi ;
python/status.cpp
python/py_timer.cpp
: # Requirements
- <library>/boost/python//boost_python
- <library>boost_mpi_python
+ [ cond $(is-py3) : <library>/boost/python//boost_python3 : <library>/boost/python//boost_python ]
+ [ cond $(is-py3) : <library>boost_mpi_python3 : <library>boost_mpi_python ]
<library>boost_mpi
<library>/mpi//mpi [ mpi.extra-requirements ]
<link>shared:<define>BOOST_MPI_DYN_LINK=1
@@ -102,6 +122,16 @@ libraries += boost_mpi ;
<link>shared:<define>BOOST_PYTHON_DYN_LINK=1
<link>shared <runtime-link>shared
;
+ }
+
+ if $(py3-version) {
+ lib_boost_mpi_python yes ;
+ libraries += boost_mpi_python3 ;
+ } else {
+ lib_boost_mpi_python ;
+ libraries += boost_mpi_python ;
+ }
+
}
}
else if ! ( --without-mpi in [ modules.peek : ARGV ] )

View File

@ -1,13 +0,0 @@
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:09:56.041685502 +0000
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:09:56.042685500 +0000
@@ -421,7 +421,9 @@
rule set-address-model-options ( targets * : sources * : properties * )
{
- local model = [ feature.get-values address-model : $(properties) ] ;
+ # For RPM builds the address model flag is passed in %{optflags}.
+ # local model = [ feature.get-values address-model : $(properties) ] ;
+ local model ;
if $(model)
{
local option ;

View File

@ -1,26 +0,0 @@
--- boost_1_66_0/tools/build/src/engine/build.jam~ 2018-02-07 21:36:14.552201421 +0000
+++ boost_1_66_0/tools/build/src/engine/build.jam 2018-02-07 21:36:29.014173266 +0000
@@ -4,7 +4,7 @@
#~ http://www.boost.org/LICENSE_1_0.txt)
# Clean env vars of any "extra" empty values.
-for local v in ARGV CC CFLAGS LIBS
+for local v in ARGV CC CFLAGS LIBS RPM_OPT_FLAGS RPM_LD_FLAGS
{
local values ;
for local x in $($(v))
@@ -215,12 +215,12 @@
: -L$(--python-lib[1]) -l$(--python-lib[2]) ;
## GCC 2.x, 3.x, 4.x
toolset gcc gcc : "-o " : -D
- : -pedantic -fno-strict-aliasing
+ : -pedantic -fno-strict-aliasing $(RPM_OPT_FLAGS)
[ opt --release : [ opt --symbols : -g : -s ] -O3 ]
[ opt --debug : -g -O0 -fno-inline ]
[ opt --profile : -O3 -g -pg ]
-I$(--python-include) -I$(--extra-include) -Wno-long-long
- : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
+ : -L$(--python-lib[1]) -l$(--python-lib[2]) $(RPM_LD_FLAGS) ;
## GCC 2.x, 3.x on CYGWIN but without cygwin1.dll
toolset gcc-nocygwin gcc : "-o " : -D
: -s -O3 -mno-cygwin

View File

@ -1,49 +0,0 @@
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2017-12-13 23:56:50.000000000 +0000
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 12:48:26.264755316 +0000
@@ -603,7 +603,7 @@ rule compile.fortran ( targets * : sourc
actions compile.c++ bind PCH_FILE
{
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
}
actions compile.c bind PCH_FILE
@@ -613,7 +613,7 @@ actions compile.c bind PCH_FILE
actions compile.c++.preprocess bind PCH_FILE
{
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)"
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)"
}
actions compile.c.preprocess bind PCH_FILE
@@ -755,17 +755,17 @@ actions compile.c.pch
###
# 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 ;
-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
-
-toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
-toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall -pedantic ;
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
+
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
+
+toolset.flags gcc.compile OPTIONS <warnings>off : ;
+toolset.flags gcc.compile OPTIONS <warnings>on : ;
+toolset.flags gcc.compile OPTIONS <warnings>all : ;
toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;

View File

@ -1,23 +0,0 @@
From fdbdb94db64e888fce90fe519be23c2a4396a82e Mon Sep 17 00:00:00 2001
From: pradeep <pradeep@arrayfire.com>
Date: Tue, 8 May 2018 14:53:38 +0530
Subject: [PATCH 1/2] Fix return var qualifier in svm_ptr::get_context
Lack of `const` qualifier is throwing errors with GCC 8.1
---
include/boost/compute/memory/svm_ptr.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/compute/memory/svm_ptr.hpp b/include/boost/compute/memory/svm_ptr.hpp
index c8753f5b..56cf1268 100644
--- a/include/boost/compute/memory/svm_ptr.hpp
+++ b/include/boost/compute/memory/svm_ptr.hpp
@@ -126,7 +126,7 @@ class svm_ptr
return m_ptr - other.m_ptr;
}
- context& get_context() const
+ const context& get_context() const
{
return m_context;
}

View File

@ -1,20 +0,0 @@
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:23:45.361330881 +0000
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:23:45.362330880 +0000
@@ -1191,7 +1191,7 @@ rule link ( targets * : sources * : prop
actions link bind LIBRARIES
{
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,$(RPATH) -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
}
rule link.dll ( targets * : sources * : properties * )
@@ -1204,7 +1204,7 @@ rule link.dll ( targets * : sources * :
# 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)
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.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)
}
###

View File

@ -1,62 +0,0 @@
--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200
+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200
@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti
# using python : 2.3 : /usr/local/bin/python ;
#
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
- : condition * : extension-suffix ? )
+ : condition * : extension-suffix ? : abi-letters ? )
{
project.push-current $(.project) ;
@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ?
}
}
- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ;
+ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ;
project.pop-current ;
}
@@ -653,7 +653,7 @@ local rule system-library-dependencies (
# Declare a target to represent Python's library.
#
-local rule declare-libpython-target ( version ? : requirements * )
+local rule declare-libpython-target ( version ? : requirements * : abi-letters ? )
{
# Compute the representation of Python version in the name of Python's
# library file.
@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve
}
# Declare it.
- lib python.lib : : <name>python$(lib-version) $(requirements) ;
+ lib python.lib : : <name>python$(lib-version)$(abi-letters) $(requirements) ;
}
# Implementation of init.
local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
- condition * : extension-suffix ? )
+ condition * : extension-suffix ? : abi-letters ? )
{
local prefix ;
local exec-prefix ;
@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o
extension-suffix ?= _d ;
}
extension-suffix ?= "" ;
+ abi-letters ?= "" ;
local cmds-to-try ;
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
}
else
{
- declare-libpython-target $(version) : $(target-requirements) ;
+ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ;
# This is an evil hack. On, Windows, when Python is embedded, nothing
# seems to set up sys.path to include Python's standard library

View File

@ -1,39 +0,0 @@
From 660487c43fde76f3e64f1cb2e644500da92fe582 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
Date: Fri, 9 Feb 2018 18:20:30 +0100
Subject: [PATCH] Fix build with Python 3.7
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Python 3.7 changes the return type of _PyUnicode_AsString()
from void* to const char* -- causing the build of boost-python
to fail.
Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
---
src/converter/builtin_converters.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/converter/builtin_converters.cpp b/src/converter/builtin_converters.cpp
index 1c28af7fc..ee2d5b479 100644
--- a/libs/python/src/converter/builtin_converters.cpp
+++ b/libs/python/src/converter/builtin_converters.cpp
@@ -45,11 +45,16 @@ namespace
{
return PyString_Check(obj) ? PyString_AsString(obj) : 0;
}
-#else
+#elif PY_VERSION_HEX < 0x03070000
void* convert_to_cstring(PyObject* obj)
{
return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
}
+#else
+ void* convert_to_cstring(PyObject* obj)
+ {
+ return PyUnicode_Check(obj) ? const_cast<void*>(reinterpret_cast<const void*>(_PyUnicode_AsString(obj))) : 0;
+ }
#endif
// Given a target type and a SlotPolicy describing how to perform a

View File

@ -1,15 +0,0 @@
--- boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp~ 2018-02-23 16:59:53.785141676 +0000
+++ boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp 2018-02-23 17:00:16.838092946 +0000
@@ -68,7 +68,11 @@
typedef unsignedtype type; \
static type call(signedtype n) \
{ \
- return static_cast<unsignedtype>((n >= 0) ? n : -n); \
+ if (n >= 0) \
+ return n; \
+ if (n == std::numeric_limits<signedtype>::min()) \
+ return (unsignedtype)n; \
+ return (unsignedtype)(-n); \
} \
} \
/**/

2249
boost.spec

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +0,0 @@
changequote(`[', `]')dnl
/* GNU ld script
Boost.Thread header files pull in enough of Boost.System that
symbols from the latter library are referenced by a compiled object
that includes Boost.Thread headers. libboost_system-mt.so is among
libboost_thread-mt.so's DT_NEEDED, but program linker requires that
missing symbols are satisfied by direct dependency, not by a
transitive one. Hence this linker script, which brings in the
Boost.System DSO. */
INPUT(libboost_thread.so.VERSION)
INPUT(libboost_system.so.VERSION)
ifdef([HAS_ATOMIC_FLAG_LOCKFREE],[],
[
/* If the given architecture doesn't have lock-free implementation of
boost::atomic_flag, the dependency on Boost.Atomic may leak from
the header files to client binaries. */
INPUT(libboost_atomic.so.VERSION)
])dnl

View File

@ -1 +1 @@
SHA512 (boost_1_66_0.tar.bz2) = 0f34075d35391d66876e5189a01a11880a79428e1b267456348ee148dba9dc3abdc74d568f1853be631d20b584b1c804b42443c266f7622164acfc10be3dab8b
d1e9a7a7f532bb031a3c175d86688d95 boost_1_48_0.tar.bz2