summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/boost
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2017-04-20 11:20:24 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-05-12 08:51:09 +0100
commit2b070ef738a30f23963fed4bec3470557a5dc2a3 (patch)
treeec337a9929f71b509be018b7195d4d893c5c12dc /meta/recipes-support/boost
parent7ee0540f5cf55441a4af40fdbb625b6dc20fe44f (diff)
downloadpoky-2b070ef738a30f23963fed4bec3470557a5dc2a3.tar.gz
boost: Upgrade to 1.64.0
drop upstreamed patches (From OE-Core rev: 9ba71dc40dd782d192504b0827ca91f0fe180abe) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/boost')
-rw-r--r--meta/recipes-support/boost/bjam-native_1.64.0.bb (renamed from meta/recipes-support/boost/bjam-native_1.63.0.bb)0
-rw-r--r--meta/recipes-support/boost/boost-1.64.0.inc (renamed from meta/recipes-support/boost/boost-1.63.0.inc)7
-rw-r--r--meta/recipes-support/boost/boost/0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch29
-rw-r--r--meta/recipes-support/boost/boost/0004-Use-atomic-by-default-when-BOOST_NO_CXX11_HDR_ATOMIC.patch59
-rw-r--r--meta/recipes-support/boost/boost/py3.patch269
-rw-r--r--meta/recipes-support/boost/boost_1.64.0.bb (renamed from meta/recipes-support/boost/boost_1.63.0.bb)3
6 files changed, 2 insertions, 365 deletions
diff --git a/meta/recipes-support/boost/bjam-native_1.63.0.bb b/meta/recipes-support/boost/bjam-native_1.64.0.bb
index 46013f343b..46013f343b 100644
--- a/meta/recipes-support/boost/bjam-native_1.63.0.bb
+++ b/meta/recipes-support/boost/bjam-native_1.64.0.bb
diff --git a/meta/recipes-support/boost/boost-1.63.0.inc b/meta/recipes-support/boost/boost-1.64.0.inc
index b540a89920..dc7b1a9c01 100644
--- a/meta/recipes-support/boost/boost-1.63.0.inc
+++ b/meta/recipes-support/boost/boost-1.64.0.inc
@@ -12,13 +12,10 @@ BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}"
12BOOST_P = "boost_${BOOST_VER}" 12BOOST_P = "boost_${BOOST_VER}"
13 13
14SRC_URI = "${SOURCEFORGE_MIRROR}/project/boost/boost/${PV}/${BOOST_P}.tar.bz2" 14SRC_URI = "${SOURCEFORGE_MIRROR}/project/boost/boost/${PV}/${BOOST_P}.tar.bz2"
15 15SRC_URI[md5sum] = "93eecce2abed9d2442c9676914709349"
16SRC_URI[md5sum] = "1c837ecd990bb022d07e7aab32b09847" 16SRC_URI[sha256sum] = "7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332"
17SRC_URI[sha256sum] = "beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0"
18 17
19UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" 18UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/"
20UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/" 19UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/"
21 20
22PR = "r1"
23
24S = "${WORKDIR}/${BOOST_P}" 21S = "${WORKDIR}/${BOOST_P}"
diff --git a/meta/recipes-support/boost/boost/0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch b/meta/recipes-support/boost/boost/0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch
deleted file mode 100644
index bafd5ce001..0000000000
--- a/meta/recipes-support/boost/boost/0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 9ab0914207e6d0e6b75ce12147c54b96478feb64 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 21 Feb 2017 12:50:35 +0200
4Subject: [PATCH] When using soft-float, on ARM we should not expect the FE_*
5 symbols
6
7Upstream-Status: Pending
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
10---
11 boost/test/execution_monitor.hpp | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/boost/test/execution_monitor.hpp b/boost/test/execution_monitor.hpp
15index f53348a..86252d7 100644
16--- a/boost/test/execution_monitor.hpp
17+++ b/boost/test/execution_monitor.hpp
18@@ -498,7 +498,7 @@ enum masks {
19
20 BOOST_FPE_ALL = MCW_EM,
21
22-#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) /* *** */
23+#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) || defined(__ARM_PCS) /* *** */
24 BOOST_FPE_ALL = BOOST_FPE_OFF,
25
26 #else /* *** */
27--
282.11.0
29
diff --git a/meta/recipes-support/boost/boost/0004-Use-atomic-by-default-when-BOOST_NO_CXX11_HDR_ATOMIC.patch b/meta/recipes-support/boost/boost/0004-Use-atomic-by-default-when-BOOST_NO_CXX11_HDR_ATOMIC.patch
deleted file mode 100644
index ab7826ba26..0000000000
--- a/meta/recipes-support/boost/boost/0004-Use-atomic-by-default-when-BOOST_NO_CXX11_HDR_ATOMIC.patch
+++ /dev/null
@@ -1,59 +0,0 @@
1From c234cc557f60729e071d6da59747c1a9289555c5 Mon Sep 17 00:00:00 2001
2From: Peter Dimov <pdimov@pdimov.com>
3Date: Sun, 28 Aug 2016 21:28:21 +0300
4Subject: [PATCH 4/4] Use <atomic> by default when BOOST_NO_CXX11_HDR_ATOMIC is
5 not defined
6
7---
8Upstream-Status: Backport [https://github.com/boostorg/smart_ptr/commit/20fedcff2ca3143503ec4e876d47745ab0ec7b0c]
9Signed-off-by: André Draszik <git@andred.net>
10 boost/smart_ptr/detail/atomic_count.hpp | 3 +++
11 boost/smart_ptr/detail/sp_counted_base.hpp | 3 +++
12 boost/smart_ptr/detail/spinlock.hpp | 3 +++
13 3 files changed, 9 insertions(+)
14
15diff --git a/boost/smart_ptr/detail/atomic_count.hpp b/boost/smart_ptr/detail/atomic_count.hpp
16index 8aefd44..6e4f71a 100644
17--- a/boost/smart_ptr/detail/atomic_count.hpp
18+++ b/boost/smart_ptr/detail/atomic_count.hpp
19@@ -73,6 +73,9 @@
20 #elif defined( BOOST_DISABLE_THREADS ) && !defined( BOOST_SP_ENABLE_THREADS ) && !defined( BOOST_DISABLE_WIN32 )
21 # include <boost/smart_ptr/detail/atomic_count_nt.hpp>
22
23+#elif !defined( BOOST_NO_CXX11_HDR_ATOMIC )
24+# include <boost/smart_ptr/detail/atomic_count_std_atomic.hpp>
25+
26 #elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) ) && !defined( __PATHSCALE__ )
27 # include <boost/smart_ptr/detail/atomic_count_gcc_x86.hpp>
28
29diff --git a/boost/smart_ptr/detail/sp_counted_base.hpp b/boost/smart_ptr/detail/sp_counted_base.hpp
30index 0995ca8..83ede23 100644
31--- a/boost/smart_ptr/detail/sp_counted_base.hpp
32+++ b/boost/smart_ptr/detail/sp_counted_base.hpp
33@@ -44,6 +44,9 @@
34 #elif defined( BOOST_SP_HAS_CLANG_C11_ATOMICS )
35 # include <boost/smart_ptr/detail/sp_counted_base_clang.hpp>
36
37+#elif !defined( BOOST_NO_CXX11_HDR_ATOMIC )
38+# include <boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp>
39+
40 #elif defined( __SNC__ )
41 # include <boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp>
42
43diff --git a/boost/smart_ptr/detail/spinlock.hpp b/boost/smart_ptr/detail/spinlock.hpp
44index 19f93d7..0b618df 100644
45--- a/boost/smart_ptr/detail/spinlock.hpp
46+++ b/boost/smart_ptr/detail/spinlock.hpp
47@@ -43,6 +43,9 @@
48 #elif defined( BOOST_SP_USE_PTHREADS )
49 # include <boost/smart_ptr/detail/spinlock_pt.hpp>
50
51+#elif !defined( BOOST_NO_CXX11_HDR_ATOMIC )
52+# include <boost/smart_ptr/detail/spinlock_std_atomic.hpp>
53+
54 #elif defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
55 # include <boost/smart_ptr/detail/spinlock_gcc_arm.hpp>
56
57--
582.9.3
59
diff --git a/meta/recipes-support/boost/boost/py3.patch b/meta/recipes-support/boost/boost/py3.patch
deleted file mode 100644
index 2b1ff1865e..0000000000
--- a/meta/recipes-support/boost/boost/py3.patch
+++ /dev/null
@@ -1,269 +0,0 @@
1Backport fixes from upstream (as of boost super-module commit 0d52b9) to improve
2the building of the Boost Python module with Python 3.
3
4Upstream-Status: Backport
5Signed-off-by: Ross Burton <ross.burton@intel.com>
6
7diff --git a/build/Jamfile b/build/Jamfile
8index 313fdab..f14dc11 100644
9--- a/libs/python/build/Jamfile
10+++ b/libs/python/build/Jamfile
11@@ -6,6 +6,7 @@ import os ;
12 import indirect ;
13 import modules ;
14 import feature ;
15+import property ;
16
17 import python ;
18
19@@ -30,21 +31,8 @@ else
20 ;
21 }
22
23-rule find-py3-version
24-{
25- local versions = [ feature.values python ] ;
26- local py3ver ;
27- for local v in $(versions)
28- {
29- if $(v) >= 3.0
30- {
31- py3ver = $(v) ;
32- }
33- }
34- return $(py3ver) ;
35-}
36-
37-py3-version = [ find-py3-version ] ;
38+py2-version = [ py-version 2 ] ;
39+py3-version = [ py-version 3 ] ;
40
41 project boost/python
42 : source-location ../src
43@@ -52,11 +40,17 @@ project boost/python
44
45 rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
46 rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
47+local rule eq ( a : b ) { if $(a) = $(b) { return 1 ; } }
48
49-rule lib_boost_python ( is-py3 ? )
50-{
51+lib_boost_python(2) = boost_python ;
52+lib_boost_python(3) = boost_python3 ;
53
54- lib [ cond $(is-py3) : boost_python3 : boost_python ]
55+lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ;
56+lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ;
57+
58+rule lib_boost_python ( version )
59+{
60+ lib $(lib_boost_python($(version)))
61 : # sources
62 numeric.cpp
63 list.cpp
64@@ -112,11 +106,13 @@ rule lib_boost_python ( is-py3 ? )
65 <dependency>config-warning
66
67 <python-debugging>on:<define>BOOST_DEBUG_PYTHON
68- [ cond $(is-py3) : <python>$(py3-version) ]
69+ <python>$(version)
70
71 -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
72 <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
73
74+ <conditional>@python.require-py
75+
76 : # default build
77 <link>shared
78 : # usage requirements
79@@ -125,51 +121,68 @@ rule lib_boost_python ( is-py3 ? )
80 ;
81 }
82
83-rule lib_boost_numpy ( is-py3 ? )
84+lib_boost_numpy(2) = boost_numpy ;
85+lib_boost_numpy(3) = boost_numpy3 ;
86+
87+lib_boost_numpy($(py2-version)) = $(lib_boost_python(2)) ;
88+lib_boost_numpy($(py3-version)) = $(lib_boost_python(3)) ;
89+
90+rule lib_boost_numpy ( version )
91 {
92 numpy-include = [ python.numpy-include ] ;
93- lib [ cond $(is-py3) : boost_numpy3 : boost_numpy ]
94+ lib $(lib_boost_numpy($(version)))
95 : # sources
96 numpy/dtype.cpp
97 numpy/matrix.cpp
98 numpy/ndarray.cpp
99- numpy/numpy.cpp
100- numpy/scalars.cpp
101- numpy/ufunc.cpp
102+ numpy/numpy.cpp
103+ numpy/scalars.cpp
104+ numpy/ufunc.cpp
105 : # requirements
106+ <link>static:<define>BOOST_NUMPY_STATIC_LIB
107+ <define>BOOST_NUMPY_SOURCE
108 [ cond [ python.numpy ] : <library>/python//python_for_extensions ]
109 [ unless [ python.numpy ] : <build>no ]
110- <include>$(numpy-include)
111- <library>boost_python
112+ <include>$(numpy-include)
113+ <library>$(lib_boost_python($(version)))
114 <python-debugging>on:<define>BOOST_DEBUG_PYTHON
115- [ cond $(is-py3) : <python>$(py3-version) ]
116+ <python>$(version)
117
118 -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
119 <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
120
121+ <conditional>@python.require-py
122+
123 : # default build
124 <link>shared
125 : # usage requirements
126+ <link>static:<define>BOOST_NUMPY_STATIC_LIB
127 <python-debugging>on:<define>BOOST_DEBUG_PYTHON
128 ;
129 }
130
131-libraries = boost_python ;
132-libraries3 = boost_python3 ;
133-if [ python.numpy ]
134-{
135- libraries += boost_numpy ;
136- libraries3 += boost_numpy3 ;
137-}
138-
139-lib_boost_python ;
140-lib_boost_numpy ;
141+libraries = ;
142
143-if $(py3-version)
144+for local N in 2 3
145 {
146- lib_boost_python yes ;
147- lib_boost_numpy yes ;
148- libraries += $(libraries3) ;
149+ if $(py$(N)-version)
150+ {
151+ lib_boost_python $(py$(N)-version) ;
152+ libraries += $(lib_boost_python($(py$(N)-version))) ;
153+ }
154+ else
155+ {
156+ alias $(lib_boost_python($(N))) ;
157+ }
158+ if $(py$(N)-version) && [ python.numpy ]
159+ {
160+ lib_boost_numpy $(py$(N)-version) ;
161+ libraries += $(lib_boost_numpy($(py$(N)-version))) ;
162+ }
163+ else
164+ {
165+ alias $(lib_boost_numpy($(N))) ;
166+ }
167 }
168
169 boost-install $(libraries) ;
170diff --git a/src/tools/python.jam b/src/tools/python.jam
171index cc13385..bf300b8 100644
172--- a/tools/build/src/tools/python.jam
173+++ b/tools/build/src/tools/python.jam
174@@ -34,6 +34,7 @@ import path ;
175 import feature ;
176 import set ;
177 import builtin ;
178+import property-set ;
179
180
181 # Make this module a project.
182@@ -60,6 +61,10 @@ lib rt ;
183 # installed in the development system's default paths.
184 feature.feature pythonpath : : free optional path ;
185
186+# The best configured version of Python 2 and 3.
187+py2-version = ;
188+py3-version = ;
189+
190 # Initializes the Python toolset. Note that all parameters are optional.
191 #
192 # - version -- the version of Python to use. Should be in Major.Minor format,
193@@ -861,6 +866,11 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
194 if ! $(version) in [ feature.values python ]
195 {
196 feature.extend python : $(version) ;
197+ py$(major-minor[1])-version ?= $(version) ;
198+ if $(py$(major-minor[1])-version) < $(version)
199+ {
200+ py$(major-minor[1])-version = $(version) ;
201+ }
202 }
203 target-requirements += <python>$(version:E=default) ;
204 }
205@@ -916,6 +926,9 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
206 }
207 }
208
209+ # In case we added duplicate requirements from what the user specified.
210+ target-requirements = [ sequence.unique $(target-requirements) ] ;
211+
212 # Global, but conditional, requirements to give access to the interpreter
213 # for general utilities, like other toolsets, that run Python scripts.
214 toolset.add-requirements
215@@ -934,19 +947,6 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
216 toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
217 }
218
219- # We also set a default requirement that assigns the first python configured
220- # for a particular target OS as the default. This makes it so that we can
221- # select a python interpreter with only knowledge of the target OS. And hence
222- # can configure different Pythons based on the target OS only.
223- local toolset-requirements = [ toolset.requirements ] ;
224- local toolset-target-os-requirements
225- = [ property.evaluate-conditionals-in-context
226- [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ;
227- if ! <python> in $(toolset-target-os-requirements:G)
228- {
229- toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ;
230- }
231-
232 # Register the right suffix for extensions.
233 register-extension-suffix $(extension-suffix) : $(target-requirements) ;
234
235@@ -1038,6 +1038,22 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
236 : $(usage-requirements)
237 ;
238 }
239+
240+}
241+
242+# Conditional rule specification that will prevent building of a target
243+# if there is no matching python configuration available with the given
244+# required properties.
245+rule require-py ( properties * )
246+{
247+ local py-ext-target = [ $(.project).find python_for_extensions ] ;
248+ local property-set = [ property-set.create $(properties) ] ;
249+ property-set = [ $(property-set).expand ] ;
250+ local py-ext-alternative = [ $(py-ext-target).select-alternatives $(property-set) ] ;
251+ if ! $(py-ext-alternative)
252+ {
253+ return <build>no ;
254+ }
255 }
256
257
258@@ -1298,5 +1314,11 @@ rule numpy-test ( name : sources * : requirements * )
259 : $(name) ] ;
260 }
261
262+rule py-version ( n )
263+{
264+ return $(py$(n)-version) ;
265+}
266+
267 IMPORT $(__name__) : bpl-test : : bpl-test ;
268 IMPORT $(__name__) : numpy-test : : numpy-test ;
269+IMPORT $(__name__) : py-version : : py-version ;
diff --git a/meta/recipes-support/boost/boost_1.63.0.bb b/meta/recipes-support/boost/boost_1.64.0.bb
index 1107686bca..119eb0af45 100644
--- a/meta/recipes-support/boost/boost_1.63.0.bb
+++ b/meta/recipes-support/boost/boost_1.64.0.bb
@@ -3,13 +3,10 @@ require boost.inc
3 3
4SRC_URI += "\ 4SRC_URI += "\
5 file://arm-intrinsics.patch \ 5 file://arm-intrinsics.patch \
6 file://0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch \
7 file://boost-CVE-2012-2677.patch \ 6 file://boost-CVE-2012-2677.patch \
8 file://0001-boost-asio-detail-socket_types.hpp-fix-poll.h-includ.patch \ 7 file://0001-boost-asio-detail-socket_types.hpp-fix-poll.h-includ.patch \
9 file://0004-Use-atomic-by-default-when-BOOST_NO_CXX11_HDR_ATOMIC.patch \
10 file://boost-math-disable-pch-for-gcc.patch \ 8 file://boost-math-disable-pch-for-gcc.patch \
11 file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \ 9 file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \
12 file://0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ 10 file://0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
13 file://0002-Don-t-set-up-m32-m64-we-do-that-ourselves.patch \ 11 file://0002-Don-t-set-up-m32-m64-we-do-that-ourselves.patch \
14 file://py3.patch \
15" 12"