summaryrefslogtreecommitdiff
path: root/dev-util/boost-build
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
commit93a93e9a3b53c1a73142a305ea1f8136846942ee (patch)
treeb9791a06ab3284e27b568412c59316c66240c682 /dev-util/boost-build
parent2771f79232c273bc2a57d23bf335dd81ccf6af28 (diff)
gentoo resync : 22.12.2021
Diffstat (limited to 'dev-util/boost-build')
-rw-r--r--dev-util/boost-build/Manifest5
-rw-r--r--dev-util/boost-build/boost-build-1.78.0-r1.ebuild74
-rw-r--r--dev-util/boost-build/files/boost-build-1.78.0-darwin-gentoo-toolchain.patch16
-rw-r--r--dev-util/boost-build/files/boost-build-1.78.0-fix-python-bindings-build.patch20
-rw-r--r--dev-util/boost-build/files/boost-build-1.78.0-no-implicit-march-flags.patch284
5 files changed, 399 insertions, 0 deletions
diff --git a/dev-util/boost-build/Manifest b/dev-util/boost-build/Manifest
index b537f1863330..b8655a232f32 100644
--- a/dev-util/boost-build/Manifest
+++ b/dev-util/boost-build/Manifest
@@ -6,9 +6,14 @@ AUX boost-build-1.74.0-no-implicit-march-flags.patch 16904 BLAKE2B cd37f24ca0757
AUX boost-build-1.76.0-python-numpy.patch 791 BLAKE2B 48751f726120b69511e7bbf0f4ff1454218d67de7f61b68127d70da2631f09a76448e5c660bf8d64288a4098331ac3ac4e626f068afeb8cf46cea9f45ae46dbf SHA512 3358c08450c998d665e5fe3599bb7f900acada856f602ab9a592aa1845ea6244a70c56f135fbd45f8c62dcc7fd083b4b026c222d39afdb82b95a532f09308fcc
AUX boost-build-1.76.0-respect-user-flags.patch 456 BLAKE2B 02a383d7a969220da3a40bfe822a807c67734a286f65c3d1dbda18c263593cc6940f5ed260bea1d1ccc20c0726b04859ce2d97c151d10b067206f79d417af237 SHA512 06df6dbf1bc48f224a77ccef202f0cde61c594e6be23418196fbc274bb8e1b6e16a8f2ef9fd45d112cb57af8987df23282e0b1bd4bf4ca6603127b573f54810b
AUX boost-build-1.77.0-darwin-gentoo-toolchain.patch 646 BLAKE2B 96420764d7504ff08899fa92384180adee851ccba0e9395d4efbe93644a8e505ad9bab6f5a56ef382bbb2ec2ab5cab4d50e35dacab5fde059f8370cdf58491f0 SHA512 029135d74cf046cfae23a2762130da40200819e9edf0df0b4d9ba3e9a787bea69975e3d92540d19d5680ab98a8c7786fa3e44801d675bd8fd943e9e02c13c45d
+AUX boost-build-1.78.0-darwin-gentoo-toolchain.patch 399 BLAKE2B 213ddbeac6be079df8383ac51c1935c21c7c4e9c2fad2dc71cc0e6317d1bcb282d7fa26997eb677408a5b5fdf2809062c54be18265dd618ec01cc771d99fdff1 SHA512 9d69ecab3cdd58915269491ed98824c554a5291820b8c3116d3aa36acee69edca4eb1528baeece513d290c20fcedabd342d426aa2c153f7ad5f08e0815357868
+AUX boost-build-1.78.0-fix-python-bindings-build.patch 599 BLAKE2B a457af724b4cc885b4efb57951a8da4c8c0be63cff9cc4e488b5611f9da8e36c6f5e0aa3f54e8ccf37f74b4e8065a8e25688e41a80506412362d280bdcdaefca SHA512 5c596ee7e2b194baf5f4198e5c3a5726b2cf84fab0f3dac08901d1b837c3c83565a3bb159193b88a8cd02414773e18049374e77baf7c70aa197bc19563b2868f
+AUX boost-build-1.78.0-no-implicit-march-flags.patch 17236 BLAKE2B c8c068f48de2d14307c74c64db63ad5f74b9913650f807a53f8e837a8f4b67ba3484bdd6dc9b25cd297e94d5344208e4df6950e2827893bb58ed0ce518bfe66f SHA512 73589b6e88c26a89b874f251f53ec36a08f8709f2a2be7cde876347213c49e87800f9917b529d7f843b3ce4c0ef126ab67b919089be481955a39294a0a8d84a6
AUX site-config.jam 688 BLAKE2B e43a7ad1a94d113a7f890e8b634770f5c60556101d428d83f655bbbe72c46b587485886a9941d05a2ae4319fc325f1e0ecfb9b660158b81c5e9fd02e0b1c0530 SHA512 b65bf1be3133f9f66d3139b00f195a288591bb20a13ba35041507c2c33d7d2da6047c3b02dc27bc4eb21798b91e1262a60e294b7fd4af90808b9de0f5af517df
DIST boost_1_76_0.tar.bz2 110073117 BLAKE2B 45445e6a9725cb99131e0b831b2fac0840d083692c13887b41adeac5cb8b3732026db3641d6be20591a676b78a87fcf363eb9b1508f87ed26039bba6a1ced533 SHA512 5d68bed98c57e03b4cb2420d9b856e5f0669561a6142a4b0c9c8a58dc5b6b28e16ccbb16ac559c3a3198c45769a246bf996b96cb7b6a019dd15f05c2270e9429
DIST boost_1_77_0.tar.bz2 110361537 BLAKE2B 106aeb09ec7705b595f2ca966a76c53c649eac6fac50d88c156862e0991c33c89a2f3a09edcbcb453fa44bf71cdde030b35d0a0889ad97b65f3a868cb877a532 SHA512 39b45c9b60bc5a2a4c669a4463d1272c1e093376b2fb374d7f20a84ea10a3e23bb04b335a735a83a04575731f874d9bff77e89acd947524b3fbbae1b26ae1f2f
+DIST boost_1_78_0.tar.bz2 110675550 BLAKE2B ed7da98862ec1e0a28472544400e6f44ffadbc967eed969ce6cb62b1c4f0b7a4b98a395269eb374b57326eff9cdb1dd6e47df9d1a9730aff7c926cc44388fb2d SHA512 9c34a387a203b99aa773eb0c59f5abac7a99ba10e4623653e793c1d5b29b99b88e0e4e0d4e2e4ca5d497c42f2e46e23bab66417722433a457dc818d7670bcbbf
EBUILD boost-build-1.76.0-r2.ebuild 2155 BLAKE2B f3705ae6770e374d00d4405335662c072dd475dc0a230cb2fc376bb84374554cf11dfc07df059833630ea0131a2f3bce9f4d0aa0059fff33b0996d12d1d1d33b SHA512 b68b1bbaf0713cb0901037d731ba7001d0cab9bfec248bf0f6724211b2b50ba7a759d9f5e0bc66070f37b60c9207dd452bd63f69007ac18d5370316dc3443651
EBUILD boost-build-1.77.0.ebuild 2114 BLAKE2B 28bfad497b939cb453f6010fbeea0e46fd7ffff6009ab65f7404b842399e2941065e33477d293d5983fa4269d90b2d8cec017537d010d11c40e8d9c94e3d2f30 SHA512 677e523abbb7f97475a91b87bb592c6fbf8674d6baec28bfc24bbec32636476430266b5cab2f1c6b357cd84ce7fc99294896ea9431ac2e0987270a8012470384
+EBUILD boost-build-1.78.0-r1.ebuild 2174 BLAKE2B 278b5ac3c8ffd19e259ae923dd05bbd61415b41640d3e12e80e951ff0473dbd15ecbef51010f78abcff9b725fa193c4551b337ac4935365b813c644c96b77706 SHA512 d80d4355b2082606c0f44d71a2611d77757dd5c07c5d0e73df5cda8c672f47d5f4f9675601384e089d956449a5935f95b1af119c934100f70e4f6b4d649cd7f8
MISC metadata.xml 320 BLAKE2B b8916adb7b84ead3feef70414578019e07de58086e6954cf2a26a77368a99bc75bf99ca18f111a67531d318863fab700083ebcd7612e7d40ece89086d9d4974c SHA512 7c2c8fa591a6c3d05b5d4808077b890d5757bbb4c12a9fe7ed7b4ebc738244266196baba07da434ac3609c0d00aed4ef9c2346524f141e679b94376f804c508b
diff --git a/dev-util/boost-build/boost-build-1.78.0-r1.ebuild b/dev-util/boost-build/boost-build-1.78.0-r1.ebuild
new file mode 100644
index 000000000000..09152764b546
--- /dev/null
+++ b/dev-util/boost-build/boost-build-1.78.0-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="A system for large project software construction, simple to use and powerful"
+HOMEPAGE="https://www.boost.org/build/"
+SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
+S="${WORKDIR}/boost_${MY_PV}/tools/build/src"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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"
+IUSE="examples"
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.71.0-disable_python_rpath.patch
+ "${FILESDIR}"/${PN}-1.78.0-darwin-gentoo-toolchain.patch
+ "${FILESDIR}"/${PN}-1.73.0-add-none-feature-options.patch
+ "${FILESDIR}"/${PN}-1.76.0-respect-user-flags.patch
+ "${FILESDIR}"/${PN}-1.78.0-no-implicit-march-flags.patch
+ "${FILESDIR}"/${P}-fix-python-bindings-build.patch
+)
+
+src_unpack() {
+ tar xojf "${DISTDIR}/${A}" boost_${MY_PV}/tools/build || die "unpacking tar failed"
+}
+
+src_prepare() {
+ default
+
+ pushd .. >/dev/null || die
+ eapply "${FILESDIR}"/${PN}-1.71.0-fix-test.patch
+ popd >/dev/null || die
+}
+
+src_configure() {
+ # need to enable LFS explicitly for 64-bit offsets on 32-bit hosts (#761100)
+ append-lfs-flags
+}
+
+src_compile() {
+ cd engine || die
+ ${CONFIG_SHELL:-${BASH}} ./build.sh cxx --cxx="$(tc-getCXX)" --cxxflags="${CXXFLAGS}" -d+2 --without-python || die "building bjam failed"
+}
+
+src_test() {
+ # Forget tests, bjam is a lost cause
+ :
+}
+
+src_install() {
+ dobin engine/{bjam,b2}
+
+ insinto /usr/share/boost-build/src
+ doins -r "${FILESDIR}/site-config.jam" \
+ ../boost-build.jam bootstrap.jam build-system.jam ../example/user-config.jam *.py \
+ build kernel options tools util
+
+ find "${ED}"/usr/share/boost-build/src -iname '*.py' -delete || die
+
+ dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt
+
+ if use examples; then
+ docinto examples
+ dodoc -r ../example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-util/boost-build/files/boost-build-1.78.0-darwin-gentoo-toolchain.patch b/dev-util/boost-build/files/boost-build-1.78.0-darwin-gentoo-toolchain.patch
new file mode 100644
index 000000000000..8de98014dbdc
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.78.0-darwin-gentoo-toolchain.patch
@@ -0,0 +1,16 @@
+Avoid adding all kinds of things to the toolchain's flags that within
+Gentoo (Prefix) we really shouldn't, such as sysroot, deployment target,
+arch, etc.
+
+--- a/tools/darwin.jam
++++ b/tools/darwin.jam
+@@ -240,6 +240,9 @@
+ }
+ }
+
++ # leave compiler flags etc. up to the toolchain
++ return $(version-feature) ;
++
+ if $(version-feature)
+ {
+ if $(.debug-configuration)
diff --git a/dev-util/boost-build/files/boost-build-1.78.0-fix-python-bindings-build.patch b/dev-util/boost-build/files/boost-build-1.78.0-fix-python-bindings-build.patch
new file mode 100644
index 000000000000..ddcdf0850031
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.78.0-fix-python-bindings-build.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/829031
+https://github.com/bfgroup/b2/pull/113
+
+From: Dmitry Arkhipov <grisumbras@gmail.com>
+Date: Thu, 9 Dec 2021 08:11:57 +0300
+Subject: [PATCH] Don't skip install targets if there's <build>no in ureqs
+
+--- a/tools/stage.jam
++++ b/tools/stage.jam
+@@ -478,6 +478,10 @@ class install-target-class : basic-target
+ return [ sequence.unique $(result2) ] ;
+ }
+
++ rule skip-from-usage-requirements ( )
++ {
++ }
++
+ # Returns true iff 'type' is subtype of some element of 'types-to-include'.
+ #
+ local rule include-type ( type : types-to-include * )
diff --git a/dev-util/boost-build/files/boost-build-1.78.0-no-implicit-march-flags.patch b/dev-util/boost-build/files/boost-build-1.78.0-no-implicit-march-flags.patch
new file mode 100644
index 000000000000..093f40d03071
--- /dev/null
+++ b/dev-util/boost-build/files/boost-build-1.78.0-no-implicit-march-flags.patch
@@ -0,0 +1,284 @@
+--- a/tools/gcc.jam
++++ b/tools/gcc.jam
+@@ -1129,140 +1129,10 @@
+ # 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-client : -march=icelake-client ;
+-cpu-flags gcc OPTIONS : x86 : icelake-server : -march=icelake-server ;
+-cpu-flags gcc OPTIONS : x86 : cascadelake : -march=skylake-avx512 -mavx512vnni ;
+-cpu-flags gcc OPTIONS : x86 : cooperlake : -march=cooperlake ;
+-cpu-flags gcc OPTIONS : x86 : tigerlake : -march=tigerlake ;
+-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 : znver2 : -march=znver2 ;
+-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 : c7 : -march=c7 ;
+ ##
+-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 ;
+-cpu-flags gcc OPTIONS : s390x : z15 : -march=z15 ;
+ # ARM
+-cpu-flags gcc OPTIONS : arm : cortex-a9+vfpv3 : -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard ;
+-cpu-flags gcc OPTIONS : arm : cortex-a53 : -mcpu=cortex-a53 ;
+-cpu-flags gcc OPTIONS : arm : cortex-r5 : -mcpu=cortex-r5 ;
+-cpu-flags gcc OPTIONS : arm : cortex-r5+vfpv3-d16 : -mcpu=cortex-r5 -mfpu=vfpv3-d16 -mfloat-abi=hard ;
+ # 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
+@@ -737,138 +737,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', '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-client', ['-march=icelake-client'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'icelake-server', ['-march=icelake-server'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'cascadelake', ['-march=skylake-avx512', '-mavx512vnni'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'cooperlake', ['-march=cooperlake'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'tigerlake', ['-march=tigerlake'])
+-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', 'znver1', ['-march=znver1'])
+-cpu_flags('gcc', 'OPTIONS', 'x86', 'znver2', ['-march=znver2'])
+-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', 'c7', ['-march=c7'])
+ ##
+-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'])
+-cpu_flags('gcc', 'OPTIONS', 's390x', 'z15', ['-march=z15'])
+ # 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'])