public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Thomas Deutschmann" <whissi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/x265/
Date: Sun, 24 May 2020 20:25:11 +0000 (UTC)	[thread overview]
Message-ID: <1590351830.eba596db8a926adb18595549c89294ed0a1e929e.whissi@gentoo> (raw)

commit:     eba596db8a926adb18595549c89294ed0a1e929e
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun May 24 15:07:04 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun May 24 20:23:50 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eba596db

media-libs/x265: rework assembly support

Closes: https://bugs.gentoo.org/681878
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 media-libs/x265/metadata.xml    |  1 +
 media-libs/x265/x265-3.3.ebuild | 66 ++++++++++++++++++++---------------------
 2 files changed, 34 insertions(+), 33 deletions(-)

diff --git a/media-libs/x265/metadata.xml b/media-libs/x265/metadata.xml
index 22a07293b83..c585d553631 100644
--- a/media-libs/x265/metadata.xml
+++ b/media-libs/x265/metadata.xml
@@ -5,6 +5,7 @@
     <email>media-video@gentoo.org</email>
   </maintainer>
   <use>
+    <flag name="asm">Enable x86_64 assembly optimizations.</flag>
     <flag name="10bit">Add support for producing 10bits HEVC.</flag>
     <flag name="12bit">Add support for producing 12bits HEVC.</flag>
     <flag name="numa">Build with support for NUMA nodes.</flag>

diff --git a/media-libs/x265/x265-3.3.ebuild b/media-libs/x265/x265-3.3.ebuild
index 9fc0159bc00..f5c4fee6d97 100644
--- a/media-libs/x265/x265-3.3.ebuild
+++ b/media-libs/x265/x265-3.3.ebuild
@@ -19,15 +19,17 @@ HOMEPAGE="http://x265.org/ https://bitbucket.org/multicoreware/x265/wiki/Home"
 LICENSE="GPL-2"
 # subslot = libx265 soname
 SLOT="0/188"
-IUSE="+10bit +12bit cpu_flags_arm_neon numa pic power8 test"
+IUSE="+asm +10bit +12bit cpu_flags_arm_neon numa pic power8 test"
 
 # Test suite requires assembly support and is known to be broken
 RESTRICT="test"
 
 ASM_DEPEND=">=dev-lang/yasm-1.2.0"
 
-BDEPEND="abi_x86_32? ( ${ASM_DEPEND} )
-	abi_x86_64? ( ${ASM_DEPEND} )"
+BDEPEND="asm? (
+		abi_x86_32? ( ${ASM_DEPEND} )
+		abi_x86_64? ( ${ASM_DEPEND} )
+	)"
 
 RDEPEND="numa? ( >=sys-process/numactl-2.0.10-r1[${MULTILIB_USEDEP}] )"
 
@@ -85,17 +87,6 @@ x265_variant_src_configure() {
 				-DENABLE_CLI=OFF
 				-DMAIN12=ON
 			)
-			if [[ ${ABI} = x86 ]] ; then
-				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
-			fi
-			if [[ ${ABI} = arm ]] ; then
-				# 589674
-				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
-			fi
-			if [[ ${ABI} = ppc64 ]] ; then
-				# https://bugs.gentoo.org/show_bug.cgi?id=607802#c5
-				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF -DENABLE_ALTIVEC=OFF )
-			fi
 			;;
 		"main10")
 			mycmakeargs+=(
@@ -104,17 +95,6 @@ x265_variant_src_configure() {
 				-DENABLE_SHARED=OFF
 				-DENABLE_CLI=OFF
 			)
-			if [[ ${ABI} = x86 ]] ; then
-				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
-			fi
-			if [[ ${ABI} = arm ]] ; then
-				# 589674
-				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
-			fi
-			if [[ ${ABI} = ppc64 ]] ; then
-				# https://bugs.gentoo.org/show_bug.cgi?id=607802#c5
-				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF -DENABLE_ALTIVEC=OFF )
-			fi
 			;;
 		"main")
 			if (( "${#MULTIBUILD_VARIANTS[@]}" > 1 )) ; then
