diff -r 0887a88b1e85 -r 67f876aafae8 mozilla-disable-neon-option.patch --- a/mozilla-disable-neon-option.patch Wed Feb 08 08:31:42 2012 +0100 +++ b/mozilla-disable-neon-option.patch Wed Feb 08 08:34:20 2012 +0100 @@ -1,12 +1,12 @@ # HG changeset patch # User Joop Boonen -# Parent be20a0ae420eb2b3584ce2c5d241e2817bac8593 +# Parent 5f38d3aa0414fe0ac7ff1f0b47da44069e7ccdda 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 +@@ -1726,41 +1726,47 @@ if test -n "$all_flags"; then ASFLAGS="$ASFLAGS $all_flags" if test -n "$thumb_flag"; then LDFLAGS="$LDFLAGS $thumb_flag" @@ -20,26 +20,6 @@ - # 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, @@ -50,24 +30,36 @@ + # 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") + [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 + 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") + [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 + AC_DEFINE(HAVE_ARM_NEON) + HAVE_ARM_NEON=1 +- fi +-fi # CPU_ARCH = arm + fi + fi # CPU_ARCH = arm +fi @@ -75,14 +67,14 @@ 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 ======================================================== + 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 -@@ -1604,41 +1604,47 @@ if test -n "$all_flags"; then +@@ -1664,41 +1664,47 @@ if test -n "$all_flags"; then ASFLAGS="$ASFLAGS $all_flags" if test -n "$thumb_flag"; then LDFLAGS="$LDFLAGS $thumb_flag" @@ -96,26 +88,6 @@ - # 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, @@ -126,24 +98,36 @@ + # 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") + [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 + 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") + [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 + AC_DEFINE(HAVE_ARM_NEON) + HAVE_ARM_NEON=1 +- fi +-fi # CPU_ARCH = arm + fi + fi # CPU_ARCH = arm +fi @@ -151,7 +135,7 @@ 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 ======================================================== + dnl ================================================================= + dnl Set up and test static assertion macros used to avoid AC_TRY_RUN, + dnl which is bad when cross compiling. + dnl =================================================================