boost: update to 1.60.0

Due to the version update to 1.59.0, the two patches previously
backported in this recipe are now dropped. The actual status of
the arm-intrinsics.patch (reported with Upstream-Status: Backport)
is unknown to the committer, and hence, that patch is kept in the
recipe, even if it is possibly not required anymore. A deeper
analysis is required to determine need and status of that patch.
Second, boost 1.59.0 provides a new library, called timer,
which is packaged as further library in the boost recipe. The
update to boost 1.60.0 required no further changes beyond
changing the checksum hashes.
Third, on PPC architectures, qemuppc & mpc8315e-rdb [1] (tested
by Ross Burton), the boost test library with the vanilla
version 1.60.0 fails with:

| gcc.compile.c++ bin.v2/libs/test/build/aca09349fdb84d131321425f6c3a38ed/execution_monitor.o
| In file included from [...]/tmp/sysroots/mpc8315e-rdb/usr/include/fenv.h:114:0,
|                  from [...]/tmp/sysroots/mpc8315e-rdb/usr/include/c++/5.3.0/fenv.h:36,
|                  from ./boost/detail/fenv.hpp:97,
|                  from ./boost/test/execution_monitor.hpp:64,
|                  from ./boost/test/impl/execution_monitor.ipp:31,
|                  from libs/test/src/execution_monitor.cpp:16:
| ./boost/test/impl/execution_monitor.ipp: In function 'unsigned int boost::fpe::enable(unsigned int)':
| ./boost/test/impl/execution_monitor.ipp:1383:7: error: expected id-expression before '(' token
|      ::feclearexcept(BOOST_FPE_ALL);
|        ^
| ./boost/test/impl/execution_monitor.ipp: In function 'unsigned int boost::fpe::disable(unsigned int)':
| ./boost/test/impl/execution_monitor.ipp:1420:7: error: expected id-expression before '(' token
|      ::feclearexcept(BOOST_FPE_ALL);
|        ^

The commit f50e7bc9fed323c5705c0ed992c03e80eeec1dd6 from the
boostorg/test github repository (branch: develop) [2] addresses
that issue, but it was not merged in the 1.60.0 release. This
commit adds this upstream-accepted patch, which was created by:

  `git checkout f50e7bc9fed323c5705c0ed992c03e80eeec1dd6 && git format-patch -1`

[1] http://lists.openembedded.org/pipermail/openembedded-core/2016-January/114844.html
[2] f50e7bc9fe

(From OE-Core rev: 17d77db5e1203e18cdd178e7d9a457310425ebdc)

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Lukas Bulwahn 2016-01-06 18:31:01 +01:00 committed by Richard Purdie
parent afc0255f5a
commit cd2cf1f654
7 changed files with 50 additions and 79 deletions

View File

@ -11,12 +11,9 @@ BOOST_VER = "${@"_".join(d.getVar("PV",1).split("."))}"
BOOST_MAJ = "${@"_".join(d.getVar("PV",1).split(".")[0:2])}"
BOOST_P = "boost_${BOOST_VER}"
SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2 \
file://0001-mips1-fix-added-gcc.jam-was-passing-the-options-m32-.patch \
file://0002-Don-t-pass-m32-m64-where-it-s-not-supported.patch \
"
SRC_URI = "${SOURCEFORGE_MIRROR}/boost/${BOOST_P}.tar.bz2"
SRC_URI[md5sum] = "b8839650e61e9c1c0a89f371dd475546"
SRC_URI[sha256sum] = "fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5"
SRC_URI[md5sum] = "65a840e1a0b13a558ff19eeb2c4f0cbe"
SRC_URI[sha256sum] = "686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b"
S = "${WORKDIR}/${BOOST_P}"

View File

@ -18,6 +18,7 @@ BOOST_LIBS = "\
serialization \
signals \
system \
timer \
test \
thread \
"

View File

