summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2019-12-07 22:43:11 +0100
committerDavid Seifert <soap@gentoo.org>2019-12-07 22:43:11 +0100
commitfb97a8ba208963034d065ffba582ea11a1fd07e8 (patch)
tree43f6f3aacaa6119eab56f82d8b960b2fd0c3a571 /dev-util/boost-build
parentdev-libs/libxml2: Replace ltprune (diff)
downloadgentoo-fb97a8ba208963034d065ffba582ea11a1fd07e8.tar.gz
gentoo-fb97a8ba208963034d065ffba582ea11a1fd07e8.tar.bz2
gentoo-fb97a8ba208963034d065ffba582ea11a1fd07e8.zip
dev-util/boost-build: Rebase patches
Closes: https://github.com/gentoo/gentoo/pull/13910 Package-Manager: Portage-2.3.81, Repoman-2.3.20 Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'dev-util/boost-build')
-rw-r--r--dev-util/boost-build/boost-build-1.71.0.ebuild20
-rw-r--r--dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch47
-rw-r--r--dev-util/boost-build/files/boost-build-1.71.0-add-none-feature-options.patch (renamed from dev-util/boost-build/files/boost-build-1.66.0-add-none-feature-options.patch)4
-rw-r--r--dev-util/boost-build/files/boost-build-1.71.0-darwin-gentoo-toolchain.patch (renamed from dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch)4
-rw-r--r--dev-util/boost-build/files/boost-build-1.71.0-disable_python_rpath.patch (renamed from dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch)2
-rw-r--r--dev-util/boost-build/files/boost-build-1.71.0-fix-test.patch (renamed from dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch)0
-rw-r--r--dev-util/boost-build/files/boost-build-1.71.0-no-implicit-march-flags.patch266
7 files changed, 274 insertions, 69 deletions
diff --git a/dev-util/boost-build/boost-build-1.71.0.ebuild b/dev-util/boost-build/boost-build-1.71.0.ebuild
index 61cf7b85624a..3c8845c89132 100644
--- a/dev-util/boost-build/boost-build-1.71.0.ebuild
+++ b/dev-util/boost-build/boost-build-1.71.0.ebuild
@@ -34,11 +34,11 @@ REQUIRED_USE="
S="${WORKDIR}/boost_${MY_PV}/tools/build/src"
PATCHES=(
- "${FILESDIR}"/${PN}-1.48.0-disable_python_rpath.patch
- "${FILESDIR}"/${PN}-1.49.0-darwin-gentoo-toolchain.patch
- "${FILESDIR}"/${PN}-1.62.0-sparc-no-default-flags.patch
- "${FILESDIR}"/${PN}-1.66.0-add-none-feature-options.patch
+ "${FILESDIR}"/${PN}-1.71.0-disable_python_rpath.patch
+ "${FILESDIR}"/${PN}-1.71.0-darwin-gentoo-toolchain.patch
+ "${FILESDIR}"/${PN}-1.71.0-add-none-feature-options.patch
"${FILESDIR}"/${PN}-1.71.0-respect-c_ld-flags.patch
+ "${FILESDIR}"/${PN}-1.71.0-no-implicit-march-flags.patch
)
pkg_setup() {
@@ -55,18 +55,8 @@ src_prepare() {
default
pushd .. >/dev/null || die
- eapply "${FILESDIR}/${PN}-1.54.0-fix-test.patch"
+ eapply "${FILESDIR}"/${PN}-1.71.0-fix-test.patch
popd >/dev/null || die
-
- # remove default -march/-mcpu definitions
- # bjam is trying to be clever and injects -march= in order to
- # optimize code for you. This breaks on 32-bit builds, because
- # -march=i686 will not work on an i486 CHOST.
- # https://bugs.gentoo.org/624616
- sed -e '/^cpu-flags\s*gcc\s*OPTIONS/d' \
- -e '/toolset\.flags\s*gcc\s*OPTIONS/d' \
- -e "/cpu_flags('gcc',\s*'OPTIONS'/d" \
- -i tools/gcc.{jam,py} || die "Failed removing -march/-mcpu"
}
src_configure() {
diff --git a/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch b/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch
deleted file mode 100644
index a3f450b0edf1..000000000000
--- a/dev-util/boost-build/files/boost-build-1.62.0-sparc-no-default-flags.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- a/tools/gcc.py 2018-09-07 17:44:59.668796217 +0200
-+++ b/tools/gcc.py 2018-09-07 17:45:56.378794314 +0200
-@@ -811,20 +811,6 @@
- # Sparc
- flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>32'], ['-m32'])
- flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>64'], ['-m64'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'v7', ['-mcpu=v7'], default=True)
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'cypress', ['-mcpu=cypress'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'v8', ['-mcpu=v8'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'supersparc', ['-mcpu=supersparc'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite', ['-mcpu=sparclite'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'hypersparc', ['-mcpu=hypersparc'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite86x', ['-mcpu=sparclite86x'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'f930', ['-mcpu=f930'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'f934', ['-mcpu=f934'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclet', ['-mcpu=sparclet'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'tsc701', ['-mcpu=tsc701'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'v9', ['-mcpu=v9'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc', ['-mcpu=ultrasparc'])
--cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc3', ['-mcpu=ultrasparc3'])
- # RS/6000 & PowerPC
- flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32'], ['-m32'])
- flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64'], ['-m64'])
---- a/tools/gcc.jam 2018-09-07 17:45:12.168795797 +0200
-+++ b/tools/gcc.jam 2018-09-07 17:46:25.498793337 +0200
-@@ -1134,21 +1134,6 @@
- cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ;
- ##
- cpu-flags gcc OPTIONS : x86 : atom : -march=atom ;
--# Sparc
--cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ;
--cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ;
--cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ;
--cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ;
--cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ;
--cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ;
--cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ;
--cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ;
--cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ;
--cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ;
--cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ;
--cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ;
--cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ;
--cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ;
- # RS/6000 & PowerPC
- cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ;
- cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ;
diff --git a/dev-util/boost-build/files/boost-build-1.66.0-add-none-feature-options.patch b/dev-util/boost-build/files/boost-build-1.71.0-add-none-feature-options.patch
index fd86c9e2fc71..ddd1641d15cc 100644
--- a/dev-util/boost-build/files/boost-build-1.66.0-add-none-feature-options.patch
+++ b/dev-util/boost-build/files/boost-build-1.71.0-add-none-feature-options.patch
@@ -1,5 +1,3 @@
-diff --git a/tools/features/debug-feature.jam b/tools/features/debug-feature.jam
-index 04958f9a..38b6acf1 100644
--- a/tools/features/debug-feature.jam
+++ b/tools/features/debug-feature.jam
@@ -8,7 +8,7 @@
@@ -11,8 +9,6 @@ index 04958f9a..38b6acf1 100644
: propagated ;
feature.feature profiling
-diff --git a/tools/features/optimization-feature.jam b/tools/features/optimization-feature.jam
-index 761f76f1..fb2a5dec 100644
--- a/tools/features/optimization-feature.jam
+++ b/tools/features/optimization-feature.jam
@@ -8,7 +8,7 @@
diff --git a/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch b/dev-util/boost-build/files/boost-build-1.71.0-darwin-gentoo-toolchain.patch
index 032feaf9625f..3693677540a4 100644
--- a/dev-util/boost-build/files/boost-build-1.49.0-darwin-gentoo-toolchain.patch
+++ b/dev-util/boost-build/files/boost-build-1.71.0-darwin-gentoo-toolchain.patch
@@ -4,7 +4,7 @@ arch, etc.
--- a/tools/darwin.jam
+++ b/tools/darwin.jam
-@@ -227,6 +227,9 @@
+@@ -239,6 +239,9 @@
}
}
@@ -14,7 +14,7 @@ arch, etc.
if $(version-feature)
{
if $(.debug-configuration)
-@@ -387,7 +390,8 @@
+@@ -447,7 +450,8 @@
support-ppc64 = ;
}
}
diff --git a/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch b/dev-util/boost-build/files/boost-build-1.71.0-disable_python_rpath.patch
index 84734f7473fe..b7b47cc93a47 100644
--- a/dev-util/boost-build/files/boost-build-1.48.0-disable_python_rpath.patch
+++ b/dev-util/boost-build/files/boost-build-1.71.0-disable_python_rpath.patch
@@ -1,6 +1,6 @@
--- a/tools/python.jam
+++ b/tools/python.jam
-@@ -961,7 +961,7 @@
+@@ -1000,7 +1000,7 @@
# linux).
: $(usage-requirements)
<testing.launcher>$(set-PYTHONPATH)
diff --git a/dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch b/dev-util/boost-build/files/boost-build-1.71.0-fix-test.patch
index 3f8b177c7102..3f8b177c7102 100644
--- a/dev-util/boost-build/files/boost-build-1.54.0-fix-test.patch
+++ b/dev-util/boost-build/files/boost-build-1.71.0-fix-test.patch
diff --git a/dev-util/boost-build/files/boost-build-1.71.0-no-implicit-march-flags.patch b/dev-util/boost-build/files/boost-build-1.71.0-no-implicit-march-flags.patch
new file mode 100644
index 000000000000..cd184030deeb
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.71.0-no-implicit-march-flags.patch
@@ -0,0 +1,266 @@
+Prevent bjam from injecting what it thinks are great -march/-mcpu flags
+in order to optimize code for you. This breaks on 32-bit builds, because
+-march=i686 will not work on an i486 CHOST.
+
+See also:
+https://bugs.gentoo.org/624616
+
+--- a/tools/gcc.jam
++++ b/tools/gcc.jam
+@@ -1187,128 +1187,8 @@
+ # x86 and compatible
+ # The 'native' option appeared in gcc 4.2 so we cannot safely use it as default.
+ # Use i686 instead for 32-bit.
+-toolset.flags gcc OPTIONS <architecture>x86/<address-model>32/<instruction-set> : -march=i686 ;
+-cpu-flags gcc OPTIONS : x86 : native : -march=native ;
+-cpu-flags gcc OPTIONS : x86 : i486 : -march=i486 ;
+-cpu-flags gcc OPTIONS : x86 : i586 : -march=i586 ;
+-cpu-flags gcc OPTIONS : x86 : i686 : -march=i686 ;
+-cpu-flags gcc OPTIONS : x86 : pentium : -march=pentium ;
+-cpu-flags gcc OPTIONS : x86 : pentium-mmx : -march=pentium-mmx ;
+-cpu-flags gcc OPTIONS : x86 : pentiumpro : -march=pentiumpro ;
+-cpu-flags gcc OPTIONS : x86 : pentium2 : -march=pentium2 ;
+-cpu-flags gcc OPTIONS : x86 : pentium3 : -march=pentium3 ;
+-cpu-flags gcc OPTIONS : x86 : pentium3m : -march=pentium3m ;
+-cpu-flags gcc OPTIONS : x86 : pentium-m : -march=pentium-m ;
+-cpu-flags gcc OPTIONS : x86 : pentium4 : -march=pentium4 ;
+-cpu-flags gcc OPTIONS : x86 : pentium4m : -march=pentium4m ;
+-cpu-flags gcc OPTIONS : x86 : prescott : -march=prescott ;
+-cpu-flags gcc OPTIONS : x86 : nocona : -march=nocona ;
+-cpu-flags gcc OPTIONS : x86 : core2 : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : conroe : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : conroe-xe : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : conroe-l : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : allendale : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : wolfdale : -march=core2 -msse4.1 ;
+-cpu-flags gcc OPTIONS : x86 : merom : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : merom-xe : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : kentsfield : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : kentsfield-xe : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : yorksfield : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : penryn : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : corei7 : -march=corei7 ;
+-cpu-flags gcc OPTIONS : x86 : nehalem : -march=corei7 ;
+-cpu-flags gcc OPTIONS : x86 : corei7-avx : -march=corei7-avx ;
+-cpu-flags gcc OPTIONS : x86 : sandy-bridge : -march=corei7-avx ;
+-cpu-flags gcc OPTIONS : x86 : core-avx-i : -march=core-avx-i ;
+-cpu-flags gcc OPTIONS : x86 : ivy-bridge : -march=core-avx-i ;
+-cpu-flags gcc OPTIONS : x86 : haswell : -march=core-avx-i -mavx2 -mfma -mbmi -mbmi2 -mlzcnt ;
+-cpu-flags gcc OPTIONS : x86 : broadwell : -march=broadwell ;
+-cpu-flags gcc OPTIONS : x86 : skylake : -march=skylake ;
+-cpu-flags gcc OPTIONS : x86 : skylake-avx512 : -march=skylake-avx512 ;
+-cpu-flags gcc OPTIONS : x86 : cannonlake : -march=skylake-avx512 -mavx512vbmi -mavx512ifma -msha ;
+-cpu-flags gcc OPTIONS : x86 : icelake : -march=icelake ;
+-cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ;
+-cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ;
+-cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ;
+-cpu-flags gcc OPTIONS : x86 : athlon : -march=athlon ;
+-cpu-flags gcc OPTIONS : x86 : athlon-tbird : -march=athlon-tbird ;
+-cpu-flags gcc OPTIONS : x86 : athlon-4 : -march=athlon-4 ;
+-cpu-flags gcc OPTIONS : x86 : athlon-xp : -march=athlon-xp ;
+-cpu-flags gcc OPTIONS : x86 : athlon-mp : -march=athlon-mp ;
+ ##
+-cpu-flags gcc OPTIONS : x86 : k8 : -march=k8 ;
+-cpu-flags gcc OPTIONS : x86 : opteron : -march=opteron ;
+-cpu-flags gcc OPTIONS : x86 : athlon64 : -march=athlon64 ;
+-cpu-flags gcc OPTIONS : x86 : athlon-fx : -march=athlon-fx ;
+-cpu-flags gcc OPTIONS : x86 : k8-sse3 : -march=k8-sse3 ;
+-cpu-flags gcc OPTIONS : x86 : opteron-sse3 : -march=opteron-sse3 ;
+-cpu-flags gcc OPTIONS : x86 : athlon64-sse3 : -march=athlon64-sse3 ;
+-cpu-flags gcc OPTIONS : x86 : amdfam10 : -march=amdfam10 ;
+-cpu-flags gcc OPTIONS : x86 : barcelona : -march=barcelona ;
+-cpu-flags gcc OPTIONS : x86 : bdver1 : -march=bdver1 ;
+-cpu-flags gcc OPTIONS : x86 : bdver2 : -march=bdver2 ;
+-cpu-flags gcc OPTIONS : x86 : bdver3 : -march=bdver3 ;
+-cpu-flags gcc OPTIONS : x86 : bdver4 : -march=bdver4 ;
+-cpu-flags gcc OPTIONS : x86 : btver1 : -march=btver1 ;
+-cpu-flags gcc OPTIONS : x86 : btver2 : -march=btver2 ;
+-cpu-flags gcc OPTIONS : x86 : znver1 : -march=znver1 ;
+-cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ;
+-cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ;
+-cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ;
+-cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ;
+ ##
+-cpu-flags gcc OPTIONS : x86 : atom : -march=atom ;
+-# Sparc
+-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ;
+-cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ;
+-cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ;
+-cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ;
+-cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ;
+-cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ;
+-cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ;
+-cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ;
+-cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ;
+-cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ;
+-cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ;
+-cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ;
+-cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ;
+-cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ;
+ # RS/6000 & PowerPC
+-cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ;
+-cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ;
+-cpu-flags gcc OPTIONS : power : 601 : -mcpu=601 ;
+-cpu-flags gcc OPTIONS : power : 602 : -mcpu=602 ;
+-cpu-flags gcc OPTIONS : power : 603 : -mcpu=603 ;
+-cpu-flags gcc OPTIONS : power : 603e : -mcpu=603e ;
+-cpu-flags gcc OPTIONS : power : 604 : -mcpu=604 ;
+-cpu-flags gcc OPTIONS : power : 604e : -mcpu=604e ;
+-cpu-flags gcc OPTIONS : power : 620 : -mcpu=620 ;
+-cpu-flags gcc OPTIONS : power : 630 : -mcpu=630 ;
+-cpu-flags gcc OPTIONS : power : 740 : -mcpu=740 ;
+-cpu-flags gcc OPTIONS : power : 7400 : -mcpu=7400 ;
+-cpu-flags gcc OPTIONS : power : 7450 : -mcpu=7450 ;
+-cpu-flags gcc OPTIONS : power : 750 : -mcpu=750 ;
+-cpu-flags gcc OPTIONS : power : 801 : -mcpu=801 ;
+-cpu-flags gcc OPTIONS : power : 821 : -mcpu=821 ;
+-cpu-flags gcc OPTIONS : power : 823 : -mcpu=823 ;
+-cpu-flags gcc OPTIONS : power : 860 : -mcpu=860 ;
+-cpu-flags gcc OPTIONS : power : 970 : -mcpu=970 ;
+-cpu-flags gcc OPTIONS : power : 8540 : -mcpu=8540 ;
+-cpu-flags gcc OPTIONS : power : power : -mcpu=power ;
+-cpu-flags gcc OPTIONS : power : power2 : -mcpu=power2 ;
+-cpu-flags gcc OPTIONS : power : power3 : -mcpu=power3 ;
+-cpu-flags gcc OPTIONS : power : power4 : -mcpu=power4 ;
+-cpu-flags gcc OPTIONS : power : power5 : -mcpu=power5 ;
+-cpu-flags gcc OPTIONS : power : powerpc : -mcpu=powerpc ;
+-cpu-flags gcc OPTIONS : power : powerpc64 : -mcpu=powerpc64 ;
+-cpu-flags gcc OPTIONS : power : rios : -mcpu=rios ;
+-cpu-flags gcc OPTIONS : power : rios1 : -mcpu=rios1 ;
+-cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ;
+-cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ;
+-cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ;
+-cpu-flags gcc OPTIONS : s390x : z196 : -march=z196 ;
+-cpu-flags gcc OPTIONS : s390x : zEC12 : -march=zEC12 ;
+-cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ;
+-cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ;
+ # AIX variant of RS/6000 & PowerPC
+ toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ;
+--- a/tools/gcc.py
++++ b/tools/gcc.py
+@@ -745,125 +745,14 @@
+ # x86 and compatible
+ flags('gcc', 'OPTIONS', ['<architecture>x86/<address-model>32'], ['-m32'])
+ flags('gcc', 'OPTIONS', ['<architecture>x86/<address-model>64'], ['-m64'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'native', ['-march=native'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'i486', ['-march=i486'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'i586', ['-march=i586'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'i686', ['-march=i686'], default=True)
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium', ['-march=pentium'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium-mmx', ['-march=pentium-mmx'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentiumpro', ['-march=pentiumpro'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium2', ['-march=pentium2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium3', ['-march=pentium3'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium3m', ['-march=pentium3m'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium-m', ['-march=pentium-m'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium4', ['-march=pentium4'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'pentium4m', ['-march=pentium4m'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'prescott', ['-march=prescott'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'nocona', ['-march=nocona'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'core2', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'conroe', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'conroe-xe', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'conroe-l', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'allendale', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'wolfdale', ['-march=core2', '-msse4.1'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'merom', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'merom-xe', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'kentsfield', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'kentsfield-xe', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'yorksfield', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'penryn', ['-march=core2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'corei7', ['-march=corei7'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'nehalem', ['-march=corei7'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'corei7-avx', ['-march=corei7-avx'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'sandy-bridge', ['-march=corei7-avx'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'core-avx-i', ['-march=core-avx-i'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'ivy-bridge', ['-march=core-avx-i'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'haswell', ['-march=core-avx-i', '-mavx2', '-mfma', '-mbmi', '-mbmi2', '-mlzcnt'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6', ['-march=k6'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6-2', ['-march=k6-2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'k6-3', ['-march=k6-3'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon', ['-march=athlon'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-tbird', ['-march=athlon-tbird'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-4', ['-march=athlon-4'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-xp', ['-march=athlon-xp'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-mp', ['-march=athlon-mp'])
+ ##
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'k8', ['-march=k8'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'opteron', ['-march=opteron'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon64', ['-march=athlon64'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon-fx', ['-march=athlon-fx'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'k8-sse3', ['-march=k8-sse3'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'opteron-sse3', ['-march=opteron-sse3'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'athlon64-sse3', ['-march=athlon64-sse3'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'amdfam10', ['-march=amdfam10'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'barcelona', ['-march=barcelona'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'bdver1', ['-march=bdver1'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'bdver2', ['-march=bdver2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'bdver3', ['-march=bdver3'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'btver1', ['-march=btver1'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'btver2', ['-march=btver2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'winchip-c6', ['-march=winchip-c6'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'winchip2', ['-march=winchip2'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'c3', ['-march=c3'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'c3-2', ['-march=c3-2'])
+ ##
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'atom', ['-march=atom'])
+ # Sparc
+ flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>32'], ['-m32'])
+ flags('gcc', 'OPTIONS', ['<architecture>sparc/<address-model>64'], ['-m64'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v7', ['-mcpu=v7'], default=True)
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'cypress', ['-mcpu=cypress'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v8', ['-mcpu=v8'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'supersparc', ['-mcpu=supersparc'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite', ['-mcpu=sparclite'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'hypersparc', ['-mcpu=hypersparc'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclite86x', ['-mcpu=sparclite86x'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f930', ['-mcpu=f930'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'f934', ['-mcpu=f934'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'sparclet', ['-mcpu=sparclet'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'tsc701', ['-mcpu=tsc701'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'v9', ['-mcpu=v9'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc', ['-mcpu=ultrasparc'])
+-cpu_flags('gcc', 'OPTIONS', 'sparc', 'ultrasparc3', ['-mcpu=ultrasparc3'])
+ # RS/6000 & PowerPC
+ flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32'], ['-m32'])
+ flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64'], ['-m64'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '403', ['-mcpu=403'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '505', ['-mcpu=505'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '601', ['-mcpu=601'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '602', ['-mcpu=602'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '603', ['-mcpu=603'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '603e', ['-mcpu=603e'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '604', ['-mcpu=604'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '604e', ['-mcpu=604e'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '620', ['-mcpu=620'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '630', ['-mcpu=630'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '740', ['-mcpu=740'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '7400', ['-mcpu=7400'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '7450', ['-mcpu=7450'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '750', ['-mcpu=750'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '801', ['-mcpu=801'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '821', ['-mcpu=821'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '823', ['-mcpu=823'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '860', ['-mcpu=860'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '970', ['-mcpu=970'])
+-cpu_flags('gcc', 'OPTIONS', 'power', '8540', ['-mcpu=8540'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'power', ['-mcpu=power'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'power2', ['-mcpu=power2'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'power3', ['-mcpu=power3'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'power4', ['-mcpu=power4'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'power5', ['-mcpu=power5'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'powerpc', ['-mcpu=powerpc'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'powerpc64', ['-mcpu=powerpc64'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'rios', ['-mcpu=rios'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'rios1', ['-mcpu=rios1'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'rios2', ['-mcpu=rios2'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'rsc', ['-mcpu=rsc'])
+-cpu_flags('gcc', 'OPTIONS', 'power', 'rs64a', ['-mcpu=rs64'])
+-cpu_flags('gcc', 'OPTIONS', 's390x', 'z196', ['-march=z196'])
+-cpu_flags('gcc', 'OPTIONS', 's390x', 'zEC12', ['-march=zEC12'])
+-cpu_flags('gcc', 'OPTIONS', 's390x', 'z13', ['-march=z13'])
+-cpu_flags('gcc', 'OPTIONS', 's390x', 'z14', ['-march=z14'])
+ # AIX variant of RS/6000 & PowerPC
+ flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>32/<target-os>aix'], ['-maix32'])
+ flags('gcc', 'OPTIONS', ['<architecture>power/<address-model>64/<target-os>aix'], ['-maix64'])