summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2021-12-30 06:21:06 -0800
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2021-12-30 06:43:21 -0800
commit8b4c946f772a68959ba2294607f0e8280ab7f18a (patch)
tree05a31a7e6c4e9d3b4ed9324b7b29bf4c3a62c494
parentapp-crypt/sequoia-sq: update HOMEPAGE, move clang to DEPEND (diff)
downloadgentoo-8b4c946f.tar.gz
gentoo-8b4c946f.tar.bz2
gentoo-8b4c946f.zip
media-libs/libvpx: build ppc64le-linux-gcc target on power9 cpu
it may build on power7 and power8 with vsx codepaths, but will fail testsuite and at runtime. So only enable vsx codepaths on power9 CPUs, it's the only one that makes sense anyway. testsuite passes with flying colors, same as generic-gnu target. [==========] 952 tests from 48 test suites ran. NOTE: previous versions also built ppc64le-linux-gcc target via auto-detection. so not much changes, we just make it explicit. Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
-rw-r--r--media-libs/libvpx/libvpx-1.11.0.ebuild5
1 files changed, 4 insertions, 1 deletions
diff --git a/media-libs/libvpx/libvpx-1.11.0.ebuild b/media-libs/libvpx/libvpx-1.11.0.ebuild
index 7d495a5048b8..186980591136 100644
--- a/media-libs/libvpx/libvpx-1.11.0.ebuild
+++ b/media-libs/libvpx/libvpx-1.11.0.ebuild
@@ -22,7 +22,7 @@ SRC_URI="https://github.com/webmproject/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="BSD"
SLOT="0/7"
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc +highbitdepth postproc static-libs test +threads"
+IUSE="cpu_flags_ppc_vsx3 doc +highbitdepth postproc static-libs test +threads"
REQUIRED_USE="test? ( threads )"
@@ -94,6 +94,9 @@ multilib_src_configure() {
myconfargs+=( --force-target=arm64-linux-gcc )
elif [[ ${ABI} == arm ]] && [[ ${CHOST} == *armv7* ]] ; then
myconfargs+=( --force-target=armv7-linux-gcc )
+ elif [[ ${ABI} == ppc64 ]] && [[ $(tc-endian) != big ]] && use cpu_flags_ppc_vsx3; then
+ # only enable this target for at least power9 CPU running little-endian
+ myconfargs+=( --force-target=ppc64le-linux-gcc )
else
myconfargs+=( --force-target=generic-gnu )
fi