1 |
commit: 75588ea638ff1269cc7c880027c0dd797e85cfd3 |
2 |
Author: David Seifert <soap <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Sep 3 21:53:25 2022 +0000 |
4 |
Commit: David Seifert <soap <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Sep 3 21:53:25 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75588ea6 |
7 |
|
8 |
dev-util/b2: new package, add 4.9.2 |
9 |
|
10 |
Signed-off-by: David Seifert <soap <AT> gentoo.org> |
11 |
|
12 |
dev-util/b2/Manifest | 1 + |
13 |
dev-util/b2/b2-4.9.2.ebuild | 64 +++++++++ |
14 |
.../files/b2-4.9.2-add-none-feature-options.patch | 22 +++ |
15 |
.../files/b2-4.9.2-darwin-gentoo-toolchain.patch | 16 +++ |
16 |
.../b2/files/b2-4.9.2-disable_python_rpath.patch | 11 ++ |
17 |
.../files/b2-4.9.2-no-implicit-march-flags.patch | 148 +++++++++++++++++++++ |
18 |
dev-util/b2/files/b2-4.9.2-odr.patch | 54 ++++++++ |
19 |
.../b2/files/b2-4.9.2-respect-user-flags.patch | 11 ++ |
20 |
dev-util/b2/files/site-config.jam | 11 ++ |
21 |
dev-util/b2/metadata.xml | 11 ++ |
22 |
10 files changed, 349 insertions(+) |
23 |
|
24 |
diff --git a/dev-util/b2/Manifest b/dev-util/b2/Manifest |
25 |
new file mode 100644 |
26 |
index 000000000000..1879967af9e4 |
27 |
--- /dev/null |
28 |
+++ b/dev-util/b2/Manifest |
29 |
@@ -0,0 +1 @@ |
30 |
+DIST b2-4.9.2.tar.gz 975882 BLAKE2B 83c2ef85c9f1ae20922541ca8c344316f1660ee069426e3a9907c0a19e1c94db470c67d0c29a1f31788eddb86ab414ab06b9713f8ea53d974d1d8f0ca29f4aa5 SHA512 eab180770608b863dcf6a5fbc626e1733cf4353cf62f4189bd28258a03591fdb7853f5dddb4d3dad60f1bb06db5415025b792a30c2c65f7b1278f61e33f903e3 |
31 |
|
32 |
diff --git a/dev-util/b2/b2-4.9.2.ebuild b/dev-util/b2/b2-4.9.2.ebuild |
33 |
new file mode 100644 |
34 |
index 000000000000..87941672b2d5 |
35 |
--- /dev/null |
36 |
+++ b/dev-util/b2/b2-4.9.2.ebuild |
37 |
@@ -0,0 +1,64 @@ |
38 |
+# Copyright 1999-2022 Gentoo Authors |
39 |
+# Distributed under the terms of the GNU General Public License v2 |
40 |
+ |
41 |
+EAPI=8 |
42 |
+ |
43 |
+inherit flag-o-matic toolchain-funcs |
44 |
+ |
45 |
+MY_PV="$(ver_rs 1- _)" |
46 |
+ |
47 |
+DESCRIPTION="A system for large project software construction, simple to use and powerful" |
48 |
+HOMEPAGE="https://www.bfgroup.xyz/b2/" |
49 |
+SRC_URI="https://github.com/bfgroup/b2/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" |
50 |
+S="${WORKDIR}/${P}/src" |
51 |
+ |
52 |
+LICENSE="Boost-1.0" |
53 |
+SLOT="0" |
54 |
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" |
55 |
+IUSE="examples" |
56 |
+RESTRICT="test" |
57 |
+ |
58 |
+RDEPEND="!dev-util/boost-build" |
59 |
+ |
60 |
+PATCHES=( |
61 |
+ "${FILESDIR}"/${PN}-4.9.2-disable_python_rpath.patch |
62 |
+ "${FILESDIR}"/${PN}-4.9.2-darwin-gentoo-toolchain.patch |
63 |
+ "${FILESDIR}"/${PN}-4.9.2-add-none-feature-options.patch |
64 |
+ "${FILESDIR}"/${PN}-4.9.2-respect-user-flags.patch |
65 |
+ "${FILESDIR}"/${PN}-4.9.2-no-implicit-march-flags.patch |
66 |
+ "${FILESDIR}"/${PN}-4.9.2-odr.patch |
67 |
+) |
68 |
+ |
69 |
+src_configure() { |
70 |
+ # need to enable LFS explicitly for 64-bit offsets on 32-bit hosts (#761100) |
71 |
+ append-lfs-flags |
72 |
+} |
73 |
+ |
74 |
+src_compile() { |
75 |
+ cd engine || die |
76 |
+ ${CONFIG_SHELL:-${BASH}} ./build.sh cxx --cxx="$(tc-getCXX)" --cxxflags="${CXXFLAGS}" -d+2 --without-python || die "building b2 failed" |
77 |
+} |
78 |
+ |
79 |
+src_test() { |
80 |
+ # Forget tests, b2 is a lost cause |
81 |
+ : |
82 |
+} |
83 |
+ |
84 |
+src_install() { |
85 |
+ dobin engine/b2 |
86 |
+ |
87 |
+ insinto /usr/share/b2/src |
88 |
+ doins -r "${FILESDIR}/site-config.jam" \ |
89 |
+ bootstrap.jam build-system.jam ../example/user-config.jam \ |
90 |
+ build kernel options tools util |
91 |
+ |
92 |
+ find "${ED}"/usr/share/b2/src -iname '*.py' -delete || die |
93 |
+ |
94 |
+ dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt |
95 |
+ |
96 |
+ if use examples; then |
97 |
+ docinto examples |
98 |
+ dodoc -r ../example/. |
99 |
+ docompress -x /usr/share/doc/${PF}/examples |
100 |
+ fi |
101 |
+} |
102 |
|
103 |
diff --git a/dev-util/b2/files/b2-4.9.2-add-none-feature-options.patch b/dev-util/b2/files/b2-4.9.2-add-none-feature-options.patch |
104 |
new file mode 100644 |
105 |
index 000000000000..620dea0af51b |
106 |
--- /dev/null |
107 |
+++ b/dev-util/b2/files/b2-4.9.2-add-none-feature-options.patch |
108 |
@@ -0,0 +1,22 @@ |
109 |
+--- a/tools/features/debug-feature.jam |
110 |
++++ b/tools/features/debug-feature.jam |
111 |
+@@ -18,7 +18,7 @@ common usage is to build release variant with debugging information. |
112 |
+ |# # end::doc[] |
113 |
+ |
114 |
+ feature.feature debug-symbols |
115 |
+- : on off |
116 |
++ : on off none |
117 |
+ : propagated ; |
118 |
+ |
119 |
+ #| tag::prof-doc[] |
120 |
+--- a/tools/features/optimization-feature.jam |
121 |
++++ b/tools/features/optimization-feature.jam |
122 |
+@@ -16,7 +16,7 @@ smaller binary. |
123 |
+ |# # end::doc[] |
124 |
+ |
125 |
+ feature.feature optimization |
126 |
+- : off speed space minimal debug |
127 |
++ : off none speed space minimal debug |
128 |
+ : propagated ; |
129 |
+ |
130 |
+ #| tag::inline-doc[] |
131 |
|
132 |
diff --git a/dev-util/b2/files/b2-4.9.2-darwin-gentoo-toolchain.patch b/dev-util/b2/files/b2-4.9.2-darwin-gentoo-toolchain.patch |
133 |
new file mode 100644 |
134 |
index 000000000000..8de98014dbdc |
135 |
--- /dev/null |
136 |
+++ b/dev-util/b2/files/b2-4.9.2-darwin-gentoo-toolchain.patch |
137 |
@@ -0,0 +1,16 @@ |
138 |
+Avoid adding all kinds of things to the toolchain's flags that within |
139 |
+Gentoo (Prefix) we really shouldn't, such as sysroot, deployment target, |
140 |
+arch, etc. |
141 |
+ |
142 |
+--- a/tools/darwin.jam |
143 |
++++ b/tools/darwin.jam |
144 |
+@@ -240,6 +240,9 @@ |
145 |
+ } |
146 |
+ } |
147 |
+ |
148 |
++ # leave compiler flags etc. up to the toolchain |
149 |
++ return $(version-feature) ; |
150 |
++ |
151 |
+ if $(version-feature) |
152 |
+ { |
153 |
+ if $(.debug-configuration) |
154 |
|
155 |
diff --git a/dev-util/b2/files/b2-4.9.2-disable_python_rpath.patch b/dev-util/b2/files/b2-4.9.2-disable_python_rpath.patch |
156 |
new file mode 100644 |
157 |
index 000000000000..b7b47cc93a47 |
158 |
--- /dev/null |
159 |
+++ b/dev-util/b2/files/b2-4.9.2-disable_python_rpath.patch |
160 |
@@ -0,0 +1,11 @@ |
161 |
+--- a/tools/python.jam |
162 |
++++ b/tools/python.jam |
163 |
+@@ -1000,7 +1000,7 @@ |
164 |
+ # linux). |
165 |
+ : $(usage-requirements) |
166 |
+ <testing.launcher>$(set-PYTHONPATH) |
167 |
+- <library-path>$(libraries) <dll-path>$(dll-path) <library>python.lib |
168 |
++ <library-path>$(libraries) <library>python.lib |
169 |
+ ; |
170 |
+ } |
171 |
+ |
172 |
|
173 |
diff --git a/dev-util/b2/files/b2-4.9.2-no-implicit-march-flags.patch b/dev-util/b2/files/b2-4.9.2-no-implicit-march-flags.patch |
174 |
new file mode 100644 |
175 |
index 000000000000..2845d6e52f84 |
176 |
--- /dev/null |
177 |
+++ b/dev-util/b2/files/b2-4.9.2-no-implicit-march-flags.patch |
178 |
@@ -0,0 +1,148 @@ |
179 |
+--- a/tools/gcc.jam |
180 |
++++ b/tools/gcc.jam |
181 |
+@@ -1131,145 +1131,11 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + : |
182 |
+ # x86 and compatible |
183 |
+ # The 'native' option appeared in gcc 4.2 so we cannot safely use it as default. |
184 |
+ # Use i686 instead for 32-bit. |
185 |
+-toolset.flags gcc OPTIONS <architecture>x86/<address-model>32/<instruction-set> : -march=i686 ; |
186 |
+-cpu-flags gcc OPTIONS : x86 : native : -march=native ; |
187 |
+-cpu-flags gcc OPTIONS : x86 : i486 : -march=i486 ; |
188 |
+-cpu-flags gcc OPTIONS : x86 : i586 : -march=i586 ; |
189 |
+-cpu-flags gcc OPTIONS : x86 : i686 : -march=i686 ; |
190 |
+-cpu-flags gcc OPTIONS : x86 : pentium : -march=pentium ; |
191 |
+-cpu-flags gcc OPTIONS : x86 : pentium-mmx : -march=pentium-mmx ; |
192 |
+-cpu-flags gcc OPTIONS : x86 : pentiumpro : -march=pentiumpro ; |
193 |
+-cpu-flags gcc OPTIONS : x86 : pentium2 : -march=pentium2 ; |
194 |
+-cpu-flags gcc OPTIONS : x86 : pentium3 : -march=pentium3 ; |
195 |
+-cpu-flags gcc OPTIONS : x86 : pentium3m : -march=pentium3m ; |
196 |
+-cpu-flags gcc OPTIONS : x86 : pentium-m : -march=pentium-m ; |
197 |
+-cpu-flags gcc OPTIONS : x86 : pentium4 : -march=pentium4 ; |
198 |
+-cpu-flags gcc OPTIONS : x86 : pentium4m : -march=pentium4m ; |
199 |
+-cpu-flags gcc OPTIONS : x86 : prescott : -march=prescott ; |
200 |
+-cpu-flags gcc OPTIONS : x86 : nocona : -march=nocona ; |
201 |
+-cpu-flags gcc OPTIONS : x86 : core2 : -march=core2 ; |
202 |
+-cpu-flags gcc OPTIONS : x86 : conroe : -march=core2 ; |
203 |
+-cpu-flags gcc OPTIONS : x86 : conroe-xe : -march=core2 ; |
204 |
+-cpu-flags gcc OPTIONS : x86 : conroe-l : -march=core2 ; |
205 |
+-cpu-flags gcc OPTIONS : x86 : allendale : -march=core2 ; |
206 |
+-cpu-flags gcc OPTIONS : x86 : wolfdale : -march=core2 -msse4.1 ; |
207 |
+-cpu-flags gcc OPTIONS : x86 : merom : -march=core2 ; |
208 |
+-cpu-flags gcc OPTIONS : x86 : merom-xe : -march=core2 ; |
209 |
+-cpu-flags gcc OPTIONS : x86 : kentsfield : -march=core2 ; |
210 |
+-cpu-flags gcc OPTIONS : x86 : kentsfield-xe : -march=core2 ; |
211 |
+-cpu-flags gcc OPTIONS : x86 : yorksfield : -march=core2 ; |
212 |
+-cpu-flags gcc OPTIONS : x86 : penryn : -march=core2 ; |
213 |
+-cpu-flags gcc OPTIONS : x86 : corei7 : -march=corei7 ; |
214 |
+-cpu-flags gcc OPTIONS : x86 : nehalem : -march=corei7 ; |
215 |
+-cpu-flags gcc OPTIONS : x86 : corei7-avx : -march=corei7-avx ; |
216 |
+-cpu-flags gcc OPTIONS : x86 : sandy-bridge : -march=corei7-avx ; |
217 |
+-cpu-flags gcc OPTIONS : x86 : core-avx-i : -march=core-avx-i ; |
218 |
+-cpu-flags gcc OPTIONS : x86 : ivy-bridge : -march=core-avx-i ; |
219 |
+-cpu-flags gcc OPTIONS : x86 : haswell : -march=core-avx-i -mavx2 -mfma -mbmi -mbmi2 -mlzcnt ; |
220 |
+-cpu-flags gcc OPTIONS : x86 : broadwell : -march=broadwell ; |
221 |
+-cpu-flags gcc OPTIONS : x86 : skylake : -march=skylake ; |
222 |
+-cpu-flags gcc OPTIONS : x86 : skylake-avx512 : -march=skylake-avx512 ; |
223 |
+-cpu-flags gcc OPTIONS : x86 : cannonlake : -march=skylake-avx512 -mavx512vbmi -mavx512ifma -msha ; |
224 |
+-cpu-flags gcc OPTIONS : x86 : icelake-client : -march=icelake-client ; |
225 |
+-cpu-flags gcc OPTIONS : x86 : icelake-server : -march=icelake-server ; |
226 |
+-cpu-flags gcc OPTIONS : x86 : cascadelake : -march=skylake-avx512 -mavx512vnni ; |
227 |
+-cpu-flags gcc OPTIONS : x86 : cooperlake : -march=cooperlake ; |
228 |
+-cpu-flags gcc OPTIONS : x86 : tigerlake : -march=tigerlake ; |
229 |
+-cpu-flags gcc OPTIONS : x86 : rocketlake : -march=rocketlake ; |
230 |
+-cpu-flags gcc OPTIONS : x86 : alderlake : -march=alderlake ; |
231 |
+-cpu-flags gcc OPTIONS : x86 : sapphirerapids : -march=sapphirerapids ; |
232 |
+-cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ; |
233 |
+-cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ; |
234 |
+-cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ; |
235 |
+-cpu-flags gcc OPTIONS : x86 : athlon : -march=athlon ; |
236 |
+-cpu-flags gcc OPTIONS : x86 : athlon-tbird : -march=athlon-tbird ; |
237 |
+-cpu-flags gcc OPTIONS : x86 : athlon-4 : -march=athlon-4 ; |
238 |
+-cpu-flags gcc OPTIONS : x86 : athlon-xp : -march=athlon-xp ; |
239 |
+-cpu-flags gcc OPTIONS : x86 : athlon-mp : -march=athlon-mp ; |
240 |
+ ## |
241 |
+-cpu-flags gcc OPTIONS : x86 : k8 : -march=k8 ; |
242 |
+-cpu-flags gcc OPTIONS : x86 : opteron : -march=opteron ; |
243 |
+-cpu-flags gcc OPTIONS : x86 : athlon64 : -march=athlon64 ; |
244 |
+-cpu-flags gcc OPTIONS : x86 : athlon-fx : -march=athlon-fx ; |
245 |
+-cpu-flags gcc OPTIONS : x86 : k8-sse3 : -march=k8-sse3 ; |
246 |
+-cpu-flags gcc OPTIONS : x86 : opteron-sse3 : -march=opteron-sse3 ; |
247 |
+-cpu-flags gcc OPTIONS : x86 : athlon64-sse3 : -march=athlon64-sse3 ; |
248 |
+-cpu-flags gcc OPTIONS : x86 : amdfam10 : -march=amdfam10 ; |
249 |
+-cpu-flags gcc OPTIONS : x86 : barcelona : -march=barcelona ; |
250 |
+-cpu-flags gcc OPTIONS : x86 : bdver1 : -march=bdver1 ; |
251 |
+-cpu-flags gcc OPTIONS : x86 : bdver2 : -march=bdver2 ; |
252 |
+-cpu-flags gcc OPTIONS : x86 : bdver3 : -march=bdver3 ; |
253 |
+-cpu-flags gcc OPTIONS : x86 : bdver4 : -march=bdver4 ; |
254 |
+-cpu-flags gcc OPTIONS : x86 : btver1 : -march=btver1 ; |
255 |
+-cpu-flags gcc OPTIONS : x86 : btver2 : -march=btver2 ; |
256 |
+-cpu-flags gcc OPTIONS : x86 : znver1 : -march=znver1 ; |
257 |
+-cpu-flags gcc OPTIONS : x86 : znver2 : -march=znver2 ; |
258 |
+-cpu-flags gcc OPTIONS : x86 : znver3 : -march=znver3 ; |
259 |
+-cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ; |
260 |
+-cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ; |
261 |
+-cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ; |
262 |
+-cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ; |
263 |
+-cpu-flags gcc OPTIONS : x86 : c7 : -march=c7 ; |
264 |
+ ## |
265 |
+-cpu-flags gcc OPTIONS : x86 : atom : -march=atom ; |
266 |
+ # Sparc |
267 |
+-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ; |
268 |
+-cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ; |
269 |
+-cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ; |
270 |
+-cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ; |
271 |
+-cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ; |
272 |
+-cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ; |
273 |
+-cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ; |
274 |
+-cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ; |
275 |
+-cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ; |
276 |
+-cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ; |
277 |
+-cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ; |
278 |
+-cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ; |
279 |
+-cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ; |
280 |
+-cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ; |
281 |
+ # RS/6000 & PowerPC |
282 |
+-cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ; |
283 |
+-cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ; |
284 |
+-cpu-flags gcc OPTIONS : power : 601 : -mcpu=601 ; |
285 |
+-cpu-flags gcc OPTIONS : power : 602 : -mcpu=602 ; |
286 |
+-cpu-flags gcc OPTIONS : power : 603 : -mcpu=603 ; |
287 |
+-cpu-flags gcc OPTIONS : power : 603e : -mcpu=603e ; |
288 |
+-cpu-flags gcc OPTIONS : power : 604 : -mcpu=604 ; |
289 |
+-cpu-flags gcc OPTIONS : power : 604e : -mcpu=604e ; |
290 |
+-cpu-flags gcc OPTIONS : power : 620 : -mcpu=620 ; |
291 |
+-cpu-flags gcc OPTIONS : power : 630 : -mcpu=630 ; |
292 |
+-cpu-flags gcc OPTIONS : power : 740 : -mcpu=740 ; |
293 |
+-cpu-flags gcc OPTIONS : power : 7400 : -mcpu=7400 ; |
294 |
+-cpu-flags gcc OPTIONS : power : 7450 : -mcpu=7450 ; |
295 |
+-cpu-flags gcc OPTIONS : power : 750 : -mcpu=750 ; |
296 |
+-cpu-flags gcc OPTIONS : power : 801 : -mcpu=801 ; |
297 |
+-cpu-flags gcc OPTIONS : power : 821 : -mcpu=821 ; |
298 |
+-cpu-flags gcc OPTIONS : power : 823 : -mcpu=823 ; |
299 |
+-cpu-flags gcc OPTIONS : power : 860 : -mcpu=860 ; |
300 |
+-cpu-flags gcc OPTIONS : power : 970 : -mcpu=970 ; |
301 |
+-cpu-flags gcc OPTIONS : power : 8540 : -mcpu=8540 ; |
302 |
+-cpu-flags gcc OPTIONS : power : power : -mcpu=power ; |
303 |
+-cpu-flags gcc OPTIONS : power : power2 : -mcpu=power2 ; |
304 |
+-cpu-flags gcc OPTIONS : power : power3 : -mcpu=power3 ; |
305 |
+-cpu-flags gcc OPTIONS : power : power4 : -mcpu=power4 ; |
306 |
+-cpu-flags gcc OPTIONS : power : power5 : -mcpu=power5 ; |
307 |
+-cpu-flags gcc OPTIONS : power : powerpc : -mcpu=powerpc ; |
308 |
+-cpu-flags gcc OPTIONS : power : powerpc64 : -mcpu=powerpc64 ; |
309 |
+-cpu-flags gcc OPTIONS : power : rios : -mcpu=rios ; |
310 |
+-cpu-flags gcc OPTIONS : power : rios1 : -mcpu=rios1 ; |
311 |
+-cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ; |
312 |
+-cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ; |
313 |
+-cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ; |
314 |
+-cpu-flags gcc OPTIONS : s390x : z196 : -march=z196 ; |
315 |
+-cpu-flags gcc OPTIONS : s390x : zEC12 : -march=zEC12 ; |
316 |
+-cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ; |
317 |
+-cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ; |
318 |
+-cpu-flags gcc OPTIONS : s390x : z15 : -march=z15 ; |
319 |
+ # ARM |
320 |
+-cpu-flags gcc OPTIONS : arm : cortex-a9+vfpv3 : -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard ; |
321 |
+-cpu-flags gcc OPTIONS : arm : cortex-a53 : -mcpu=cortex-a53 ; |
322 |
+-cpu-flags gcc OPTIONS : arm : cortex-r5 : -mcpu=cortex-r5 ; |
323 |
+-cpu-flags gcc OPTIONS : arm : cortex-r5+vfpv3-d16 : -mcpu=cortex-r5 -mfpu=vfpv3-d16 -mfloat-abi=hard ; |
324 |
+ # AIX variant of RS/6000 & PowerPC |
325 |
+ toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ; |
326 |
+ |
327 |
|
328 |
diff --git a/dev-util/b2/files/b2-4.9.2-odr.patch b/dev-util/b2/files/b2-4.9.2-odr.patch |
329 |
new file mode 100644 |
330 |
index 000000000000..62cbca189640 |
331 |
--- /dev/null |
332 |
+++ b/dev-util/b2/files/b2-4.9.2-odr.patch |
333 |
@@ -0,0 +1,54 @@ |
334 |
+Avoid ODR violations by giving "_stack" internal linkage |
335 |
+https://bugs.gentoo.org/858320 |
336 |
+ |
337 |
+--- a/engine/function.cpp |
338 |
++++ b/engine/function.cpp |
339 |
+@@ -213,11 +213,11 @@ |
340 |
+ } JAM_FUNCTION; |
341 |
+ |
342 |
+ |
343 |
++namespace |
344 |
++{ |
345 |
+ typedef struct _stack STACK; |
346 |
+ typedef STACK* stack_ptr; |
347 |
+ |
348 |
+-namespace |
349 |
+-{ |
350 |
+ template <typename T> |
351 |
+ using remove_cref_t |
352 |
+ = typename std::remove_const< |
353 |
+@@ -260,7 +260,6 @@ |
354 |
+ typename select_last_impl<(sizeof...(A) == 1), type_list<A...> > |
355 |
+ ::template type<A...>; |
356 |
+ #endif |
357 |
+-} |
358 |
+ |
359 |
+ struct _stack |
360 |
+ { |
361 |
+@@ -439,6 +438,8 @@ |
362 |
+ cleanups_size += n; |
363 |
+ } |
364 |
+ |
365 |
++} |
366 |
++ |
367 |
+ static STACK * stack_global() |
368 |
+ { |
369 |
+ static _stack singleton; |
370 |
+--- a/engine/make1.cpp |
371 |
++++ b/engine/make1.cpp |
372 |
+@@ -86,6 +86,7 @@ |
373 |
+ #define T_STATE_MAKE1B 1 /* make1b() should be called */ |
374 |
+ #define T_STATE_MAKE1C 2 /* make1c() should be called */ |
375 |
+ |
376 |
++namespace { |
377 |
+ typedef struct _state state; |
378 |
+ struct _state |
379 |
+ { |
380 |
+@@ -94,6 +95,7 @@ |
381 |
+ TARGET * parent; /* parent argument necessary for MAKE1A */ |
382 |
+ int32_t curstate; /* current state */ |
383 |
+ }; |
384 |
++} |
385 |
+ |
386 |
+ static void make1a( state * const ); |
387 |
+ static void make1b( state * const ); |
388 |
|
389 |
diff --git a/dev-util/b2/files/b2-4.9.2-respect-user-flags.patch b/dev-util/b2/files/b2-4.9.2-respect-user-flags.patch |
390 |
new file mode 100644 |
391 |
index 000000000000..b0de4f0e885f |
392 |
--- /dev/null |
393 |
+++ b/dev-util/b2/files/b2-4.9.2-respect-user-flags.patch |
394 |
@@ -0,0 +1,11 @@ |
395 |
+--- a/engine/build.sh |
396 |
++++ b/engine/build.sh |
397 |
+@@ -496,7 +496,7 @@ modules/set.cpp \ |
398 |
+ if test_true ${B2_DEBUG_OPT} ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}" |
399 |
+ else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG" |
400 |
+ fi |
401 |
+- ( B2_VERBOSE_OPT=${TRUE} echo_run ${B2_CXX} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2 ) |
402 |
++ ( B2_VERBOSE_OPT=${TRUE} echo_run ${B2_CXX} ${CPPFLAGS} ${B2_CXXFLAGS} ${LDFLAGS} ${B2_SOURCES} -o b2 ) |
403 |
+ } |
404 |
+ |
405 |
+ if test_true ${B2_VERBOSE_OPT} ; then |
406 |
|
407 |
diff --git a/dev-util/b2/files/site-config.jam b/dev-util/b2/files/site-config.jam |
408 |
new file mode 100644 |
409 |
index 000000000000..6afe52684ccc |
410 |
--- /dev/null |
411 |
+++ b/dev-util/b2/files/site-config.jam |
412 |
@@ -0,0 +1,11 @@ |
413 |
+# Copyright 1999-2012 Gentoo Foundation |
414 |
+# Distributed under the Boost Software License, Version 1.0. |
415 |
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) |
416 |
+ |
417 |
+# Define two new variants to be used when building boost (or separate boost-libs) |
418 |
+# on Gentoo. The two variants make use of Gentoo-specific optimization and debug-symbols |
419 |
+# values "none" which are not part of the official boost distribution. |
420 |
+# DO NOT RELY ON THE FOLLOWING VARIANTS TO BE PRESENT ON OTHER OS! |
421 |
+variant gentoorelease : release : <optimization>none <debug-symbols>none <runtime-link>shared ; |
422 |
+variant gentoodebug : debug : <optimization>none <debug-symbols>on <runtime-link>shared ; |
423 |
+ |
424 |
|
425 |
diff --git a/dev-util/b2/metadata.xml b/dev-util/b2/metadata.xml |
426 |
new file mode 100644 |
427 |
index 000000000000..97a8de7cc239 |
428 |
--- /dev/null |
429 |
+++ b/dev-util/b2/metadata.xml |
430 |
@@ -0,0 +1,11 @@ |
431 |
+<?xml version="1.0" encoding="UTF-8"?> |
432 |
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> |
433 |
+<pkgmetadata> |
434 |
+ <maintainer type="person"> |
435 |
+ <email>soap@g.o</email> |
436 |
+ <name>David Seifert</name> |
437 |
+ </maintainer> |
438 |
+ <upstream> |
439 |
+ <remote-id type="github">bfgroup/b2</remote-id> |
440 |
+ </upstream> |
441 |
+</pkgmetadata> |