commit:     88db124b3f3ed7eaaead23a888fbb01dad93eeab
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 10:14:52 2017 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Aug 30 21:29:24 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88db124b

media-libs/speex: Use CPU_FLAGS_ARM and fix logic on armv6+ (#617322)

Package-Manager: Portage-2.3.8, Repoman-2.3.2

 media-libs/speex/metadata.xml          |  1 -
 media-libs/speex/speex-1.2.0-r1.ebuild | 19 +++++++++++++++----
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/media-libs/speex/metadata.xml b/media-libs/speex/metadata.xml
index 7617efb0161..deddfd6ac1a 100644
--- a/media-libs/speex/metadata.xml
+++ b/media-libs/speex/metadata.xml
@@ -9,7 +9,6 @@
     <remote-id type="cpe">cpe:/a:xiph:speex</remote-id>
   </upstream>
   <use>
-    <flag name="armv5te">Enables optimizations for armv5te processors.</flag>
     <flag name="utils">Enables speex commandline utilities (speexenc, 
speexdec).</flag>
     <flag name="vbr">Enable VBR support.</flag>
   </use>

diff --git a/media-libs/speex/speex-1.2.0-r1.ebuild 
b/media-libs/speex/speex-1.2.0-r1.ebuild
index 138ae9c759b..bf424f56d19 100644
--- a/media-libs/speex/speex-1.2.0-r1.ebuild
+++ b/media-libs/speex/speex-1.2.0-r1.ebuild
@@ -14,7 +14,7 @@ 
SRC_URI="http://downloads.xiph.org/releases/speex/${MY_P}.tar.gz";
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc 
~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="armv5te cpu_flags_x86_sse static-libs utils +vbr"
+IUSE="cpu_flags_arm_v4 cpu_flags_arm_v5 cpu_flags_arm_v6 cpu_flags_x86_sse 
static-libs utils +vbr"
 
 RDEPEND="
        utils? (
@@ -41,16 +41,27 @@ src_prepare() {
 multilib_src_configure() {
        append-lfs-flags
 
+       local \
+               ARM4_ARG=--disable-arm4-asm \
+               ARM5_ARG=--disable-arm5e-asm
+
+       if use arm && ! use cpu_flags_arm_v6; then
+               if use cpu_flags_arm_v5; then
+                       ARM5_ARG=--enable-arm5e-asm
+               elif use cpu_flags_arm_v4; then
+                       ARM4_ARG=--enable-arm4-asm
+               fi
+       fi
+
        # Can also be configured without floating point
        # --enable-fixed-point
        ECONF_SOURCE="${S}" econf \
                $(use_enable static-libs static) \
-               $(usex arm $(usex armv5te '--disable-arm4-asm' 
'--enable-arm4-asm') '--disable-arm4-asm') \
-               $(use_enable armv5te arm5e-asm) \
                $(use_enable cpu_flags_x86_sse sse) \
                $(use_enable vbr) \
                $(use_with utils speexdsp) \
-               $(use_enable utils binaries)
+               $(use_enable utils binaries) \
+               ${ARM4_ARG} ${ARM5_ARG}
 }
 
 multilib_src_install_all() {

Reply via email to