Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/boost-build/files/, dev-util/boost-build/
Date: Sat, 15 Aug 2020 23:19:24
Message-Id: 1597533543.5f5f811457168d6072bb301086e16cbfbaea7419.soap@gentoo
1 commit: 5f5f811457168d6072bb301086e16cbfbaea7419
2 Author: Mark Wright <gienah <AT> gentoo <DOT> org>
3 AuthorDate: Sat Aug 15 12:54:08 2020 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Sat Aug 15 23:19:03 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f5f8114
7
8 dev-util/boost-build: Bump to 1.74.0
9
10 Package-Manager: Portage-3.0.2, Repoman-2.3.23
11 Signed-off-by: Mark Wright <gienah <AT> gentoo.org>
12 Signed-off-by: David Seifert <soap <AT> gentoo.org>
13
14 dev-util/boost-build/Manifest | 1 +
15 dev-util/boost-build/boost-build-1.74.0.ebuild | 74 ++++++
16 ...oost-build-1.74.0-no-implicit-march-flags.patch | 279 +++++++++++++++++++++
17 3 files changed, 354 insertions(+)
18
19 diff --git a/dev-util/boost-build/Manifest b/dev-util/boost-build/Manifest
20 index 464a9d9c3eb..811974e5ba9 100644
21 --- a/dev-util/boost-build/Manifest
22 +++ b/dev-util/boost-build/Manifest
23 @@ -1,2 +1,3 @@
24 DIST boost_1_72_0.tar.bz2 106907358 BLAKE2B ab270a0e3cb24da687d86785e2d2e6d7731b4dbc07bd839eadb642dfa5a428ad584acb1f3529661a8de9a986008ff3427491041059ea2b742348d02e00761cd8 SHA512 63bbd1743e7c904b2e69fdc2eafd1c2a8a30fd70d960dcd366059d0100f000cb605d56cbd9397bb18421631f1c9552a772c434d0f0caddbe56302273f51fd1f6
25 DIST boost_1_73_0.tar.bz2 109247910 BLAKE2B 5995ff6ca21f45988b187b94bf743795cca97531baa8355f488be0987b9426289dd85d6ce25b7eb03ccd690109f05ba56252a95bca50505ad9cd66f4e0e234e8 SHA512 86c296511c0766145097625a62bf099c3d155284d250ad6e528e788bc90b2945838498dfe473c6c6c78d1694b6fba8e19f7dee0d064a043841e6231603fff668
26 +DIST boost_1_74_0.tar.bz2 109600630 BLAKE2B 2982f64fccf6fdb3b4b74452e603f459242d7abb42df4162278d9b558b637786a2eb97442126967b19088d591777c64ced8f60a23e71eaa0b7545e80f800de63 SHA512 4ec9c1164ec9b95ce46ba1c073e586c94b3882dce5b7347ea14bbef0c1da230e12aa5328a501ce38cae1b1d7623daa3246325625899179b4cc309242540982a4
27
28 diff --git a/dev-util/boost-build/boost-build-1.74.0.ebuild b/dev-util/boost-build/boost-build-1.74.0.ebuild
29 new file mode 100644
30 index 00000000000..40e1b4993f7
31 --- /dev/null
32 +++ b/dev-util/boost-build/boost-build-1.74.0.ebuild
33 @@ -0,0 +1,74 @@
34 +# Copyright 1999-2020 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=7
38 +
39 +inherit flag-o-matic prefix toolchain-funcs
40 +
41 +MY_PV="$(ver_rs 1- _)"
42 +
43 +DESCRIPTION="A system for large project software construction, simple to use and powerful"
44 +HOMEPAGE="https://boostorg.github.io/build/"
45 +SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar.bz2"
46 +
47 +LICENSE="Boost-1.0"
48 +SLOT="0"
49 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
50 +IUSE="examples"
51 +RESTRICT="test"
52 +
53 +S="${WORKDIR}/boost_${MY_PV}/tools/build/src"
54 +
55 +PATCHES=(
56 + "${FILESDIR}"/${PN}-1.71.0-disable_python_rpath.patch
57 + "${FILESDIR}"/${PN}-1.71.0-darwin-gentoo-toolchain.patch
58 + "${FILESDIR}"/${PN}-1.73.0-add-none-feature-options.patch
59 + "${FILESDIR}"/${PN}-1.71.0-respect-c_ld-flags.patch
60 + "${FILESDIR}"/${PN}-1.74.0-no-implicit-march-flags.patch
61 +)
62 +
63 +src_unpack() {
64 + tar xojf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build || die "unpacking tar failed"
65 +}
66 +
67 +src_prepare() {
68 + default
69 +
70 + pushd .. >/dev/null || die
71 + eapply "${FILESDIR}"/${PN}-1.71.0-fix-test.patch
72 + popd >/dev/null || die
73 +}
74 +
75 +src_configure() {
76 + hprefixify engine/Jambase
77 + tc-export CXX
78 +}
79 +
80 +src_compile() {
81 + cd engine || die
82 + ./build.sh cxx -d+2 --without-python || die "building bjam failed"
83 +}
84 +
85 +src_test() {
86 + # Forget tests, bjam is a lost cause
87 + :
88 +}
89 +
90 +src_install() {
91 + dobin engine/{bjam,b2}
92 +
93 + insinto /usr/share/boost-build
94 + doins -r "${FILESDIR}/site-config.jam" \
95 + ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \
96 + build kernel options tools util
97 +
98 + find "${ED}"/usr/share/boost-build -iname '*.py' -delete || die
99 +
100 + dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt
101 +
102 + if use examples; then
103 + docinto examples
104 + dodoc -r ../example/.
105 + docompress -x /usr/share/doc/${PF}/examples
106 + fi
107 +}
108
109 diff --git a/dev-util/boost-build/files/boost-build-1.74.0-no-implicit-march-flags.patch b/dev-util/boost-build/files/boost-build-1.74.0-no-implicit-march-flags.patch
110 new file mode 100644
111 index 00000000000..894af8f62c2
112 --- /dev/null
113 +++ b/dev-util/boost-build/files/boost-build-1.74.0-no-implicit-march-flags.patch
114 @@ -0,0 +1,279 @@
115 +--- a/tools/gcc.jam
116 ++++ b/tools/gcc.jam
117 +@@ -1224,135 +1224,9 @@
118 + # x86 and compatible
119 + # The 'native' option appeared in gcc 4.2 so we cannot safely use it as default.
120 + # Use i686 instead for 32-bit.
121 +-toolset.flags gcc OPTIONS <architecture>x86/<address-model>32/<instruction-set> : -march=i686 ;
122 +-cpu-flags gcc OPTIONS : x86 : native : -march=native ;
123 +-cpu-flags gcc OPTIONS : x86 : i486 : -march=i486 ;
124 +-cpu-flags gcc OPTIONS : x86 : i586 : -march=i586 ;
125 +-cpu-flags gcc OPTIONS : x86 : i686 : -march=i686 ;
126 +-cpu-flags gcc OPTIONS : x86 : pentium : -march=pentium ;
127 +-cpu-flags gcc OPTIONS : x86 : pentium-mmx : -march=pentium-mmx ;
128 +-cpu-flags gcc OPTIONS : x86 : pentiumpro : -march=pentiumpro ;
129 +-cpu-flags gcc OPTIONS : x86 : pentium2 : -march=pentium2 ;
130 +-cpu-flags gcc OPTIONS : x86 : pentium3 : -march=pentium3 ;
131 +-cpu-flags gcc OPTIONS : x86 : pentium3m : -march=pentium3m ;
132 +-cpu-flags gcc OPTIONS : x86 : pentium-m : -march=pentium-m ;
133 +-cpu-flags gcc OPTIONS : x86 : pentium4 : -march=pentium4 ;
134 +-cpu-flags gcc OPTIONS : x86 : pentium4m : -march=pentium4m ;
135 +-cpu-flags gcc OPTIONS : x86 : prescott : -march=prescott ;
136 +-cpu-flags gcc OPTIONS : x86 : nocona : -march=nocona ;
137 +-cpu-flags gcc OPTIONS : x86 : core2 : -march=core2 ;
138 +-cpu-flags gcc OPTIONS : x86 : conroe : -march=core2 ;
139 +-cpu-flags gcc OPTIONS : x86 : conroe-xe : -march=core2 ;
140 +-cpu-flags gcc OPTIONS : x86 : conroe-l : -march=core2 ;
141 +-cpu-flags gcc OPTIONS : x86 : allendale : -march=core2 ;
142 +-cpu-flags gcc OPTIONS : x86 : wolfdale : -march=core2 -msse4.1 ;
143 +-cpu-flags gcc OPTIONS : x86 : merom : -march=core2 ;
144 +-cpu-flags gcc OPTIONS : x86 : merom-xe : -march=core2 ;
145 +-cpu-flags gcc OPTIONS : x86 : kentsfield : -march=core2 ;
146 +-cpu-flags gcc OPTIONS : x86 : kentsfield-xe : -march=core2 ;
147 +-cpu-flags gcc OPTIONS : x86 : yorksfield : -march=core2 ;
148 +-cpu-flags gcc OPTIONS : x86 : penryn : -march=core2 ;
149 +-cpu-flags gcc OPTIONS : x86 : corei7 : -march=corei7 ;
150 +-cpu-flags gcc OPTIONS : x86 : nehalem : -march=corei7 ;
151 +-cpu-flags gcc OPTIONS : x86 : corei7-avx : -march=corei7-avx ;
152 +-cpu-flags gcc OPTIONS : x86 : sandy-bridge : -march=corei7-avx ;
153 +-cpu-flags gcc OPTIONS : x86 : core-avx-i : -march=core-avx-i ;
154 +-cpu-flags gcc OPTIONS : x86 : ivy-bridge : -march=core-avx-i ;
155 +-cpu-flags gcc OPTIONS : x86 : haswell : -march=core-avx-i -mavx2 -mfma -mbmi -mbmi2 -mlzcnt ;
156 +-cpu-flags gcc OPTIONS : x86 : broadwell : -march=broadwell ;
157 +-cpu-flags gcc OPTIONS : x86 : skylake : -march=skylake ;
158 +-cpu-flags gcc OPTIONS : x86 : skylake-avx512 : -march=skylake-avx512 ;
159 +-cpu-flags gcc OPTIONS : x86 : cannonlake : -march=skylake-avx512 -mavx512vbmi -mavx512ifma -msha ;
160 +-cpu-flags gcc OPTIONS : x86 : icelake-client : -march=icelake-client ;
161 +-cpu-flags gcc OPTIONS : x86 : icelake-server : -march=icelake-server ;
162 +-cpu-flags gcc OPTIONS : x86 : cascadelake : -march=skylake-avx512 -mavx512vnni ;
163 +-cpu-flags gcc OPTIONS : x86 : cooperlake : -march=cooperlake ;
164 +-cpu-flags gcc OPTIONS : x86 : tigerlake : -march=tigerlake ;
165 +-cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ;
166 +-cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ;
167 +-cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ;
168 +-cpu-flags gcc OPTIONS : x86 : athlon : -march=athlon ;
169 +-cpu-flags gcc OPTIONS : x86 : athlon-tbird : -march=athlon-tbird ;
170 +-cpu-flags gcc OPTIONS : x86 : athlon-4 : -march=athlon-4 ;
171 +-cpu-flags gcc OPTIONS : x86 : athlon-xp : -march=athlon-xp ;
172 +-cpu-flags gcc OPTIONS : x86 : athlon-mp : -march=athlon-mp ;
173 + ##
174 +-cpu-flags gcc OPTIONS : x86 : k8 : -march=k8 ;
175 +-cpu-flags gcc OPTIONS : x86 : opteron : -march=opteron ;
176 +-cpu-flags gcc OPTIONS : x86 : athlon64 : -march=athlon64 ;
177 +-cpu-flags gcc OPTIONS : x86 : athlon-fx : -march=athlon-fx ;
178 +-cpu-flags gcc OPTIONS : x86 : k8-sse3 : -march=k8-sse3 ;
179 +-cpu-flags gcc OPTIONS : x86 : opteron-sse3 : -march=opteron-sse3 ;
180 +-cpu-flags gcc OPTIONS : x86 : athlon64-sse3 : -march=athlon64-sse3 ;
181 +-cpu-flags gcc OPTIONS : x86 : amdfam10 : -march=amdfam10 ;
182 +-cpu-flags gcc OPTIONS : x86 : barcelona : -march=barcelona ;
183 +-cpu-flags gcc OPTIONS : x86 : bdver1 : -march=bdver1 ;
184 +-cpu-flags gcc OPTIONS : x86 : bdver2 : -march=bdver2 ;
185 +-cpu-flags gcc OPTIONS : x86 : bdver3 : -march=bdver3 ;
186 +-cpu-flags gcc OPTIONS : x86 : bdver4 : -march=bdver4 ;
187 +-cpu-flags gcc OPTIONS : x86 : btver1 : -march=btver1 ;
188 +-cpu-flags gcc OPTIONS : x86 : btver2 : -march=btver2 ;
189 +-cpu-flags gcc OPTIONS : x86 : znver1 : -march=znver1 ;
190 +-cpu-flags gcc OPTIONS : x86 : znver2 : -march=znver2 ;
191 +-cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ;
192 +-cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ;
193 +-cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ;
194 +-cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ;
195 +-cpu-flags gcc OPTIONS : x86 : c7 : -march=c7 ;
196 + ##
197 +-cpu-flags gcc OPTIONS : x86 : atom : -march=atom ;
198 + # Sparc
199 +-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ;
200 +-cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ;
201 +-cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ;
202 +-cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ;
203 +-cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ;
204 +-cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ;
205 +-cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ;
206 +-cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ;
207 +-cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ;
208 +-cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ;
209 +-cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ;
210 +-cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ;
211 +-cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ;
212 +-cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ;
213 + # RS/6000 & PowerPC
214 +-cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ;
215 +-cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ;
216 +-cpu-flags gcc OPTIONS : power : 601 : -mcpu=601 ;
217 +-cpu-flags gcc OPTIONS : power : 602 : -mcpu=602 ;
218 +-cpu-flags gcc OPTIONS : power : 603 : -mcpu=603 ;
219 +-cpu-flags gcc OPTIONS : power : 603e : -mcpu=603e ;
220 +-cpu-flags gcc OPTIONS : power : 604 : -mcpu=604 ;
221 +-cpu-flags gcc OPTIONS : power : 604e : -mcpu=604e ;
222 +-cpu-flags gcc OPTIONS : power : 620 : -mcpu=620 ;
223 +-cpu-flags gcc OPTIONS : power : 630 : -mcpu=630 ;
224 +-cpu-flags gcc OPTIONS : power : 740 : -mcpu=740 ;
225 +-cpu-flags gcc OPTIONS : power : 7400 : -mcpu=7400 ;
226 +-cpu-flags gcc OPTIONS : power : 7450 : -mcpu=7450 ;
227 +-cpu-flags gcc OPTIONS : power : 750 : -mcpu=750 ;
228 +-cpu-flags gcc OPTIONS : power : 801 : -mcpu=801 ;
229 +-cpu-flags gcc OPTIONS : power : 821 : -mcpu=821 ;
230 +-cpu-flags gcc OPTIONS : power : 823 : -mcpu=823 ;
231 +-cpu-flags gcc OPTIONS : power : 860 : -mcpu=860 ;
232 +-cpu-flags gcc OPTIONS : power : 970 : -mcpu=970 ;
233 +-cpu-flags gcc OPTIONS : power : 8540 : -mcpu=8540 ;
234 +-cpu-flags gcc OPTIONS : power : power : -mcpu=power ;
235 +-cpu-flags gcc OPTIONS : power : power2 : -mcpu=power2 ;
236 +-cpu-flags gcc OPTIONS : power : power3 : -mcpu=power3 ;
237 +-cpu-flags gcc OPTIONS : power : power4 : -mcpu=power4 ;
238 +-cpu-flags gcc OPTIONS : power : power5 : -mcpu=power5 ;
239 +-cpu-flags gcc OPTIONS : power : powerpc : -mcpu=powerpc ;
240 +-cpu-flags gcc OPTIONS : power : powerpc64 : -mcpu=powerpc64 ;
241 +-cpu-flags gcc OPTIONS : power : rios : -mcpu=rios ;
242 +-cpu-flags gcc OPTIONS : power : rios1 : -mcpu=rios1 ;
243 +-cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ;
244 +-cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ;
245 +-cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ;
246 +-cpu-flags gcc OPTIONS : s390x : z196 : -march=z196 ;
247 +-cpu-flags gcc OPTIONS : s390x : zEC12 : -march=zEC12 ;
248 +-cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ;
249 +-cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ;
250 +-cpu-flags gcc OPTIONS : s390x : z15 : -march=z15 ;
251 + # AIX variant of RS/6000 & PowerPC
252 + toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ;
253 +--- a/tools/gcc.py
254 ++++ b/tools/gcc.py
255 +@@ -745,138 +745,14 @@
256 + # x86 and compatible
257 + flags('gcc', 'OPTIONS', ['<architecture>x86/<address-model>32'], ['-m32'])
258 + flags('gcc', 'OPTIONS', ['<architecture>x86/<address-model>64'], ['-m64'])
259 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'native', ['-march=native'])
260 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'i486', ['-march=i486'])
261 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'i586', ['-march=i586'])
262 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'i686', ['-march=i686'], default=True)
263 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium', ['-march=pentium'])
264 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium-mmx', ['-march=pentium-mmx'])
265 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentiumpro', ['-march=pentiumpro'])
266 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium2', ['-march=pentium2'])
267 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium3', ['-march=pentium3'])
268 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium3m', ['-march=pentium3m'])
269 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium-m', ['-march=pentium-m'])
270 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium4', ['-march=pentium4'])
271 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium4m', ['-march=pentium4m'])
272 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'prescott', ['-march=prescott'])
273 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'nocona', ['-march=nocona'])
274 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'core2', ['-march=core2'])
275 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'conroe', ['-march=core2'])
276 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'conroe-xe', ['-march=core2'])
277 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'conroe-l', ['-march=core2'])
278 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'allendale', ['-march=core2'])
279 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'wolfdale', ['-march=core2', '-msse4.1'])
280 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'merom', ['-march=core2'])
281 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'merom-xe', ['-march=core2'])
282 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'kentsfield', ['-march=core2'])
283 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'kentsfield-xe', ['-march=core2'])
284 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'yorksfield', ['-march=core2'])
285 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'penryn', ['-march=core2'])
286 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'corei7', ['-march=corei7'])
287 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'nehalem', ['-march=corei7'])
288 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'corei7-avx', ['-march=corei7-avx'])
289 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'sandy-bridge', ['-march=corei7-avx'])
290 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'core-avx-i', ['-march=core-avx-i'])
291 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'ivy-bridge', ['-march=core-avx-i'])
292 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'haswell', ['-march=core-avx-i', '-mavx2', '-mfma', '-mbmi', '-mbmi2', '-mlzcnt'])
293 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'broadwell', ['-march=broadwell'])
294 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'skylake', ['-march=skylake'])
295 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'skylake-avx512', ['-march=skylake-avx512'])
296 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'cannonlake', ['-march=skylake-avx512', '-mavx512vbmi', '-mavx512ifma', '-msha'])
297 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'icelake-client', ['-march=icelake-client'])
298 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'icelake-server', ['-march=icelake-server'])
299 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'cascadelake', ['-march=skylake-avx512', '-mavx512vnni'])
300 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'cooperlake', ['-march=cooperlake'])
301 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'tigerlake', ['-march=tigerlake'])
302 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6', ['-march=k6'])
303 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6-2', ['-march=k6-2'])
304 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6-3', ['-march=k6-3'])
305 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon', ['-march=athlon'])
306 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-tbird', ['-march=athlon-tbird'])
307 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-4', ['-march=athlon-4'])
308 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-xp', ['-march=athlon-xp'])
309 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-mp', ['-march=athlon-mp'])
310 + ##
311 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k8', ['-march=k8'])
312 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'opteron', ['-march=opteron'])
313 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon64', ['-march=athlon64'])
314 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-fx', ['-march=athlon-fx'])
315 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'k8-sse3', ['-march=k8-sse3'])
316 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'opteron-sse3', ['-march=opteron-sse3'])
317 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon64-sse3', ['-march=athlon64-sse3'])
318 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'amdfam10', ['-march=amdfam10'])
319 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'barcelona', ['-march=barcelona'])
320 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'bdver1', ['-march=bdver1'])
321 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'bdver2', ['-march=bdver2'])
322 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'bdver3', ['-march=bdver3'])
323 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'btver1', ['-march=btver1'])
324 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'btver2', ['-march=btver2'])
325 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'znver1', ['-march=znver1'])
326 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'znver2', ['-march=znver2'])
327 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'winchip-c6', ['-march=winchip-c6'])
328 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'winchip2', ['-march=winchip2'])
329 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'c3', ['-march=c3'])
330 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'c3-2', ['-march=c3-2'])
331 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'c7', ['-march=c7'])
332 + ##
333 +-cpu_flags('gcc', 'OPTIONS', 'x86', 'atom', ['-march=atom'])
334 + # Sparc
335 + flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>32'], ['-m32'])
336 + flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>64'], ['-m64'])
337 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v7', ['-mcpu=v7'], default=True)
338 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'cypress', ['-mcpu=cypress'])
339 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v8', ['-mcpu=v8'])
340 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'supersparc', ['-mcpu=supersparc'])
341 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite', ['-mcpu=sparclite'])
342 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'hypersparc', ['-mcpu=hypersparc'])
343 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite86x', ['-mcpu=sparclite86x'])
344 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f930', ['-mcpu=f930'])
345 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f934', ['-mcpu=f934'])
346 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclet', ['-mcpu=sparclet'])
347 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'tsc701', ['-mcpu=tsc701'])
348 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v9', ['-mcpu=v9'])
349 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc', ['-mcpu=ultrasparc'])
350 +-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc3', ['-mcpu=ultrasparc3'])
351 + # RS/6000 & PowerPC
352 + flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32'], ['-m32'])
353 + flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64'], ['-m64'])
354 +-cpu_flags('gcc', 'OPTIONS', 'power', '403', ['-mcpu=403'])
355 +-cpu_flags('gcc', 'OPTIONS', 'power', '505', ['-mcpu=505'])
356 +-cpu_flags('gcc', 'OPTIONS', 'power', '601', ['-mcpu=601'])
357 +-cpu_flags('gcc', 'OPTIONS', 'power', '602', ['-mcpu=602'])
358 +-cpu_flags('gcc', 'OPTIONS', 'power', '603', ['-mcpu=603'])
359 +-cpu_flags('gcc', 'OPTIONS', 'power', '603e', ['-mcpu=603e'])
360 +-cpu_flags('gcc', 'OPTIONS', 'power', '604', ['-mcpu=604'])
361 +-cpu_flags('gcc', 'OPTIONS', 'power', '604e', ['-mcpu=604e'])
362 +-cpu_flags('gcc', 'OPTIONS', 'power', '620', ['-mcpu=620'])
363 +-cpu_flags('gcc', 'OPTIONS', 'power', '630', ['-mcpu=630'])
364 +-cpu_flags('gcc', 'OPTIONS', 'power', '740', ['-mcpu=740'])
365 +-cpu_flags('gcc', 'OPTIONS', 'power', '7400', ['-mcpu=7400'])
366 +-cpu_flags('gcc', 'OPTIONS', 'power', '7450', ['-mcpu=7450'])
367 +-cpu_flags('gcc', 'OPTIONS', 'power', '750', ['-mcpu=750'])
368 +-cpu_flags('gcc', 'OPTIONS', 'power', '801', ['-mcpu=801'])
369 +-cpu_flags('gcc', 'OPTIONS', 'power', '821', ['-mcpu=821'])
370 +-cpu_flags('gcc', 'OPTIONS', 'power', '823', ['-mcpu=823'])
371 +-cpu_flags('gcc', 'OPTIONS', 'power', '860', ['-mcpu=860'])
372 +-cpu_flags('gcc', 'OPTIONS', 'power', '970', ['-mcpu=970'])
373 +-cpu_flags('gcc', 'OPTIONS', 'power', '8540', ['-mcpu=8540'])
374 +-cpu_flags('gcc', 'OPTIONS', 'power', 'power', ['-mcpu=power'])
375 +-cpu_flags('gcc', 'OPTIONS', 'power', 'power2', ['-mcpu=power2'])
376 +-cpu_flags('gcc', 'OPTIONS', 'power', 'power3', ['-mcpu=power3'])
377 +-cpu_flags('gcc', 'OPTIONS', 'power', 'power4', ['-mcpu=power4'])
378 +-cpu_flags('gcc', 'OPTIONS', 'power', 'power5', ['-mcpu=power5'])
379 +-cpu_flags('gcc', 'OPTIONS', 'power', 'powerpc', ['-mcpu=powerpc'])
380 +-cpu_flags('gcc', 'OPTIONS', 'power', 'powerpc64', ['-mcpu=powerpc64'])
381 +-cpu_flags('gcc', 'OPTIONS', 'power', 'rios', ['-mcpu=rios'])
382 +-cpu_flags('gcc', 'OPTIONS', 'power', 'rios1', ['-mcpu=rios1'])
383 +-cpu_flags('gcc', 'OPTIONS', 'power', 'rios2', ['-mcpu=rios2'])
384 +-cpu_flags('gcc', 'OPTIONS', 'power', 'rsc', ['-mcpu=rsc'])
385 +-cpu_flags('gcc', 'OPTIONS', 'power', 'rs64a', ['-mcpu=rs64'])
386 +-cpu_flags('gcc', 'OPTIONS', 's390x', 'z196', ['-march=z196'])
387 +-cpu_flags('gcc', 'OPTIONS', 's390x', 'zEC12', ['-march=zEC12'])
388 +-cpu_flags('gcc', 'OPTIONS', 's390x', 'z13', ['-march=z13'])
389 +-cpu_flags('gcc', 'OPTIONS', 's390x', 'z14', ['-march=z14'])
390 +-cpu_flags('gcc', 'OPTIONS', 's390x', 'z15', ['-march=z15'])
391 + # AIX variant of RS/6000 & PowerPC
392 + flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32/<target-os>aix'], ['-maix32'])
393 + flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64/<target-os>aix'], ['-maix64'])