1
0
MozillaFirefox/mozilla-disable-neon-option.patch

142 lines
4.2 KiB
Diff
Raw Normal View History

# HG changeset patch
# User Joop Boonen <joop.boonen@opensuse.org>
# Parent 5f38d3aa0414fe0ac7ff1f0b47da44069e7ccdda
Add configure option to allow disabling of neon.
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
@@ -1726,41 +1726,47 @@ if test -n "$all_flags"; then
ASFLAGS="$ASFLAGS $all_flags"
if test -n "$thumb_flag"; then
LDFLAGS="$LDFLAGS $thumb_flag"
fi
fi
AC_SUBST(MOZ_THUMB2)
-if test "$CPU_ARCH" = "arm"; then
- AC_MSG_CHECKING(for ARM SIMD support in compiler)
- # We try to link so that this also fails when
- # building with LTO.
- AC_TRY_LINK([],
+MOZ_ARG_DISABLE_BOOL(neon,
+[ --disable-neon Disable neon extensions],
+ NS_DISABLE_NEON=1,
+ NS_DISABLE_NEON= )
+if test "$NS_DISABLE_NEON" != "1"; then
+ if test "$CPU_ARCH" = "arm"; then
+ AC_MSG_CHECKING(for ARM SIMD support in compiler)
+ # We try to link so that this also fails when
+ # building with LTO.
+ AC_TRY_LINK([],
[asm("uqadd8 r1, r1, r2");],
result="yes", result="no")
- AC_MSG_RESULT("$result")
- if test "$result" = "yes"; then
+ AC_MSG_RESULT("$result")
+ if test "$result" = "yes"; then
AC_DEFINE(HAVE_ARM_SIMD)
HAVE_ARM_SIMD=1
- fi
-
- AC_MSG_CHECKING(for ARM NEON support in compiler)
- # We try to link so that this also fails when
- # building with LTO.
- AC_TRY_LINK([],
+ fi
+
+ AC_MSG_CHECKING(for ARM NEON support in compiler)
+ # We try to link so that this also fails when
+ # building with LTO.
+ AC_TRY_LINK([],
[asm(".fpu neon\n vadd.i8 d0, d0, d0");],
result="yes", result="no")
- AC_MSG_RESULT("$result")
- if test "$result" = "yes"; then
+ AC_MSG_RESULT("$result")
+ if test "$result" = "yes"; then
AC_DEFINE(HAVE_ARM_NEON)
HAVE_ARM_NEON=1
- fi
-fi # CPU_ARCH = arm
+ fi
+ fi # CPU_ARCH = arm
+fi
AC_SUBST(HAVE_ARM_SIMD)
AC_SUBST(HAVE_ARM_NEON)
dnl =================================================================
dnl Set up and test static assertion macros used to avoid AC_TRY_RUN,
dnl which is bad when cross compiling.
dnl =================================================================
diff --git a/js/src/configure.in b/js/src/configure.in
--- a/js/src/configure.in
+++ b/js/src/configure.in
@@ -1664,41 +1664,47 @@ if test -n "$all_flags"; then
ASFLAGS="$ASFLAGS $all_flags"
if test -n "$thumb_flag"; then
LDFLAGS="$LDFLAGS $thumb_flag"
fi
fi
AC_SUBST(MOZ_THUMB2)
-if test "$CPU_ARCH" = "arm"; then
- AC_MSG_CHECKING(for ARM SIMD support in compiler)
- # We try to link so that this also fails when
- # building with LTO.
- AC_TRY_LINK([],
+MOZ_ARG_DISABLE_BOOL(neon,
+[ --disable-neon Disable neon extensions],
+ NS_DISABLE_NEON=1,
+ NS_DISABLE_NEON= )
+if test "$NS_DISABLE_NEON" != "1"; then
+ if test "$CPU_ARCH" = "arm"; then
+ AC_MSG_CHECKING(for ARM SIMD support in compiler)
+ # We try to link so that this also fails when
+ # building with LTO.
+ AC_TRY_LINK([],
[asm("uqadd8 r1, r1, r2");],
result="yes", result="no")
- AC_MSG_RESULT("$result")
- if test "$result" = "yes"; then
+ AC_MSG_RESULT("$result")
+ if test "$result" = "yes"; then
AC_DEFINE(HAVE_ARM_SIMD)
HAVE_ARM_SIMD=1
- fi
-
- AC_MSG_CHECKING(for ARM NEON support in compiler)
- # We try to link so that this also fails when
- # building with LTO.
- AC_TRY_LINK([],
+ fi
+
+ AC_MSG_CHECKING(for ARM NEON support in compiler)
+ # We try to link so that this also fails when
+ # building with LTO.
+ AC_TRY_LINK([],
[asm(".fpu neon\n vadd.i8 d0, d0, d0");],
result="yes", result="no")
- AC_MSG_RESULT("$result")
- if test "$result" = "yes"; then
+ AC_MSG_RESULT("$result")
+ if test "$result" = "yes"; then
AC_DEFINE(HAVE_ARM_NEON)
HAVE_ARM_NEON=1
- fi
-fi # CPU_ARCH = arm
+ fi
+ fi # CPU_ARCH = arm
+fi
AC_SUBST(HAVE_ARM_SIMD)
AC_SUBST(HAVE_ARM_NEON)
dnl =================================================================
dnl Set up and test static assertion macros used to avoid AC_TRY_RUN,
dnl which is bad when cross compiling.
dnl =================================================================