mozilla-disable-neon-option.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Sun, 07 Oct 2012 21:27:06 +0200
branchesr10
changeset 549 eed5124a1ab3
parent 371 ead21d122ed0
child 382 67f876aafae8
permissions -rw-r--r--
10.0.8 release

# HG changeset patch
# User Joop Boonen <joop.boonen@opensuse.org>
# Parent be20a0ae420eb2b3584ce2c5d241e2817bac8593
Add configure option to allow disabling of neon.

diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
@@ -1674,41 +1674,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([],
-                 [asm("uqadd8 r1, r1, r2");],
-                 result="yes", result="no")
-  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([],
-                 [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
-                 result="yes", result="no")
-  AC_MSG_RESULT("$result")
-  if test "$result" = "yes"; then
-      AC_DEFINE(HAVE_ARM_NEON)
-      HAVE_ARM_NEON=1
-  fi
-fi # CPU_ARCH = arm
+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_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([],
+                   [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
+                   result="yes", result="no")
+    AC_MSG_RESULT("$result")
+    if test "$result" = "yes"; then
+        AC_DEFINE(HAVE_ARM_NEON)
+        HAVE_ARM_NEON=1
+    fi
+  fi # CPU_ARCH = arm
+fi
 
 AC_SUBST(HAVE_ARM_SIMD)
 AC_SUBST(HAVE_ARM_NEON)
 
 dnl ========================================================
 dnl Android libstdc++, placed here so it can use MOZ_ARCH
 dnl computed above.
 dnl ========================================================
diff --git a/js/src/configure.in b/js/src/configure.in
--- a/js/src/configure.in
+++ b/js/src/configure.in
@@ -1604,41 +1604,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([],
-                 [asm("uqadd8 r1, r1, r2");],
-                 result="yes", result="no")
-  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([],
-                 [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
-                 result="yes", result="no")
-  AC_MSG_RESULT("$result")
-  if test "$result" = "yes"; then
-      AC_DEFINE(HAVE_ARM_NEON)
-      HAVE_ARM_NEON=1
-  fi
-fi # CPU_ARCH = arm
+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_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([],
+                   [asm(".fpu neon\n vadd.i8 d0, d0, d0");],
+                   result="yes", result="no")
+    AC_MSG_RESULT("$result")
+    if test "$result" = "yes"; then
+        AC_DEFINE(HAVE_ARM_NEON)
+        HAVE_ARM_NEON=1
+    fi
+  fi # CPU_ARCH = arm
+fi
 
 AC_SUBST(HAVE_ARM_SIMD)
 AC_SUBST(HAVE_ARM_NEON)
 
 dnl ========================================================
 dnl Android libstdc++, placed here so it can use MOZ_ARCH
 dnl computed above.
 dnl ========================================================