Move all to deprecated folder.

This commit is contained in:
2016-11-16 21:57:57 +01:00
parent 01738a7684
commit 05de7d6c04
9777 changed files with 0 additions and 0 deletions

View File

@@ -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);
}

View File

@@ -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)
{

View File

@@ -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__) \

View File

@@ -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){

View File

@@ -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)); }

View File

@@ -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:
//

View 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

View 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

View 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))