commit:     0ffddcc20f7ac8ce504a8937ffaa1f2942ce9715
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 20 13:36:33 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Sep 20 14:04:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ffddcc2

dev-lang/spidermonkey: add CPU_FLAGS_ARM=neon

Closes: https://bugs.gentoo.org/717344
Package-Manager: Portage-3.0.7, Repoman-3.0.1
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild | 53 +++++++++++++++--------
 dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild  | 53 +++++++++++++++--------
 2 files changed, 68 insertions(+), 38 deletions(-)

diff --git a/dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild 
b/dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild
index 33ac6b9447f..66fb961070c 100644
--- a/dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{6..9} )
 
 WANT_AUTOCONF="2.1"
 
-inherit autotools check-reqs python-any-r1
+inherit autotools check-reqs python-any-r1 toolchain-funcs
 
 MY_PN="mozjs"
 MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
@@ -53,7 +53,7 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc 
~ppc64 ~s390 ~sparc x86"
 
 SLOT="68"
 LICENSE="MPL-2.0"
-IUSE="debug +jit test"
+IUSE="cpu_flags_arm_neon debug +jit test"
 
 RESTRICT="!test? ( test )"
 
@@ -127,25 +127,40 @@ src_configure() {
        # ../python/mach/mach/mixin/process.py fails to detect SHELL
        export SHELL="${EPREFIX}/bin/bash"
 
-       # forcing system-icu allows us to skip patching bundled ICU for PPC
+       local -a myeconfargs=(
+               --host="${CBUILD:-${CHOST}}"
+               --target="${CHOST}"
+               --disable-jemalloc
+               --disable-optimize
+               --disable-strip
+               --enable-readline
+               --enable-shared-js
+               --with-intl-api
+               --with-system-icu
+               --with-system-nspr
+               --with-system-zlib
+               --with-toolchain-prefix="${CHOST}-"
+               $(use_enable debug)
+               $(use_enable jit ion)
+               $(use_enable test tests)
+       )
+
+       # Modifications to better support ARM, bug 717344
+       if use cpu_flags_arm_neon ; then
+               myeconfargs+=( --with-fpu=neon )
+
+               if ! tc-is-clang ; then
+                       # thumb options aren't supported when using clang, bug 
666966
+                       myeconfargs+=( --with-thumb=yes )
+                       myeconfargs+=( --with-thumb-interwork=no )
+               fi
+       fi
+
+       # Forcing system-icu allows us to skip patching bundled ICU for PPC
        # and other minor arches
        ECONF_SOURCE="${S}" \
-       econf \
-               --host="${CBUILD:-${CHOST}}" \
-               --target="${CHOST}" \
-               --disable-jemalloc \
-               --disable-optimize \
-               --disable-strip \
-               --enable-readline \
-               --enable-shared-js \
-               --with-intl-api \
-               --with-system-icu \
-               --with-system-nspr \
-               --with-system-zlib \
-               --with-toolchain-prefix="${CHOST}-" \
-               $(use_enable debug) \
-               $(use_enable jit ion) \
-               $(use_enable test tests) \
+               econf \
+               ${myeconfargs[@]} \
                XARGS="${EPREFIX}/usr/bin/xargs"
 
        # restore PYTHON

diff --git a/dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild 
b/dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild
index 20632cb0a25..372379f4e97 100644
--- a/dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild
@@ -9,7 +9,7 @@ WANT_AUTOCONF="2.1"
 
 LLVM_MAX_SLOT=10
 
-inherit autotools check-reqs llvm multiprocessing python-any-r1
+inherit autotools check-reqs llvm multiprocessing python-any-r1 toolchain-funcs
 
 MY_PN="mozjs"
 MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
@@ -55,7 +55,7 @@ KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc64 ~s390 ~x86"
 
 SLOT="78"
 LICENSE="MPL-2.0"
-IUSE="debug +jit test"
+IUSE="cpu_flags_arm_neon debug +jit test"
 
 RESTRICT="!test? ( test )"
 
@@ -155,25 +155,40 @@ src_configure() {
        # ../python/mach/mach/mixin/process.py fails to detect SHELL
        export SHELL="${EPREFIX}/bin/bash"
 
-       # forcing system-icu allows us to skip patching bundled ICU for PPC
+       local -a myeconfargs=(
+               --host="${CBUILD:-${CHOST}}"
+               --target="${CHOST}"
+               --disable-jemalloc
+               --disable-optimize
+               --disable-strip
+               --enable-readline
+               --enable-shared-js
+               --with-intl-api
+               --with-system-icu
+               --with-system-nspr
+               --with-system-zlib
+               --with-toolchain-prefix="${CHOST}-"
+               $(use_enable debug)
+               $(use_enable jit)
+               $(use_enable test tests)
+       )
+
+       # Modifications to better support ARM, bug 717344
+       if use cpu_flags_arm_neon ; then
+               myeconfargs+=( --with-fpu=neon )
+
+               if ! tc-is-clang ; then
+                       # thumb options aren't supported when using clang, bug 
666966
+                       myeconfargs+=( --with-thumb=yes )
+                       myeconfargs+=( --with-thumb-interwork=no )
+               fi
+       fi
+
+       # Forcing system-icu allows us to skip patching bundled ICU for PPC
        # and other minor arches
        ECONF_SOURCE="${S}" \
-       econf \
-               --host="${CBUILD:-${CHOST}}" \
-               --target="${CHOST}" \
-               --disable-jemalloc \
-               --disable-optimize \
-               --disable-strip \
-               --enable-readline \
-               --enable-shared-js \
-               --with-intl-api \
-               --with-system-icu \
-               --with-system-nspr \
-               --with-system-zlib \
-               --with-toolchain-prefix="${CHOST}-" \
-               $(use_enable debug) \
-               $(use_enable jit) \
-               $(use_enable test tests) \
+               econf \
+               ${myeconfargs[@]} \
                XARGS="${EPREFIX}/usr/bin/xargs"
 }
 

Reply via email to