commit:     6800eaeb8bc9bcaaf1169b404d6509d68be71a63
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 08:09:01 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 08:10:31 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6800eaeb

dev-python/pypy3: Restore non-SSE2 x86 backend

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pypy3/pypy3-7.1.1.ebuild | 25 +++++++++++++++++++++++--
 dev-python/pypy3/pypy3-9999.ebuild  | 25 +++++++++++++++++++++++--
 2 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/dev-python/pypy3/pypy3-7.1.1.ebuild 
b/dev-python/pypy3/pypy3-7.1.1.ebuild
index f0f7cdf74a2..344f0da4013 100644
--- a/dev-python/pypy3/pypy3-7.1.1.ebuild
+++ b/dev-python/pypy3/pypy3-7.1.1.ebuild
@@ -17,7 +17,8 @@ LICENSE="MIT"
 # pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
 SLOT="0/71-py36"
 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 gdbm +jit libressl low-memory ncurses sandbox sqlite tk"
+IUSE="bzip2 cpu_flags_x86_sse2 gdbm +jit libressl low-memory ncurses
+       sandbox sqlite tk"
 
 RDEPEND=">=sys-libs/zlib-1.1.3:0=
        virtual/libffi:0=
@@ -103,12 +104,32 @@ src_prepare() {
 src_configure() {
        tc-export CC
 
+       local jit_backend
+       if use jit; then
+               jit_backend='--jit-backend='
+
+               # We only need the explicit sse2 switch for x86.
+               # On other arches we can rely on autodetection which uses
+               # compiler macros. Plus, --jit-backend= doesn't accept all
+               # the modern values...
+
+               if use x86; then
+                       if use cpu_flags_x86_sse2; then
+                               jit_backend+=x86
+                       else
+                               jit_backend+=x86-without-sse2
+                       fi
+               else
+                       jit_backend+=auto
+               fi
+       fi
+
        local args=(
                --shared
                $(usex jit -Ojit -O2)
                $(usex sandbox --sandbox '')
 
-               --jit-backend=auto
+               ${jit_backend}
 
                pypy/goal/targetpypystandalone
        )

diff --git a/dev-python/pypy3/pypy3-9999.ebuild 
b/dev-python/pypy3/pypy3-9999.ebuild
index ca7aae03fe8..d6e6b0856ea 100644
--- a/dev-python/pypy3/pypy3-9999.ebuild
+++ b/dev-python/pypy3/pypy3-9999.ebuild
@@ -20,7 +20,8 @@ LICENSE="MIT"
 # pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
 SLOT="0/71-py36"
 KEYWORDS=""
-IUSE="bzip2 gdbm +jit libressl low-memory ncurses sandbox sqlite tk"
+IUSE="bzip2 cpu_flags_x86_sse2 gdbm +jit libressl low-memory ncurses
+       sandbox sqlite tk"
 
 RDEPEND=">=sys-libs/zlib-1.1.3:0=
        virtual/libffi:0=
@@ -111,12 +112,32 @@ src_prepare() {
 src_configure() {
        tc-export CC
 
+       local jit_backend
+       if use jit; then
+               jit_backend='--jit-backend='
+
+               # We only need the explicit sse2 switch for x86.
+               # On other arches we can rely on autodetection which uses
+               # compiler macros. Plus, --jit-backend= doesn't accept all
+               # the modern values...
+
+               if use x86; then
+                       if use cpu_flags_x86_sse2; then
+                               jit_backend+=x86
+                       else
+                               jit_backend+=x86-without-sse2
+                       fi
+               else
+                       jit_backend+=auto
+               fi
+       fi
+
        local args=(
                --shared
                $(usex jit -Ojit -O2)
                $(usex sandbox --sandbox '')
 
-               --jit-backend=auto
+               ${jit_backend}
 
                pypy/goal/targetpypystandalone
        )

Reply via email to