Initial packaging of boost 1.50
This is sans Python 3, the rest should be fine. Rebase many patches, port others, courtesy of Denis Arnaud.
This commit is contained in:
parent
4fa851e387
commit
a2450339df
@ -1,208 +0,0 @@
|
||||
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
@ -1,25 +0,0 @@
|
||||
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
|
@ -1,14 +0,0 @@
|
||||
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
|
@ -1,37 +0,0 @@
|
||||
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
|
@ -1,61 +0,0 @@
|
||||
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
|
@ -1,14 +0,0 @@
|
||||
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
|
@ -1,69 +0,0 @@
|
||||
diff -up boost_1_48_0/boost/thread/xtime.hpp\~ boost_1_48_0/boost/thread/xtime.hpp
|
||||
--- boost_1_48_0/boost/thread/xtime.hpp~ 2008-06-18 15:01:08.000000000 +0200
|
||||
+++ boost_1_48_0/boost/thread/xtime.hpp 2012-05-24 20:45:18.000000000 +0200
|
||||
@@ -18,18 +18,6 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
-enum xtime_clock_types
|
||||
-{
|
||||
- TIME_UTC=1
|
||||
-// TIME_TAI,
|
||||
-// TIME_MONOTONIC,
|
||||
-// TIME_PROCESS,
|
||||
-// TIME_THREAD,
|
||||
-// TIME_LOCAL,
|
||||
-// TIME_SYNC,
|
||||
-// TIME_RESOLUTION
|
||||
-};
|
||||
-
|
||||
struct xtime
|
||||
{
|
||||
#if defined(BOOST_NO_INT64_T)
|
||||
diff -up boost_1_48_0/libs/thread/src/pthread/timeconv.inl\~ boost_1_48_0/libs/thread/src/pthread/timeconv.inl
|
||||
--- boost_1_48_0/libs/thread/src/pthread/timeconv.inl~ 2010-04-01 17:04:15.000000000 +0200
|
||||
+++ boost_1_48_0/libs/thread/src/pthread/timeconv.inl 2012-05-24 20:55:43.000000000 +0200
|
||||
@@ -20,8 +20,8 @@ const int NANOSECONDS_PER_MICROSECOND =
|
||||
inline void to_time(int milliseconds, boost::xtime& xt)
|
||||
{
|
||||
int res = 0;
|
||||
- res = boost::xtime_get(&xt, boost::TIME_UTC);
|
||||
- BOOST_ASSERT(res == boost::TIME_UTC);
|
||||
+ res = boost::xtime_get(&xt, TIME_UTC);
|
||||
+ BOOST_ASSERT(res == TIME_UTC);
|
||||
|
||||
xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
|
||||
xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
|
||||
@@ -57,8 +57,8 @@ inline void to_timespec_duration(const b
|
||||
{
|
||||
boost::xtime cur;
|
||||
int res = 0;
|
||||
- res = boost::xtime_get(&cur, boost::TIME_UTC);
|
||||
- BOOST_ASSERT(res == boost::TIME_UTC);
|
||||
+ res = boost::xtime_get(&cur, TIME_UTC);
|
||||
+ BOOST_ASSERT(res == TIME_UTC);
|
||||
|
||||
if (boost::xtime_cmp(xt, cur) <= 0)
|
||||
{
|
||||
@@ -88,8 +88,8 @@ inline void to_duration(boost::xtime xt,
|
||||
{
|
||||
boost::xtime cur;
|
||||
int res = 0;
|
||||
- res = boost::xtime_get(&cur, boost::TIME_UTC);
|
||||
- BOOST_ASSERT(res == boost::TIME_UTC);
|
||||
+ res = boost::xtime_get(&cur, TIME_UTC);
|
||||
+ BOOST_ASSERT(res == TIME_UTC);
|
||||
|
||||
if (boost::xtime_cmp(xt, cur) <= 0)
|
||||
milliseconds = 0;
|
||||
@@ -110,8 +110,8 @@ inline void to_microduration(boost::xtim
|
||||
{
|
||||
boost::xtime cur;
|
||||
int res = 0;
|
||||
- res = boost::xtime_get(&cur, boost::TIME_UTC);
|
||||
- BOOST_ASSERT(res == boost::TIME_UTC);
|
||||
+ res = boost::xtime_get(&cur, TIME_UTC);
|
||||
+ BOOST_ASSERT(res == TIME_UTC);
|
||||
|
||||
if (boost::xtime_cmp(xt, cur) <= 0)
|
||||
microseconds = 0;
|
90
boost-1.50.0-attribute.patch
Normal file
90
boost-1.50.0-attribute.patch
Normal file
@ -0,0 +1,90 @@
|
||||
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/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/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/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/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)
|
||||
{
|
@ -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; }
|
||||
|
269
boost.spec
269
boost.spec
@ -19,14 +19,15 @@
|
||||
%endif
|
||||
|
||||
# Configuration of Python 3
|
||||
%bcond_without python3
|
||||
# xxx note this is not supported with jam-based builds yet
|
||||
%bcond_with python3
|
||||
%define python3_version 3.2mu
|
||||
|
||||
Name: boost
|
||||
Summary: The free peer-reviewed portable C++ source libraries
|
||||
Version: 1.48.0
|
||||
%define version_enc 1_48_0
|
||||
Release: 17%{?dist}
|
||||
Version: 1.50.0
|
||||
%define version_enc 1_50_0
|
||||
Release: 1%{?dist}
|
||||
License: Boost and MIT and Python
|
||||
|
||||
# The CMake build framework (set of CMakeLists.txt and module.cmake files) is
|
||||
@ -87,73 +88,44 @@ BuildRequires: python3-devel%{?_isa}
|
||||
BuildRequires: libicu-devel%{?_isa}
|
||||
BuildRequires: chrpath
|
||||
|
||||
# CMake-related files (CMakeLists.txt and module.cmake files).
|
||||
# That patch also contains Web-related documentation for the Trac Wiki
|
||||
# devoted to "old" Boost-CMake (up-to-date until Boost-1.41.0).
|
||||
Patch0: boost-1.48.0-cmakeify-full.patch
|
||||
Patch1: boost-cmake-soname.patch
|
||||
|
||||
# The patch may break c++03, and there is therefore no plan yet to include
|
||||
# it upstream: https://svn.boost.org/trac/boost/ticket/4999
|
||||
Patch2: boost-1.48.0-signals-erase.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/5731
|
||||
Patch3: boost-1.48.0-exceptions.patch
|
||||
Patch2: boost-1.50.0-signals-erase.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/6150
|
||||
Patch4: boost-1.48.0-fix-non-utf8-files.patch
|
||||
Patch4: boost-1.50.0-fix-non-utf8-files.patch
|
||||
|
||||
# Add a manual page for the sole executable, namely bjam, based on the
|
||||
# on-line documentation:
|
||||
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
|
||||
Patch5: boost-1.48.0-add-bjam-man-page.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=757385
|
||||
# https://svn.boost.org/trac/boost/ticket/6182
|
||||
Patch6: boost-1.48.0-lexical_cast-incomplete.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=756005
|
||||
# https://svn.boost.org/trac/boost/ticket/6131
|
||||
Patch7: boost-1.48.0-foreach.patch
|
||||
|
||||
# https://svn.boost.org/trac/boost/ticket/6165
|
||||
Patch8: boost-1.48.0-gcc47-pthreads.patch
|
||||
Patch7: boost-1.50.0-foreach.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=781859
|
||||
# https://svn.boost.org/trac/boost/ticket/6406 fixed
|
||||
# https://svn.boost.org/trac/boost/ticket/6407 fixed
|
||||
# The following tickets have still to be fixed by upstream.
|
||||
# https://svn.boost.org/trac/boost/ticket/6406 fixed, but only in Boost-1.51.0
|
||||
# https://svn.boost.org/trac/boost/ticket/6408
|
||||
# https://svn.boost.org/trac/boost/ticket/6409 fixed
|
||||
# https://svn.boost.org/trac/boost/ticket/6410
|
||||
# https://svn.boost.org/trac/boost/ticket/6411 fixed
|
||||
# https://svn.boost.org/trac/boost/ticket/6412 fixed
|
||||
# https://svn.boost.org/trac/boost/ticket/6413
|
||||
# https://svn.boost.org/trac/boost/ticket/6414 fixed
|
||||
# https://svn.boost.org/trac/boost/ticket/6415
|
||||
# https://svn.boost.org/trac/boost/ticket/6416 fixed
|
||||
Patch9: boost-1.48.0-attribute.patch
|
||||
Patch9: boost-1.50.0-attribute.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=783660
|
||||
# https://svn.boost.org/trac/boost/ticket/6459 fixed
|
||||
Patch10: boost-1.48.0-long-double-1.patch
|
||||
Patch11: boost-1.48.0-long-double.patch
|
||||
Patch10: boost-1.50.0-long-double-1.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=784654
|
||||
Patch12: boost-1.48.0-polygon.patch
|
||||
Patch12: boost-1.50.0-polygon.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=807780
|
||||
Patch13: boost-1.48.0-python3.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=824810
|
||||
# https://svn.boost.org/trac/boost/ticket/6940
|
||||
Patch14: boost-1.48.0-xtime.patch
|
||||
#Patch13: boost-1.48.0-python3.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=828856
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=828857
|
||||
Patch15: boost-1.48.0-pool.patch
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=832265
|
||||
Patch16: boost-1.48.0-locale.patch
|
||||
Patch15: boost-1.50.0-pool.patch
|
||||
|
||||
%bcond_with tests
|
||||
%bcond_with docs_generated
|
||||
@ -525,44 +497,33 @@ a number of significant features and is now developed independently
|
||||
%prep
|
||||
%setup -q -n %{toplev_dirname}
|
||||
|
||||
# CMake framework (CMakeLists.txt, *.cmake and documentation files)
|
||||
%patch0 -p1
|
||||
sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH1} | %{__patch} -p0 --fuzz=0
|
||||
|
||||
# Fixes
|
||||
%patch2 -p1
|
||||
%patch3 -p0
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p2
|
||||
%patch8 -p0
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p3
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
#%patch13 -p1
|
||||
%patch15 -p0
|
||||
%patch16 -p1
|
||||
|
||||
%build
|
||||
# Support for building tests.
|
||||
%define boost_testflags -DBUILD_TESTS="NONE"
|
||||
%if %{with tests}
|
||||
%define boost_testflags -DBUILD_TESTS="ALL"
|
||||
%endif
|
||||
cat >> ./tools/build/v2/user-config.jam << EOF
|
||||
using mpi ;
|
||||
EOF
|
||||
|
||||
( echo ============================= build serial ==================
|
||||
mkdir serial
|
||||
cd serial
|
||||
export CXXFLAGS="-DBOOST_IOSTREAMS_USE_DEPRECATED %{optflags}"
|
||||
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \
|
||||
-DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF \
|
||||
-DWITH_MPI=OFF \
|
||||
..
|
||||
make VERBOSE=1 %{?_smp_mflags}
|
||||
)
|
||||
./bootstrap.sh --with-toolset=gcc --with-icu
|
||||
|
||||
# N.B. When we build the following with PCH, parts of boost (math
|
||||
# library in particular) end up being built second time during
|
||||
# installation. Unsure why that is, but all sub-builds need to be
|
||||
# built with pch=off to avoid this.
|
||||
|
||||
echo ============================= build serial ==================
|
||||
./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
|
||||
--without-mpi --without-graph_parallel --build-dir=serial \
|
||||
variant=release threading=single,multi debug-symbols=on pch=off stage
|
||||
|
||||
%if %{with python3}
|
||||
|
||||
@ -585,18 +546,11 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH1} | %{__patch} -p0 --fuzz=0
|
||||
# Build MPI parts of Boost with OpenMPI support
|
||||
%if %{with openmpi}
|
||||
%{_openmpi_load}
|
||||
# Work around the bug: https://bugzilla.redhat.com/show_bug.cgi?id=560224
|
||||
MPI_COMPILER=openmpi-%{_arch}
|
||||
export MPI_COMPILER
|
||||
( echo ============================= build $MPI_COMPILER ==================
|
||||
mkdir $MPI_COMPILER
|
||||
cd $MPI_COMPILER
|
||||
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \
|
||||
-DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF \
|
||||
-DBUILD_PROJECTS="serialization;python;mpi;graph_parallel" \
|
||||
-DBOOST_LIB_INSTALL_DIR=$MPI_LIB ..
|
||||
make VERBOSE=1 %{?_smp_mflags}
|
||||
)
|
||||
echo ============================= build $MPI_COMPILER ==================
|
||||
# This doesn't seem to allow single-threaded builds anymore.
|
||||
./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
|
||||
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
|
||||
variant=release threading=multi debug-symbols=on pch=off stage
|
||||
%{_openmpi_unload}
|
||||
export PATH=/bin${PATH:+:}$PATH
|
||||
%endif
|
||||
@ -604,25 +558,17 @@ export PATH=/bin${PATH:+:}$PATH
|
||||
# Build MPI parts of Boost with MPICH2 support
|
||||
%if %{with mpich2}
|
||||
%{_mpich2_load}
|
||||
( echo ============================= build $MPI_COMPILER ==================
|
||||
mkdir $MPI_COMPILER
|
||||
cd $MPI_COMPILER
|
||||
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo %{boost_testflags} \
|
||||
-DENABLE_SINGLE_THREADED=YES -DINSTALL_VERSIONED=OFF \
|
||||
-DBUILD_PROJECTS="serialization;python;mpi;graph_parallel" \
|
||||
-DBOOST_LIB_INSTALL_DIR=$MPI_LIB ..
|
||||
make VERBOSE=1 %{?_smp_mflags}
|
||||
)
|
||||
echo ============================= build $MPI_COMPILER ==================
|
||||
./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
|
||||
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
|
||||
variant=release threading=multi debug-symbols=on pch=off stage
|
||||
%{_mpich2_unload}
|
||||
export PATH=/bin${PATH:+:}$PATH
|
||||
%endif
|
||||
|
||||
# Build Boost Jam
|
||||
echo ============================= build Jam ==================
|
||||
pushd tools/build/v2/engine/
|
||||
export CFLAGS="%{optflags}"
|
||||
./build.sh
|
||||
popd
|
||||
echo ============================= build Boost.Build ==================
|
||||
(cd tools/build/v2
|
||||
./bootstrap.sh --with-toolset=gcc)
|
||||
|
||||
%check
|
||||
%if %{with tests}
|
||||
@ -659,23 +605,15 @@ cd %{_builddir}/%{toplev_dirname}
|
||||
|
||||
%if %{with openmpi}
|
||||
%{_openmpi_load}
|
||||
# Work around the bug: https://bugzilla.redhat.com/show_bug.cgi?id=560224
|
||||
MPI_COMPILER=openmpi-%{_arch}
|
||||
export MPI_COMPILER
|
||||
echo ============================= install $MPI_COMPILER ==================
|
||||
DESTDIR=$RPM_BUILD_ROOT make -C $MPI_COMPILER VERBOSE=1 install
|
||||
# Remove parts of boost that we don't want installed in MPI directory.
|
||||
rm -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}*
|
||||
# Suppress the mpi.so python module, as it not currently properly
|
||||
# generated (some dependencies are missing. It is temporary until
|
||||
# upstream Boost-CMake fixes that (see
|
||||
# http://lists.boost.org/boost-cmake/2009/12/0859.php for more
|
||||
# details)
|
||||
rm -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so
|
||||
# Kill any debug library versions that may show up un-invited.
|
||||
rm -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.*
|
||||
# Remove cmake configuration files used to build the Boost libraries
|
||||
find $RPM_BUILD_ROOT/$MPI_LIB -name '*.cmake' -exec rm -f {} \;
|
||||
./b2 -q %{?_smp_mflags} --layout=tagged \
|
||||
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
|
||||
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
|
||||
variant=release threading=multi debug-symbols=on pch=off stage
|
||||
|
||||
# Remove generic parts of boost that were built for dependencies.
|
||||
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/%{_lib}/libboost_{python,{w,}serialization}*
|
||||
|
||||
%{_openmpi_unload}
|
||||
export PATH=/bin${PATH:+:}$PATH
|
||||
%endif
|
||||
@ -683,60 +621,50 @@ export PATH=/bin${PATH:+:}$PATH
|
||||
%if %{with mpich2}
|
||||
%{_mpich2_load}
|
||||
echo ============================= install $MPI_COMPILER ==================
|
||||
DESTDIR=$RPM_BUILD_ROOT make -C $MPI_COMPILER VERBOSE=1 install
|
||||
# Remove parts of boost that we don't want installed in MPI directory.
|
||||
rm -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}*
|
||||
# Suppress the mpi.so python module, as it not currently properly
|
||||
# generated (some dependencies are missing. It is temporary until
|
||||
# upstream Boost-CMake fixes that (see
|
||||
# http://lists.boost.org/boost-cmake/2009/12/0859.php for more
|
||||
# details)
|
||||
rm -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so
|
||||
# Kill any debug library versions that may show up un-invited.
|
||||
rm -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.*
|
||||
# Remove cmake configuration files used to build the Boost libraries
|
||||
find $RPM_BUILD_ROOT/$MPI_LIB -name '*.cmake' -exec rm -f {} \;
|
||||
./b2 -q %{?_smp_mflags} --layout=tagged \
|
||||
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
|
||||
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
|
||||
variant=release threading=multi debug-symbols=on pch=off stage
|
||||
|
||||
# Remove generic parts of boost that were built for dependencies.
|
||||
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/%{_lib}/libboost_{python,{w,}serialization}*
|
||||
|
||||
%{_mpich2_unload}
|
||||
export PATH=/bin${PATH:+:}$PATH
|
||||
%endif
|
||||
|
||||
if false; then :
|
||||
%if %{with python3}
|
||||
echo ============================= install Python 3 ==================
|
||||
DESTDIR=$RPM_BUILD_ROOT make -C serial-python3 VERBOSE=1 install
|
||||
%endif
|
||||
|
||||
fi
|
||||
|
||||
echo ============================= install serial ==================
|
||||
DESTDIR=$RPM_BUILD_ROOT make -C serial VERBOSE=1 install
|
||||
# Kill any debug library versions that may show up un-invited.
|
||||
rm -f $RPM_BUILD_ROOT/%{_libdir}/*-d.*
|
||||
# Remove cmake configuration files used to build the Boost libraries
|
||||
find $RPM_BUILD_ROOT/%{_libdir} -name '*.cmake' -exec rm -f {} \;
|
||||
./b2 -d+2 -q %{?_smp_mflags} --layout=tagged \
|
||||
--without-mpi --without-graph_parallel --build-dir=serial \
|
||||
--prefix=$RPM_BUILD_ROOT%{_prefix} \
|
||||
variant=release threading=single,multi debug-symbols=on pch=off install
|
||||
|
||||
echo ============================= install jam ==================
|
||||
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||||
pushd tools/build/v2/engine/
|
||||
%{__install} -m 755 bin.linux*/bjam $RPM_BUILD_ROOT%{_bindir}
|
||||
popd
|
||||
# Install the manual page
|
||||
%{__install} -p -m 644 tools/build/v2/doc/bjam.1 -D $RPM_BUILD_ROOT%{_mandir}/man1/bjam.1
|
||||
|
||||
echo ============================= install build ==================
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/boost-build
|
||||
pushd tools/build/v2
|
||||
# Fix some permissions
|
||||
chmod -x build/alias.py
|
||||
chmod +x tools/doxproc.py
|
||||
# Empty file
|
||||
rm -f tools/doxygen/windows-paths-check.hpp
|
||||
# Not a real file
|
||||
rm -f build/project.ann.py
|
||||
# Move into a dedicated location
|
||||
cp -a boost-build.jam bootstrap.jam build-system.jam build/ kernel/ options/ tools/ util/ user-config.jam $RPM_BUILD_ROOT%{_datadir}/boost-build/
|
||||
popd
|
||||
echo ============================= install Boost.Build ==================
|
||||
(cd tools/build/v2
|
||||
./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install
|
||||
# Fix some permissions
|
||||
chmod -x $RPM_BUILD_ROOT%{_datadir}/boost-build/build/alias.py
|
||||
chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/tools/doxproc.py
|
||||
# We don't want to distribute this
|
||||
rm -f $RPM_BUILD_ROOT%{_bindir}/b2
|
||||
# Not a real file
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/build/project.ann.py
|
||||
# Empty file
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/tools/doxygen/windows-paths-check.hpp
|
||||
# Install the manual page
|
||||
%{__install} -p -m 644 doc/bjam.1 -D $RPM_BUILD_ROOT%{_mandir}/man1/bjam.1
|
||||
)
|
||||
|
||||
# Install documentation files (HTML pages) within the temporary place
|
||||
echo ============================= install documentation ==================
|
||||
cd %{_builddir}/%{toplev_dirname}
|
||||
# Prepare the place to temporary store the generated documentation
|
||||
rm -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html
|
||||
DOCPATH=%{boost_docdir}
|
||||
@ -793,17 +721,6 @@ rm -f tmp-doc-files-to-be-installed
|
||||
rm -f tmp-doc-directories
|
||||
%{__install} -p -m 644 -t $EXAMPLESPATH LICENSE_1_0.txt
|
||||
|
||||
# Remove scripts used to generate include files
|
||||
find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm -f {} \;
|
||||
|
||||
# boost support of cmake needs some tuning. For the time being, leave
|
||||
# the files out, and rely on cmake's FindBoost to DTRT, as it had been
|
||||
# doing in pre-cmake-boost times. For further info, see:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=597020
|
||||
rm -Rfv $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
|
||||
rm -Rfv $RPM_BUILD_ROOT%{_datadir}/cmake/%{name}
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
@ -1023,7 +940,6 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%files openmpi
|
||||
%defattr(-, root, root, -)
|
||||
%doc LICENSE_1_0.txt
|
||||
%{_libdir}/openmpi/lib/libboost_mpi.so.%{sonamever}
|
||||
%{_libdir}/openmpi/lib/libboost_mpi-mt.so.%{sonamever}
|
||||
|
||||
%files openmpi-devel
|
||||
@ -1035,11 +951,11 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%defattr(-, root, root, -)
|
||||
%doc LICENSE_1_0.txt
|
||||
%{_libdir}/openmpi/lib/libboost_mpi_python*.so.%{sonamever}
|
||||
%{_libdir}/openmpi/lib/mpi.so
|
||||
|
||||
%files graph-openmpi
|
||||
%defattr(-, root, root, -)
|
||||
%doc LICENSE_1_0.txt
|
||||
%{_libdir}/openmpi/lib/libboost_graph_parallel.so.%{sonamever}
|
||||
%{_libdir}/openmpi/lib/libboost_graph_parallel-mt.so.%{sonamever}
|
||||
|
||||
%endif
|
||||
@ -1050,7 +966,6 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%files mpich2
|
||||
%defattr(-, root, root, -)
|
||||
%doc LICENSE_1_0.txt
|
||||
%{_libdir}/mpich2/lib/libboost_mpi.so.%{sonamever}
|
||||
%{_libdir}/mpich2/lib/libboost_mpi-mt.so.%{sonamever}
|
||||
|
||||
%files mpich2-devel
|
||||
@ -1062,11 +977,11 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%defattr(-, root, root, -)
|
||||
%doc LICENSE_1_0.txt
|
||||
%{_libdir}/mpich2/lib/libboost_mpi_python*.so.%{sonamever}
|
||||
%{_libdir}/mpich2/lib/mpi.so
|
||||
|
||||
%files graph-mpich2
|
||||
%defattr(-, root, root, -)
|
||||
%doc LICENSE_1_0.txt
|
||||
%{_libdir}/mpich2/lib/libboost_graph_parallel.so.%{sonamever}
|
||||
%{_libdir}/mpich2/lib/libboost_graph_parallel-mt.so.%{sonamever}
|
||||
|
||||
%endif
|
||||
@ -1083,6 +998,26 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_mandir}/man1/bjam.1*
|
||||
|
||||
%changelog
|
||||
* Thu Jul 26 2012 Petr Machata <pmachata@redhat.com> - 1.50.0-1
|
||||
- Upstream 1.50
|
||||
- boost-cmake-soname.patch drop, upstream handles soname well, and
|
||||
we haven't been doing manual numbering for several years now
|
||||
- boost-1.48.0-cmakeify-full.patch drop, not necessary for bjam
|
||||
- Rebase many patches, port others, courtesy of Denis Arnaud:
|
||||
- boost-1.48.0-exceptions.patch drop
|
||||
- boost-1.48.0-lexical_cast-incomplete.patch drop
|
||||
- boost-1.48.0-gcc47-pthreads.patch drop
|
||||
- boost-1.48.0-long-double.patch drop
|
||||
- boost-1.48.0-xtime.patch drop
|
||||
- boost-1.48.0-locale.patch drop
|
||||
- boost-1.48.0-signals-erase.patch port
|
||||
- boost-1.48.0-fix-non-utf8-files.patch port
|
||||
- boost-1.48.0-foreach.patch port
|
||||
- boost-1.48.0-attribute.patch port
|
||||
- boost-1.48.0-long-double-1.patch port
|
||||
- boost-1.48.0-polygon.patch port
|
||||
- boost-1.48.0-pool.patch port
|
||||
|
||||
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.48.0-17
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user