media-libs/speex: Use CPU_FLAGS_ARM and fix logic on armv6+ (#617322)
authorJames Le Cuirot <chewi@gentoo.org>
Sat, 26 Aug 2017 10:14:52 +0000 (11:14 +0100)
committerJames Le Cuirot <chewi@gentoo.org>
Wed, 30 Aug 2017 21:29:24 +0000 (22:29 +0100)
Package-Manager: Portage-2.3.8, Repoman-2.3.2

media-libs/speex/metadata.xml
media-libs/speex/speex-1.2.0-r1.ebuild

index 7617efb01619052e449e7d891c8da4ee98bae4bc..deddfd6ac1ae68fc6c8f34ac52a6a2de1d941907 100644 (file)
@@ -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>
index 138ae9c759b9f88bee57a474066a0da90ddf9f24..bf424f56d190bc0f787000822e637706b858237f 100644 (file)
@@ -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() {