Move all to deprecated folder.
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
boost: fix ambiguous format call on 64-bit builds
|
||||
|
||||
Fixes problem:
|
||||
|
||||
libs/locale/src/icu/formatter.cpp: In member function
|
||||
'virtual std::basic_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> > boost::locale::impl_icu::number_format<CharType>::format(boost::int64_t, size_t&) const':
|
||||
libs/locale/src/icu/formatter.cpp:61: error: call of overloaded 'format(boost::int64_t&, icu_49::UnicodeString&)' is ambiguous
|
||||
/ec/include/unicode/numfmt.h:317: note: candidates are: icu_49::UnicodeString& icu_49::NumberFormat::format(double, icu_49::UnicodeString&) const
|
||||
/ec/include/unicode/numfmt.h:330: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int32_t, icu_49::UnicodeString&) const
|
||||
/ec/include/unicode/numfmt.h:343: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int64_t, icu_49::UnicodeString&) const
|
||||
|
||||
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
|
||||
Backported-from: https://svn.boost.org/trac/boost/ticket/6851
|
||||
|
||||
|
||||
diff -ruN boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp boost_1_49_0/libs/locale/src/icu/formatter.cpp
|
||||
--- boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp 2011-07-12 14:57:36.000000000 +0100
|
||||
+++ boost_1_49_0/libs/locale/src/icu/formatter.cpp 2012-05-01 14:27:54.000000000 +0100
|
||||
@@ -58,7 +58,7 @@
|
||||
virtual string_type format(int64_t value,size_t &code_points) const
|
||||
{
|
||||
icu::UnicodeString tmp;
|
||||
- icu_fmt_->format(value,tmp);
|
||||
+ icu_fmt_->format(::int64_t(value),tmp);
|
||||
code_points=tmp.countChar32();
|
||||
return cvt_.std(tmp);
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
Use eventfd() function with uClibc
|
||||
|
||||
The Boost eventfd code either directly makes the eventfd system call
|
||||
using __NR_eventfd (when __GLIBC_MINOR is less than 8), or otherwise
|
||||
uses the eventfd() function provided by the C library.
|
||||
|
||||
However, since uClibc pretends to be glibc 2.2, the Boost eventfd code
|
||||
directly uses the system call. While it works fine on most
|
||||
architectures, it doesn't on ARC since __NR_eventfd is not defined on
|
||||
this architecture. However, eventfd() is properly implemented.
|
||||
|
||||
So, this patch adjusts the logic used by Boost to consider uClibc as a
|
||||
C library providing the eventfd() function.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/boost/asio/detail/impl/eventfd_select_interrupter.ipp
|
||||
===================================================================
|
||||
--- a/boost/asio/detail/impl/eventfd_select_interrupter.ipp
|
||||
+++ b/boost/asio/detail/impl/eventfd_select_interrupter.ipp
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
|
||||
+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
|
||||
# include <asm/unistd.h>
|
||||
#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
|
||||
# include <sys/eventfd.h>
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
void eventfd_select_interrupter::open_descriptors()
|
||||
{
|
||||
-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
|
||||
+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8 && !defined(__UCLIBC__)
|
||||
write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0);
|
||||
if (read_descriptor_ != -1)
|
||||
{
|
||||
@@ -0,0 +1,91 @@
|
||||
From 74ff2db959c5fa75bec770c41ed2951a740fe936 Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <jz.maddock@gmail.com>
|
||||
Date: Fri, 1 Jan 2016 16:49:48 +0000
|
||||
Subject: [PATCH] Change <quadmath.h> config to not use it at all if we don't
|
||||
have __has_include as GCC may be configured with --disable-libquadmath but
|
||||
still signal that it supports __float128
|
||||
|
||||
Backported from: 74ff2db959c5fa75bec770c41ed2951a740fe936
|
||||
|
||||
[Jörg Krause: adjust pathes to match sourceforge release tarball]
|
||||
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
|
||||
---
|
||||
boost/math/special_functions/fpclassify.hpp | 16 +++++++++++++---
|
||||
boost/math/tools/config.hpp | 12 ------------
|
||||
2 files changed, 13 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/boost/math/special_functions/fpclassify.hpp b/boost/math/special_functions/fpclassify.hpp
|
||||
index 0a4e1ac..58fad13 100644
|
||||
--- a/boost/math/special_functions/fpclassify.hpp
|
||||
+++ b/boost/math/special_functions/fpclassify.hpp
|
||||
@@ -81,7 +81,12 @@ is used.
|
||||
#include <float.h>
|
||||
#endif
|
||||
#ifdef BOOST_MATH_USE_FLOAT128
|
||||
+#ifdef __has_include
|
||||
+#if __has_include("quadmath.h")
|
||||
#include "quadmath.h"
|
||||
+#define BOOST_MATH_HAS_QUADMATH_H
|
||||
+#endif
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_NO_STDC_NAMESPACE
|
||||
@@ -124,9 +129,14 @@ inline bool is_nan_helper(T, const boost::false_type&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
-#ifdef BOOST_MATH_USE_FLOAT128
|
||||
+#if defined(BOOST_MATH_USE_FLOAT128)
|
||||
+#if defined(BOOST_MATH_HAS_QUADMATH_H)
|
||||
inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnanq(f); }
|
||||
inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnanq(f); }
|
||||
+#else
|
||||
+inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnan(static_cast<double>(f)); }
|
||||
+inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnan(static_cast<double>(f)); }
|
||||
+#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -519,7 +529,7 @@ inline bool (isinf)(long double x)
|
||||
return detail::isinf_impl(static_cast<value_type>(x), method());
|
||||
}
|
||||
#endif
|
||||
-#ifdef BOOST_MATH_USE_FLOAT128
|
||||
+#if defined(BOOST_MATH_USE_FLOAT128) && defined(BOOST_MATH_HAS_QUADMATH_H)
|
||||
template<>
|
||||
inline bool (isinf)(__float128 x)
|
||||
{
|
||||
@@ -611,7 +621,7 @@ inline bool (isnan)(long double x)
|
||||
return detail::isnan_impl(x, method());
|
||||
}
|
||||
#endif
|
||||
-#ifdef BOOST_MATH_USE_FLOAT128
|
||||
+#if defined(BOOST_MATH_USE_FLOAT128) && defined(BOOST_MATH_HAS_QUADMATH_H)
|
||||
template<>
|
||||
inline bool (isnan)(__float128 x)
|
||||
{
|
||||
diff --git a/boost/math/tools/config.hpp b/boost/math/tools/config.hpp
|
||||
index ffd0ab4..75d29b6 100644
|
||||
--- a/boost/math/tools/config.hpp
|
||||
+++ b/boost/math/tools/config.hpp
|
||||
@@ -265,18 +265,6 @@
|
||||
# define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##SUF
|
||||
#endif
|
||||
//
|
||||
-// Test whether to support __float128, if we don't have quadmath.h then this can't currently work:
|
||||
-//
|
||||
-#ifndef BOOST_MATH_USE_FLOAT128
|
||||
-#ifdef __has_include
|
||||
-#if ! __has_include("quadmath.h")
|
||||
-#define BOOST_MATH_DISABLE_FLOAT128
|
||||
-#endif
|
||||
-#elif !defined(BOOST_ARCH_X86)
|
||||
-#define BOOST_MATH_DISABLE_FLOAT128
|
||||
-#endif
|
||||
-#endif
|
||||
-//
|
||||
// And then the actual configuration:
|
||||
//
|
||||
#if defined(_GLIBCXX_USE_FLOAT128) && defined(BOOST_GCC) && !defined(__STRICT_ANSI__) \
|
||||
@@ -0,0 +1,50 @@
|
||||
From a4e9686f8a0258bc30f9da2abab65673d6b9bd50 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jupp=20M=C3=BCller?= <jupp0r@gmail.com>
|
||||
Date: Wed, 23 Dec 2015 09:18:51 +0100
|
||||
Subject: [PATCH] Fix declaration changes meaning error with GCC 4.4.7 (#11856)
|
||||
|
||||
Backported from a4e9686f8a0258bc30f9da2abab65673d6b9bd50
|
||||
|
||||
[Jörg Krause: adjust pathes to match sourceforge release tarball]
|
||||
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
|
||||
---
|
||||
libs/container/src/pool_resource.cpp | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libs/container/src/pool_resource.cpp b/libs/container/src/pool_resource.cpp
|
||||
index 4df7ee2..45f1564 100644
|
||||
--- a/libs/container/src/pool_resource.cpp
|
||||
+++ b/libs/container/src/pool_resource.cpp
|
||||
@@ -32,11 +32,11 @@ namespace pmr {
|
||||
class pool_data_t
|
||||
: public block_slist_base<>
|
||||
{
|
||||
- typedef block_slist_base<> block_slist_base;
|
||||
+ typedef block_slist_base<> block_slist_base_t;
|
||||
|
||||
public:
|
||||
explicit pool_data_t(std::size_t initial_blocks_per_chunk)
|
||||
- : block_slist_base(), next_blocks_per_chunk(initial_blocks_per_chunk)
|
||||
+ : block_slist_base_t(), next_blocks_per_chunk(initial_blocks_per_chunk)
|
||||
{ slist_algo::init_header(&free_slist); }
|
||||
|
||||
void *allocate_block() BOOST_NOEXCEPT
|
||||
@@ -59,7 +59,7 @@ class pool_data_t
|
||||
void release(memory_resource &upstream)
|
||||
{
|
||||
slist_algo::init_header(&free_slist);
|
||||
- this->block_slist_base::release(upstream);
|
||||
+ this->block_slist_base_t::release(upstream);
|
||||
next_blocks_per_chunk = pool_options_minimum_max_blocks_per_chunk;
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ class pool_data_t
|
||||
|
||||
//Minimum block size is at least max_align, so all pools allocate sizes that are multiple of max_align,
|
||||
//meaning that all blocks are max_align-aligned.
|
||||
- char *p = static_cast<char *>(block_slist_base::allocate(blocks_per_chunk*pool_block, mr));
|
||||
+ char *p = static_cast<char *>(block_slist_base_t::allocate(blocks_per_chunk*pool_block, mr));
|
||||
|
||||
//Create header types. This is no-throw
|
||||
for(std::size_t i = 0, max = blocks_per_chunk; i != max; ++i){
|
||||
@@ -0,0 +1,32 @@
|
||||
From fbd1393858719c7bda7d251f742950c1bc691ea8 Mon Sep 17 00:00:00 2001
|
||||
From: Kohei Takahashi <flast@flast.jp>
|
||||
Date: Wed, 6 Jan 2016 19:39:55 +0900
|
||||
Subject: [PATCH] Qualify std:: for isnan in some situation.
|
||||
|
||||
Because isnan is implemented as a macro and libstdc++ undef it within
|
||||
<cmath> (at least FreeBSD 10).
|
||||
|
||||
Backported from fbd1393858719c7bda7d251f742950c1bc691ea8
|
||||
|
||||
[Jörg Krause: adjust pathes to match sourceforge release tarball]
|
||||
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
|
||||
---
|
||||
boost/math/special_functions/fpclassify.hpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/boost/math/special_functions/fpclassify.hpp b/boost/math/special_functions/fpclassify.hpp
|
||||
index 58fad13..d83e111 100644
|
||||
--- a/boost/math/special_functions/fpclassify.hpp
|
||||
+++ b/boost/math/special_functions/fpclassify.hpp
|
||||
@@ -133,6 +133,10 @@ inline bool is_nan_helper(T, const boost::false_type&)
|
||||
#if defined(BOOST_MATH_HAS_QUADMATH_H)
|
||||
inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnanq(f); }
|
||||
inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnanq(f); }
|
||||
+#elif defined(BOOST_GNU_STDLIB) && BOOST_GNU_STDLIB && \
|
||||
+ _GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
|
||||
+inline bool is_nan_helper(__float128 f, const boost::true_type&) { return std::isnan(static_cast<double>(f)); }
|
||||
+inline bool is_nan_helper(__float128 f, const boost::false_type&) { return std::isnan(static_cast<double>(f)); }
|
||||
#else
|
||||
inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnan(static_cast<double>(f)); }
|
||||
inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnan(static_cast<double>(f)); }
|
||||
@@ -0,0 +1,26 @@
|
||||
Disable fenv.h support for uClibc-based toolchains.
|
||||
|
||||
The boost build system does not recognize the fact that fenv.h is an
|
||||
optional module in uClibc and tries to use it even if UCLIBC_HAS_FENV
|
||||
is disabled. This patch disables fenv support completely when compiling
|
||||
with a uClibc-based toolchain. Bug was reported upstream:
|
||||
https://svn.boost.org/trac/boost/ticket/11756
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
|
||||
--- boost_1_60_0.org/boost/config/platform/linux.hpp 2015-12-08 19:55:19.000000000 +0100
|
||||
+++ boost_1_60_0/boost/config/platform/linux.hpp 2016-02-06 12:35:25.692754553 +0100
|
||||
@@ -47,6 +47,13 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
+// uClibc has no support for fenv.h
|
||||
+//
|
||||
+#if defined(__UCLIBC__)
|
||||
+# define BOOST_NO_FENV_H
|
||||
+#endif
|
||||
+
|
||||
+//
|
||||
// If glibc is past version 2 then we definitely have
|
||||
// gettimeofday, earlier versions may or may not have it:
|
||||
//
|
||||
160
deprecated/firmware/buildroot/package/boost/Config.in
Normal file
160
deprecated/firmware/buildroot/package/boost/Config.in
Normal file
@@ -0,0 +1,160 @@
|
||||
comment "boost needs a toolchain w/ C++, threads, wchar"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
|
||||
|
||||
config BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
|
||||
|
||||
config BR2_PACKAGE_BOOST
|
||||
bool "boost"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
# Boost could theorically be built with threading=single, but
|
||||
# that unfortunately doesn't work. Until someone fixes that,
|
||||
# let's depend on threads.
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_USE_WCHAR
|
||||
help
|
||||
A general purpose C++ library
|
||||
|
||||
http://www.boost.org/
|
||||
|
||||
if BR2_PACKAGE_BOOST
|
||||
|
||||
choice
|
||||
prompt "Layout"
|
||||
default BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
|
||||
help
|
||||
Selects the layout of Boost binary names
|
||||
|
||||
config BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
|
||||
bool "system"
|
||||
help
|
||||
Boost binary names do not include the Boost version number
|
||||
or the name and version number of the compiler.
|
||||
|
||||
config BR2_PACKAGE_BOOST_LAYOUT_TAGGED
|
||||
bool "tagged"
|
||||
help
|
||||
Boost binary names include the encoded build properties such
|
||||
as variant and threading, but do not include compiler name
|
||||
and version, or Boost version. This option is useful if you
|
||||
build several variants of Boost, using the same compiler.
|
||||
|
||||
config BR2_PACKAGE_BOOST_LAYOUT_VERSIONED
|
||||
bool "versioned"
|
||||
help
|
||||
Boost binary names include the Boost version number, name
|
||||
and version of the compiler and encoded build properties.
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_PACKAGE_BOOST_LAYOUT
|
||||
string
|
||||
default "system" if BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
|
||||
default "tagged" if BR2_PACKAGE_BOOST_LAYOUT_TAGGED
|
||||
default "versioned" if BR2_PACKAGE_BOOST_LAYOUT_VERSIONED
|
||||
|
||||
config BR2_PACKAGE_BOOST_ATOMIC
|
||||
bool "boost-atomic"
|
||||
|
||||
config BR2_PACKAGE_BOOST_CHRONO
|
||||
bool "boost-chrono"
|
||||
|
||||
config BR2_PACKAGE_BOOST_CONTAINER
|
||||
bool "boost-container"
|
||||
|
||||
# see
|
||||
# http://www.boost.org/doc/libs/1_59_0/libs/context/doc/html/context/architectures.html
|
||||
# for the list of supported architectures. Sparc pretends to be
|
||||
# supported, but it doesn't build.
|
||||
config BR2_PACKAGE_BOOST_CONTEXT
|
||||
bool "boost-context"
|
||||
depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel \
|
||||
|| BR2_powerpc || BR2_x86_64)
|
||||
|
||||
config BR2_PACKAGE_BOOST_COROUTINE
|
||||
bool "boost-coroutine"
|
||||
depends on BR2_PACKAGE_BOOST_CONTEXT
|
||||
|
||||
config BR2_PACKAGE_BOOST_COROUTINE2
|
||||
bool "boost-coroutine2"
|
||||
depends on BR2_PACKAGE_BOOST_CONTEXT
|
||||
|
||||
config BR2_PACKAGE_BOOST_DATE_TIME
|
||||
bool "boost-date_time"
|
||||
|
||||
config BR2_PACKAGE_BOOST_EXCEPTION
|
||||
bool "boost-exception"
|
||||
|
||||
config BR2_PACKAGE_BOOST_FILESYSTEM
|
||||
bool "boost-filesystem"
|
||||
|
||||
config BR2_PACKAGE_BOOST_GRAPH
|
||||
bool "boost-graph"
|
||||
|
||||
config BR2_PACKAGE_BOOST_GRAPH_PARALLEL
|
||||
bool "boost-graph_parallel"
|
||||
|
||||
config BR2_PACKAGE_BOOST_IOSTREAMS
|
||||
bool "boost-iostreams"
|
||||
select BR2_PACKAGE_BZIP2
|
||||
select BR2_PACKAGE_ZLIB
|
||||
|
||||
config BR2_PACKAGE_BOOST_LOCALE
|
||||
bool "boost-locale"
|
||||
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
|
||||
|
||||
config BR2_PACKAGE_BOOST_LOG
|
||||
bool "boost-log"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
# for some reason, uClibc on PowerPC fails to build the boost
|
||||
# log module
|
||||
depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC)
|
||||
|
||||
comment "boost-log needs a toolchain w/ NPTL"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC)
|
||||
|
||||
config BR2_PACKAGE_BOOST_MATH
|
||||
bool "boost-math"
|
||||
|
||||
config BR2_PACKAGE_BOOST_MPI
|
||||
bool "boost-mpi"
|
||||
|
||||
config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
|
||||
bool "boost-program_options"
|
||||
|
||||
config BR2_PACKAGE_BOOST_PYTHON
|
||||
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
|
||||
bool "boost-python"
|
||||
|
||||
config BR2_PACKAGE_BOOST_RANDOM
|
||||
bool "boost-random"
|
||||
|
||||
config BR2_PACKAGE_BOOST_REGEX
|
||||
bool "boost-regex"
|
||||
|
||||
config BR2_PACKAGE_BOOST_SERIALIZATION
|
||||
bool "boost-serialization"
|
||||
|
||||
config BR2_PACKAGE_BOOST_SIGNALS
|
||||
bool "boost-signals"
|
||||
|
||||
config BR2_PACKAGE_BOOST_SYSTEM
|
||||
bool "boost-system"
|
||||
|
||||
config BR2_PACKAGE_BOOST_TEST
|
||||
bool "boost-test"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
|
||||
config BR2_PACKAGE_BOOST_THREAD
|
||||
bool "boost-thread"
|
||||
|
||||
config BR2_PACKAGE_BOOST_TIMER
|
||||
bool "boost-timer"
|
||||
|
||||
config BR2_PACKAGE_BOOST_WAVE
|
||||
bool "boost-wave"
|
||||
|
||||
endif
|
||||
3
deprecated/firmware/buildroot/package/boost/boost.hash
Normal file
3
deprecated/firmware/buildroot/package/boost/boost.hash
Normal file
@@ -0,0 +1,3 @@
|
||||
# From http://sourceforge.net/projects/boost/files/boost/1.60.0/
|
||||
md5 65a840e1a0b13a558ff19eeb2c4f0cbe boost_1_60_0.tar.bz2
|
||||
sha1 7f56ab507d3258610391b47fef6b11635861175a boost_1_60_0.tar.bz2
|
||||
182
deprecated/firmware/buildroot/package/boost/boost.mk
Normal file
182
deprecated/firmware/buildroot/package/boost/boost.mk
Normal file
@@ -0,0 +1,182 @@
|
||||
################################################################################
|
||||
#
|
||||
# boost
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BOOST_VERSION = 1.60.0
|
||||
BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2
|
||||
BOOST_SITE = http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VERSION)
|
||||
BOOST_INSTALL_STAGING = YES
|
||||
BOOST_LICENSE = Boost Software License 1.0
|
||||
BOOST_LICENSE_FILES = LICENSE_1_0.txt
|
||||
|
||||
HOST_BOOST_DEPENDENCIES =
|
||||
|
||||
# keep host variant as minimal as possible
|
||||
HOST_BOOST_FLAGS = --without-icu \
|
||||
--without-libraries=$(subst $(space),$(comma),atomic chrono context \
|
||||
coroutine coroutine2 date_time exception filesystem graph \
|
||||
graph_parallel iostreams locale log math mpi program_options python \
|
||||
random regex serialization signals system test thread timer wave)
|
||||
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE),,coroutine)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE2),,coroutine2)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_FILESYSTEM),,filesystem)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH),,graph)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_GRAPH_PARALLEL),,graph_parallel)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SIGNALS),,signals)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer)
|
||||
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
|
||||
|
||||
BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ICU),y)
|
||||
BOOST_FLAGS += --with-icu=$(STAGING_DIR)/usr
|
||||
BOOST_DEPENDENCIES += icu
|
||||
else
|
||||
BOOST_FLAGS += --without-icu
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_BOOST_IOSTREAMS),y)
|
||||
BOOST_DEPENDENCIES += bzip2 zlib
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_BOOST_PYTHON),y)
|
||||
BOOST_FLAGS += --with-python-root=$(HOST_DIR)
|
||||
ifeq ($(BR2_PACKAGE_PYTHON3),y)
|
||||
BOOST_FLAGS += --with-python=$(HOST_DIR)/usr/bin/python$(PYTHON3_VERSION_MAJOR)
|
||||
BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR)m
|
||||
BOOST_DEPENDENCIES += python3
|
||||
else
|
||||
BOOST_FLAGS += --with-python=$(HOST_DIR)/usr/bin/python$(PYTHON_VERSION_MAJOR)
|
||||
BOOST_TARGET_CXXFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)
|
||||
BOOST_DEPENDENCIES += python
|
||||
endif
|
||||
endif
|
||||
|
||||
HOST_BOOST_OPTS += toolset=gcc threading=multi variant=release link=shared \
|
||||
runtime-link=shared
|
||||
|
||||
ifeq ($(BR2_MIPS_OABI32),y)
|
||||
BOOST_ABI = o32
|
||||
else ifeq ($(BR2_arm),y)
|
||||
BOOST_ABI = aapcs
|
||||
else
|
||||
BOOST_ABI = sysv
|
||||
endif
|
||||
|
||||
BOOST_OPTS += toolset=gcc \
|
||||
threading=multi \
|
||||
abi=$(BOOST_ABI) \
|
||||
variant=$(if $(BR2_ENABLE_DEBUG),debug,release)
|
||||
|
||||
ifeq ($(BR2_sparc64),y)
|
||||
BOOST_OPTS += architecture=sparc instruction-set=ultrasparc
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_sparc),y)
|
||||
BOOST_OPTS += architecture=sparc instruction-set=v8
|
||||
endif
|
||||
|
||||
# By default, Boost build and installs both the shared and static
|
||||
# variants. Override that if we want static only or shared only.
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
BOOST_OPTS += link=static runtime-link=static
|
||||
else ifeq ($(BR2_SHARED_LIBS),y)
|
||||
BOOST_OPTS += link=shared runtime-link=shared
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_BOOST_LOCALE),y)
|
||||
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
|
||||
# posix backend needs monetary.h which isn't available on uClibc
|
||||
BOOST_OPTS += boost.locale.posix=off
|
||||
endif
|
||||
|
||||
BOOST_DEPENDENCIES += $(if $(BR2_ENABLE_LOCALE),,libiconv)
|
||||
endif
|
||||
|
||||
BOOST_WITHOUT_FLAGS_COMMASEPARATED += $(subst $(space),$(comma),$(strip $(BOOST_WITHOUT_FLAGS)))
|
||||
BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$(BOOST_WITHOUT_FLAGS_COMMASEPARATED))
|
||||
BOOST_LAYOUT = $(call qstrip, $(BR2_PACKAGE_BOOST_LAYOUT))
|
||||
|
||||
# how verbose should the build be?
|
||||
BOOST_OPTS += $(if $(QUIET),-d,-d+1)
|
||||
HOST_BOOST_OPTS += $(if $(QUIET),-d,-d+1)
|
||||
|
||||
define BOOST_CONFIGURE_CMDS
|
||||
(cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS))
|
||||
echo "using gcc : `$(TARGET_CC) -dumpversion` : $(TARGET_CXX) : <cxxflags>\"$(BOOST_TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam
|
||||
echo "" >> $(@D)/user-config.jam
|
||||
endef
|
||||
|
||||
define BOOST_BUILD_CMDS
|
||||
(cd $(@D) && ./bjam -j$(PARALLEL_JOBS) -q \
|
||||
--user-config=$(@D)/user-config.jam \
|
||||
$(BOOST_OPTS) \
|
||||
--ignore-site-config \
|
||||
--layout=$(BOOST_LAYOUT))
|
||||
endef
|
||||
|
||||
define BOOST_INSTALL_TARGET_CMDS
|
||||
(cd $(@D) && ./b2 -j$(PARALLEL_JOBS) -q \
|
||||
--user-config=$(@D)/user-config.jam \
|
||||
$(BOOST_OPTS) \
|
||||
--prefix=$(TARGET_DIR)/usr \
|
||||
--ignore-site-config \
|
||||
--layout=$(BOOST_LAYOUT) install )
|
||||
endef
|
||||
|
||||
define BOOST_INSTALL_STAGING_CMDS
|
||||
(cd $(@D) && ./bjam -j$(PARALLEL_JOBS) -q \
|
||||
--user-config=$(@D)/user-config.jam \
|
||||
$(BOOST_OPTS) \
|
||||
--prefix=$(STAGING_DIR)/usr \
|
||||
--ignore-site-config \
|
||||
--layout=$(BOOST_LAYOUT) install)
|
||||
endef
|
||||
|
||||
define HOST_BOOST_CONFIGURE_CMDS
|
||||
(cd $(@D) && ./bootstrap.sh $(HOST_BOOST_FLAGS))
|
||||
echo "using gcc : `$(HOST_CC) -dumpversion` : $(HOSTCXX) : <cxxflags>\"$(HOST_CXXFLAGS)\" <linkflags>\"$(HOST_LDFLAGS)\" ;" > $(@D)/user-config.jam
|
||||
echo "" >> $(@D)/user-config.jam
|
||||
endef
|
||||
|
||||
define HOST_BOOST_BUILD_CMDS
|
||||
(cd $(@D) && ./b2 -j$(PARALLEL_JOBS) -q \
|
||||
--user-config=$(@D)/user-config.jam \
|
||||
$(HOST_BOOST_OPTS) \
|
||||
--ignore-site-config \
|
||||
--prefix=$(HOST_DIR)/usr )
|
||||
endef
|
||||
|
||||
define HOST_BOOST_INSTALL_CMDS
|
||||
(cd $(@D) && ./b2 -j$(PARALLEL_JOBS) -q \
|
||||
--user-config=$(@D)/user-config.jam \
|
||||
$(HOST_BOOST_OPTS) \
|
||||
--prefix=$(HOST_DIR)/usr \
|
||||
--ignore-site-config \
|
||||
--layout=$(BOOST_LAYOUT) install )
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
$(eval $(host-generic-package))
|
||||
Reference in New Issue
Block a user