1 |
commit: eba596db8a926adb18595549c89294ed0a1e929e |
2 |
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun May 24 15:07:04 2020 +0000 |
4 |
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun May 24 20:23:50 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eba596db |
7 |
|
8 |
media-libs/x265: rework assembly support |
9 |
|
10 |
Closes: https://bugs.gentoo.org/681878 |
11 |
Package-Manager: Portage-2.3.99, Repoman-2.3.22 |
12 |
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> |
13 |
|
14 |
media-libs/x265/metadata.xml | 1 + |
15 |
media-libs/x265/x265-3.3.ebuild | 66 ++++++++++++++++++++--------------------- |
16 |
2 files changed, 34 insertions(+), 33 deletions(-) |
17 |
|
18 |
diff --git a/media-libs/x265/metadata.xml b/media-libs/x265/metadata.xml |
19 |
index 22a07293b83..c585d553631 100644 |
20 |
--- a/media-libs/x265/metadata.xml |
21 |
+++ b/media-libs/x265/metadata.xml |
22 |
@@ -5,6 +5,7 @@ |
23 |
<email>media-video@g.o</email> |
24 |
</maintainer> |
25 |
<use> |
26 |
+ <flag name="asm">Enable x86_64 assembly optimizations.</flag> |
27 |
<flag name="10bit">Add support for producing 10bits HEVC.</flag> |
28 |
<flag name="12bit">Add support for producing 12bits HEVC.</flag> |
29 |
<flag name="numa">Build with support for NUMA nodes.</flag> |
30 |
|
31 |
diff --git a/media-libs/x265/x265-3.3.ebuild b/media-libs/x265/x265-3.3.ebuild |
32 |
index 9fc0159bc00..f5c4fee6d97 100644 |
33 |
--- a/media-libs/x265/x265-3.3.ebuild |
34 |
+++ b/media-libs/x265/x265-3.3.ebuild |
35 |
@@ -19,15 +19,17 @@ HOMEPAGE="http://x265.org/ https://bitbucket.org/multicoreware/x265/wiki/Home" |
36 |
LICENSE="GPL-2" |
37 |
# subslot = libx265 soname |
38 |
SLOT="0/188" |
39 |
-IUSE="+10bit +12bit cpu_flags_arm_neon numa pic power8 test" |
40 |
+IUSE="+asm +10bit +12bit cpu_flags_arm_neon numa pic power8 test" |
41 |
|
42 |
# Test suite requires assembly support and is known to be broken |
43 |
RESTRICT="test" |
44 |
|
45 |
ASM_DEPEND=">=dev-lang/yasm-1.2.0" |
46 |
|
47 |
-BDEPEND="abi_x86_32? ( ${ASM_DEPEND} ) |
48 |
- abi_x86_64? ( ${ASM_DEPEND} )" |
49 |
+BDEPEND="asm? ( |
50 |
+ abi_x86_32? ( ${ASM_DEPEND} ) |
51 |
+ abi_x86_64? ( ${ASM_DEPEND} ) |
52 |
+ )" |
53 |
|
54 |
RDEPEND="numa? ( >=sys-process/numactl-2.0.10-r1[${MULTILIB_USEDEP}] )" |
55 |
|
56 |
@@ -85,17 +87,6 @@ x265_variant_src_configure() { |
57 |
-DENABLE_CLI=OFF |
58 |
-DMAIN12=ON |
59 |
) |
60 |
- if [[ ${ABI} = x86 ]] ; then |
61 |
- mycmakeargs+=( -DENABLE_ASSEMBLY=OFF ) |
62 |
- fi |
63 |
- if [[ ${ABI} = arm ]] ; then |
64 |
- # 589674 |
65 |
- mycmakeargs+=( -DENABLE_ASSEMBLY=OFF ) |
66 |
- fi |
67 |
- if [[ ${ABI} = ppc64 ]] ; then |
68 |
- # https://bugs.gentoo.org/show_bug.cgi?id=607802#c5 |
69 |
- mycmakeargs+=( -DENABLE_ASSEMBLY=OFF -DENABLE_ALTIVEC=OFF ) |
70 |
- fi |
71 |
;; |
72 |
"main10") |
73 |
mycmakeargs+=( |
74 |
@@ -104,17 +95,6 @@ x265_variant_src_configure() { |
75 |
-DENABLE_SHARED=OFF |
76 |
-DENABLE_CLI=OFF |
77 |
) |
78 |
- if [[ ${ABI} = x86 ]] ; then |
79 |
- mycmakeargs+=( -DENABLE_ASSEMBLY=OFF ) |
80 |
- fi |
81 |
- if [[ ${ABI} = arm ]] ; then |
82 |
- # 589674 |
83 |
- mycmakeargs+=( -DENABLE_ASSEMBLY=OFF ) |
84 |
- fi |
85 |
- if [[ ${ABI} = ppc64 ]] ; then |
86 |
- # https://bugs.gentoo.org/show_bug.cgi?id=607802#c5 |
87 |
- mycmakeargs+=( -DENABLE_ASSEMBLY=OFF -DENABLE_ALTIVEC=OFF ) |
88 |
- fi |
89 |
;; |
90 |
"main") |
91 |
if (( "${#MULTIBUILD_VARIANTS[@]}" > 1 )) ; then |
92 |
@@ -146,7 +126,6 @@ multilib_src_configure() { |
93 |
append-cxxflags -fPIC |
94 |
|
95 |
local myabicmakeargs=( |
96 |
- -DENABLE_TESTS=$(usex test ON OFF) |
97 |
$(multilib_is_native_abi || echo "-DENABLE_CLI=OFF") |
98 |
-DENABLE_LIBNUMA=$(usex numa ON OFF) |
99 |
-DCPU_POWER8=$(usex power8 ON OFF) |
100 |
@@ -154,18 +133,39 @@ multilib_src_configure() { |
101 |
-DLIB_INSTALL_DIR="$(get_libdir)" |
102 |
) |
103 |
|
104 |
+ local supports_asm=yes |
105 |
+ |
106 |
if [[ ${ABI} = x86 ]] ; then |
107 |
- # Bug #528202 |
108 |
- if use pic ; then |
109 |
+ if use asm && use pic ; then |
110 |
+ # Bug #528202 |
111 |
ewarn "PIC has been requested but x86 asm is not PIC-safe, disabling it." |
112 |
- myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF ) |
113 |
+ supports_asm=no |
114 |
fi |
115 |
elif [[ ${ABI} = x32 ]] ; then |
116 |
- # bug #510890 |
117 |
- myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF ) |
118 |
+ if use asm ; then |
119 |
+ # bug #510890 |
120 |
+ ewarn "x32 ABI doesn't support asm" |
121 |
+ supports_asm=no |
122 |
+ fi |
123 |
elif [[ ${ABI} = arm ]] ; then |
124 |
- myabicmakeargs+=( -DENABLE_ASSEMBLY=$(usex pic OFF $(usex cpu_flags_arm_neon ON OFF)) ) |
125 |
- use cpu_flags_arm_neon && use pic && ewarn "PIC has been requested but arm neon asm is not PIC-safe, disabling it." |
126 |
+ if use asm && use pic ; then |
127 |
+ ewarn "PIC has been requested but arm neon asm is not PIC-safe, disabling it." |
128 |
+ supports_asm=no |
129 |
+ elif use asm && use cpu_flags_arm_neon ; then |
130 |
+ supports_asm=yes |
131 |
+ elif use asm ; then |
132 |
+ supports_asm=no |
133 |
+ fi |
134 |
+ fi |
135 |
+ |
136 |
+ if [[ "${supports_asm}" = yes ]] && use asm ; then |
137 |
+ myabicmakeargs+=( -DENABLE_ASSEMBLY=ON ) |
138 |
+ |
139 |
+ if multilib_is_native_abi ; then |
140 |
+ myabicmakeargs+=( -DENABLE_TESTS=$(usex test ON OFF) ) |
141 |
+ fi |
142 |
+ else |
143 |
+ myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF ) |
144 |
fi |
145 |
|
146 |
local MULTIBUILD_VARIANTS=( $(x265_get_variants) ) |