update buildroot to 2017.02.11
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)
|
||||
{
|
||||
37
bsp/buildroot-2017.02.11/package/boost/0003-fenv.patch
Normal file
37
bsp/buildroot-2017.02.11/package/boost/0003-fenv.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
Disable fenv.h in certain configurations
|
||||
|
||||
The boost build system does not properly test whether fenv.h is
|
||||
available, and if it is, if it supports all the features used by
|
||||
Boost. This causes build failures with uClibc (reported upstream at
|
||||
https://svn.boost.org/trac/boost/ticket/11756) but also with glibc on
|
||||
specific architectures that don't have a full fenv implementation,
|
||||
such as NIOSII or Microblaze.
|
||||
|
||||
To address this, we forcefully disable the use of fenv support in the
|
||||
affected configurations.
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
[Thomas: add Microblaze/NIOSII exclusions.]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/boost/config/platform/linux.hpp
|
||||
===================================================================
|
||||
--- a/boost/config/platform/linux.hpp
|
||||
+++ b/boost/config/platform/linux.hpp
|
||||
@@ -47,6 +47,16 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
+// uClibc has no support for fenv.h, and also a few architectures
|
||||
+// don't have fenv.h support at all (or incomplete support) even with
|
||||
+// glibc.
|
||||
+
|
||||
+//
|
||||
+#if defined(__UCLIBC__) || defined(__nios2__) || defined(__microblaze__)
|
||||
+# 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:
|
||||
//
|
||||
@@ -0,0 +1,45 @@
|
||||
From 4f1c6784b37a11c78fe84bb238fb7cc377ce0d36 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
|
||||
Date: Wed, 30 Mar 2016 23:28:33 +0200
|
||||
Subject: [PATCH] Fix for uClibc and gcc <= 4.8.2
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
getchar() is defined as a macro in uClibc. This hits gcc bug 58952 [1] for all
|
||||
gcc version <= 4.8.2 and building boost/test fails:
|
||||
|
||||
./boost/test/impl/unit_test_main.ipp: In function 'int boost::unit_test::unit_test_main(boost::unit_test::init_unit_test_func, int, char**)':
|
||||
./boost/test/impl/unit_test_main.ipp:194:18: error: expected unqualified-id before '(' token
|
||||
|
||||
To allow building boost/test with uClibc based toolchains with gcc <= 4.8.2 use
|
||||
parenthesis for std::getchar.
|
||||
|
||||
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58952
|
||||
|
||||
Upstream status: Pending
|
||||
https://github.com/boostorg/test/pull/97
|
||||
|
||||
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
---
|
||||
include/boost/test/impl/unit_test_main.ipp | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/boost/test/impl/unit_test_main.ipp b/boost/test/impl/unit_test_main.ipp
|
||||
index 1f30c02..db61930 100644
|
||||
--- a/boost/test/impl/unit_test_main.ipp
|
||||
+++ b/boost/test/impl/unit_test_main.ipp
|
||||
@@ -191,7 +191,9 @@ unit_test_main( init_unit_test_func init_func, int argc, char* argv[] )
|
||||
if( runtime_config::get<bool>( runtime_config::WAIT_FOR_DEBUGGER ) ) {
|
||||
results_reporter::get_stream() << "Press any key to continue..." << std::endl;
|
||||
|
||||
- std::getchar();
|
||||
+ // getchar is defined as a macro in uClibc. Use parenthesis to fix
|
||||
+ // gcc bug 58952 for gcc <= 4.8.2.
|
||||
+ (std::getchar)();
|
||||
results_reporter::get_stream() << "Continuing..." << std::endl;
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
166
bsp/buildroot-2017.02.11/package/boost/Config.in
Normal file
166
bsp/buildroot-2017.02.11/package/boost/Config.in
Normal file
@@ -0,0 +1,166 @@
|
||||
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
|
||||
bool "boost"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
# 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_ARM_CPU_HAS_ARM) || \
|
||||
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_METAPARSE
|
||||
depends on BR2_USE_MMU # boost-test
|
||||
select BR2_PACKAGE_BOOST_TEST
|
||||
bool "boost-metaparse"
|
||||
|
||||
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_TYPE_ERASURE
|
||||
bool "boost-type_erasure"
|
||||
|
||||
config BR2_PACKAGE_BOOST_WAVE
|
||||
bool "boost-wave"
|
||||
# limitation of assembler for coldfire
|
||||
# error: Tried to convert PC relative branch to absolute jump
|
||||
depends on !BR2_m68k_cf
|
||||
|
||||
endif
|
||||
3
bsp/buildroot-2017.02.11/package/boost/boost.hash
Normal file
3
bsp/buildroot-2017.02.11/package/boost/boost.hash
Normal file
@@ -0,0 +1,3 @@
|
||||
# From http://sourceforge.net/projects/boost/files/boost/1.61.0/
|
||||
md5 6095876341956f65f9d35939ccea1a9f boost_1_61_0.tar.bz2
|
||||
sha1 f84b1a1ce764108ec3c2b7bd7704cf8dfd3c9d01 boost_1_61_0.tar.bz2
|
||||
183
bsp/buildroot-2017.02.11/package/boost/boost.mk
Normal file
183
bsp/buildroot-2017.02.11/package/boost/boost.mk
Normal file
@@ -0,0 +1,183 @@
|
||||
################################################################################
|
||||
#
|
||||
# boost
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BOOST_VERSION = 1.61.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
|
||||
|
||||
# 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 type_erasure \
|
||||
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_METAPARSE),,metaparse)
|
||||
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_TYPE_ERASURE),,type_erasure)
|
||||
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) && $(TARGET_MAKE_ENV) ./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) && $(TARGET_MAKE_ENV) ./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) && $(TARGET_MAKE_ENV) ./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