@@ -146,7 +126,6 @@ multilib_src_configure() {
 	append-cxxflags -fPIC
 
 	local myabicmakeargs=(
-		-DENABLE_TESTS=$(usex test ON OFF)
 		$(multilib_is_native_abi || echo "-DENABLE_CLI=OFF")
 		-DENABLE_LIBNUMA=$(usex numa ON OFF)
 		-DCPU_POWER8=$(usex power8 ON OFF)
@@ -154,18 +133,39 @@ multilib_src_configure() {
 		-DLIB_INSTALL_DIR="$(get_libdir)"
 	)
 
+	local supports_asm=yes
+
 	if [[ ${ABI} = x86 ]] ; then
-		# Bug #528202
-		if use pic ; then
+		if use asm && use pic ; then
+			# Bug #528202
 			ewarn "PIC has been requested but x86 asm is not PIC-safe, disabling it."
-			myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+			supports_asm=no
 		fi
 	elif [[ ${ABI} = x32 ]] ; then
-		# bug #510890
-		myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+		if use asm ; then
+			# bug #510890
+			ewarn "x32 ABI doesn't support asm"
+			supports_asm=no
+		fi
 	elif [[ ${ABI} = arm ]] ; then
-		myabicmakeargs+=( -DENABLE_ASSEMBLY=$(usex pic OFF $(usex cpu_flags_arm_neon ON OFF)) )
-		use cpu_flags_arm_neon && use pic && ewarn "PIC has been requested but arm neon asm is not PIC-safe, disabling it."
+		if use asm && use pic ; then
+			ewarn "PIC has been requested but arm neon asm is not PIC-safe, disabling it."
+			supports_asm=no
+		elif use asm && use cpu_flags_arm_neon ; then
+			supports_asm=yes
+		elif use asm ; then
+			supports_asm=no
+		fi
+	fi
+
+	if [[ "${supports_asm}" = yes ]] && use asm ; then
+		myabicmakeargs+=( -DENABLE_ASSEMBLY=ON )
+
+		if multilib_is_native_abi ; then
+			myabicmakeargs+=( -DENABLE_TESTS=$(usex test ON OFF) )
+		fi
+	else
+		myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
 	fi
 
 	local MULTIBUILD_VARIANTS=( $(x265_get_variants) )


             reply	other threads:[~2020-05-24 20:25 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-24 20:25 Thomas Deutschmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-28 15:07 [gentoo-commits] repo/gentoo:master commit in: media-libs/x265/ Arthur Zamarin
2024-11-25 23:34 Sam James
2024-11-24 11:02 Sam James
2024-11-23 17:19 Sam James
2024-11-23 16:44 Michał Górny
2024-09-22 11:08 Sam James
2024-08-26  7:15 Sam James
2024-08-25 15:44 Sam James
2024-03-18  7:20 Sam James
2024-03-18  7:20 Sam James
2023-12-21 16:01 Arthur Zamarin
2023-12-21 15:15 Sam James
2023-12-21 14:12 Arthur Zamarin
2023-12-21 14:12 Arthur Zamarin
2023-12-21 12:56 Sam James
2023-12-21 11:55 Sam James
2023-12-21  9:57 Sam James
2023-03-25  3:32 Sam James
2023-03-10  7:45 Sam James
2023-03-03  6:28 Viorel Munteanu
2022-11-28  7:58 WANG Xuerui
2022-11-12 17:48 Matt Turner
2022-03-09 23:46 Sam James
2022-02-20  9:14 Agostino Sarubbo
2022-02-20  1:48 Sam James
2022-02-20  1:48 Sam James
2022-02-19 14:27 Jakov Smolić
2022-02-19 14:27 Jakov Smolić
2022-02-19  7:19 Arthur Zamarin
2022-02-19  3:38 Sam James
2022-02-19  3:38 Sam James
2021-10-06  1:02 Sam James
2021-09-25  3:43 Ionen Wolkens
2021-08-03  7:35 Alexis Ballier
2020-09-07  8:47 Sergei Trofimovich
2020-09-07  8:20 Sergei Trofimovich
2020-09-06  7:49 Sergei Trofimovich
2020-09-04  4:54 Sam James
2020-09-04  0:21 Sam James
2020-09-04  0:21 Sam James
2020-09-03 14:38 Thomas Deutschmann
2020-08-25 12:37 Alexis Ballier
2020-06-08 19:34 Georgy Yakovlev
2020-06-08 18:23 Georgy Yakovlev
2020-06-07 23:24 Georgy Yakovlev
2020-06-07 12:42 Alexis Ballier
2020-06-05 15:21 Alexis Ballier
2020-06-05 15:21 Alexis Ballier
2020-05-25  5:11 Georgy Yakovlev
2020-05-25  5:11 Georgy Yakovlev
2020-05-24 20:59 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-01-20 17:43 Alexis Ballier
2019-12-29 19:34 Mike Gilbert
2019-10-04 17:28 Alexis Ballier
2019-09-29  2:56 Mike Gilbert
2019-08-26 15:33 Alexis Ballier
2019-07-02 17:13 Alexis Ballier
2019-05-05 19:05 Mike Gilbert
2019-02-06 13:56 Alexis Ballier
2018-11-11 22:58 Andreas Sturmlechner
2018-10-15 18:12 Markus Meier
2018-10-11 16:28 Alexis Ballier
2018-10-07 21:27 Matt Turner
2018-10-07 21:27 Matt Turner
2018-10-06 22:08 Sergei Trofimovich
2018-10-01  0:07 Thomas Deutschmann
2018-09-30 21:38 Sergei Trofimovich
2018-09-28  8:01 Mikle Kolyada
2018-06-19 13:41 Alexis Ballier
2018-04-18 13:12 Mikle Kolyada
2018-04-12 14:43 Sergei Trofimovich
2018-04-03  6:26 Sergei Trofimovich
2018-02-25 18:21 Thomas Deutschmann
2018-02-24 11:06 Sergei Trofimovich
2018-02-24  7:20 Jason Zaman
2018-02-23 23:17 Sergei Trofimovich
2018-02-22 13:40 Alexis Ballier
2018-02-22 13:40 Alexis Ballier
2017-12-09 18:41 Craig Andrews
2017-11-30 13:57 Alexis Ballier
2017-08-31 12:37 Tim Harder
2017-08-31 12:37 Tim Harder
2017-07-16 12:17 Alexis Ballier
2017-07-16 12:17 Alexis Ballier
2017-06-17 15:08 Sergei Trofimovich
2017-06-17 15:08 Sergei Trofimovich
2017-06-16  9:36 Alexis Ballier
2017-06-16  9:36 Alexis Ballier
2017-04-23 15:12 Alexis Ballier
2017-03-12 11:39 Alexis Ballier
2017-02-24  8:30 Michael Weber
2017-02-17 11:10 Alexis Ballier
2017-02-16  5:00 Alexis Ballier
2017-02-07 11:51 Alexis Ballier
2017-02-07 11:51 Alexis Ballier
2017-02-04 15:21 Agostino Sarubbo
2017-02-04 12:12 Jeroen Roovers
2017-01-04 12:08 Alexis Ballier
2017-01-01 12:43 Agostino Sarubbo
2016-12-26 16:45 Alexis Ballier
2016-09-27 10:25 Alexis Ballier
2016-02-03 20:40 Markus Meier
2016-01-29 19:00 Alexis Ballier
2016-01-27 15:06 Jeroen Roovers
2016-01-25 10:25 Agostino Sarubbo
2016-01-25 10:25 Agostino Sarubbo
2015-11-08  7:22 Jeroen Roovers
2015-10-16  5:17 Jeroen Roovers
2015-10-15 16:40 Alexis Ballier
2015-10-15 14:41 Alexis Ballier
2015-10-15 14:28 Alexis Ballier
2015-10-15 14:13 Alexis Ballier
2015-10-11 11:48 Alexis Ballier
2015-10-11 11:29 Alexis Ballier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1590351830.eba596db8a926adb18595549c89294ed0a1e929e.whissi@gentoo \
    --to=whissi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox