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" }