@ -0,0 +1,45 @@
From f50e7bc9fed323c5705c0ed992c03e80eeec1dd6 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@redhat.com>
Date: Mon, 14 Sep 2015 15:05:24 +0100
Subject: [PATCH] Do not qualify <fenv.h> names that might be macros.
The patch was imported from the boost-test git repository
(https://github.com/boostorg/test) as of commit id
f50e7bc9fed323c5705c0ed992c03e80eeec1dd6.
Upstream-Status: Accepted [commit f50e7bc9fed in develop branch]
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
---
include/boost/test/impl/execution_monitor.ipp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp
index b3e873e..a7bdce2 100644
--- a/include/boost/test/impl/execution_monitor.ipp
+++ b/include/boost/test/impl/execution_monitor.ipp
@@ -1380,8 +1380,8 @@ enable( unsigned mask )
return ~old_cw & BOOST_FPE_ALL;
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::feenableexcept( mask );
+ feclearexcept(BOOST_FPE_ALL);
+ int res = feenableexcept( mask );
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
#else
/* Not Implemented */
@@ -1417,8 +1417,8 @@ disable( unsigned mask )
return ~old_cw & BOOST_FPE_ALL;
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::fedisableexcept( mask );
+ feclearexcept(BOOST_FPE_ALL);
+ int res = fedisableexcept( mask );
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
#else
/* Not Implemented */
--
1.9.1

View File

@ -3,4 +3,5 @@ include boost.inc
SRC_URI += "\
file://arm-intrinsics.patch \
file://0001-Do-not-qualify-fenv.h-names-that-might-be-macros.patch;striplevel=2 \
"

View File

@ -1,33 +0,0 @@
From 817aed0d755bf8c0ba4ef6a77d41538e50b571fd Mon Sep 17 00:00:00 2001
From: claymore <carlosmf.pt@gmail.com>
Date: Fri, 24 Apr 2015 02:28:47 +0100
Subject: [PATCH 1/2] mips1 fix added gcc.jam was passing the options -m32 and
-m64 to mips cross-compilers, when those do not use
such options This modification solves it by adding mips
as an exception
Signed-off-by: Carlos M. Ferreira carlosmf.pt@gmail.com
Upstream-Status: Backport
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
tools/build/src/tools/gcc.jam | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
index db04534..eff95ae 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
@@ -451,7 +451,7 @@ rule setup-address-model ( targets * : sources * : properties * )
else
{
local arch = [ feature.get-values architecture : $(properties) ] ;
- if $(arch) != arm
+ if $(arch) != arm && $(arch) != mips1
{
if $(model) = 32
{
--
1.7.9.5

View File

@ -1,40 +0,0 @@
From f825634a56b119dfa9d712119a66279cc7635978 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Sat, 2 May 2015 14:24:02 +0200
Subject: [PATCH 2/2] Don't pass -m32/-m64 where it's not supported.
Only PowerPC, SPARC, and x86 do support the -m32 and -m64 compiler options [1].
Rather then excluding all architectures not supporting these options as it is
done in commit c0634341d9ee2c02d3a55c91dafb988afc066c49 [2], include all
architectures that do support them.
This will fix building Boost for the SuperH architecture with Buildroot [3].
[1] https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html
[2] https://github.com/boostorg/build/commit/c0634341d9ee2c02d3a55c91dafb988afc066c49
[3] http://autobuild.buildroot.net/results/ccd/ccd5c83963032ba49b1627b1dff39e34a9486943/build-end.log
Upstream-Status: Backport
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
tools/build/src/tools/gcc.jam | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
index eff95ae..2f6af93 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
@@ -451,7 +451,7 @@ rule setup-address-model ( targets * : sources * : properties * )
else
{
local arch = [ feature.get-values architecture : $(properties) ] ;
- if $(arch) != arm && $(arch) != mips1
+ if $(arch) = power || $(arch) = sparc || $(arch) = x86
{
if $(model) = 32
{
--
1.7.9.5