# HG changeset patch # User Joop Boonen # Date 1327234299 -3600 # Node ID ead21d122ed0d6a314b362e0576dc7fc1e8419f6 # Parent fb2107b60ba2658c094ea6e5a16c4aef5caa3190 introduce --disable-neon option and use on ARM diff -r fb2107b60ba2 -r ead21d122ed0 MozillaFirefox/MozillaFirefox.changes --- a/MozillaFirefox/MozillaFirefox.changes Sun Jan 22 12:57:26 2012 +0100 +++ b/MozillaFirefox/MozillaFirefox.changes Sun Jan 22 13:11:39 2012 +0100 @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Sun Jan 22 12:08:07 UTC 2012 - joop.boonen@opensuse.org + +- Disable neon for arm as it doesn't build correctly + +------------------------------------------------------------------- +Sun Jan 22 12:07:39 UTC 2012 - wr@rosenauer.org + +- update to Firefox 10.0b5 + ------------------------------------------------------------------- Fri Dec 23 17:02:01 UTC 2011 - wr@rosenauer.org diff -r fb2107b60ba2 -r ead21d122ed0 MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Sun Jan 22 12:57:26 2012 +0100 +++ b/MozillaFirefox/MozillaFirefox.spec Sun Jan 22 13:11:39 2012 +0100 @@ -86,6 +86,7 @@ Patch11: mozilla-sle11.patch Patch12: mozilla-linux3.patch Patch13: mozilla-a11y.patch +Patch14: mozilla-disable-neon-option.patch # Firefox/browser Patch31: firefox-browser-css.patch Patch32: firefox-cross-desktop.patch @@ -213,6 +214,7 @@ %endif %patch12 -p1 %patch13 -p1 +%patch14 -p1 # %patch31 -p1 %patch32 -p1 @@ -298,6 +300,12 @@ ac_add_options --disable-crashreporter EOF %endif +# Disable neon for arm as it does not build correctly +%ifarch %arm +cat << EOF >> $MOZCONFIG +ac_add_options --disable-neon +EOF +%endif make -f client.mk build %install diff -r fb2107b60ba2 -r ead21d122ed0 mozilla-disable-neon-option.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-disable-neon-option.patch Sun Jan 22 13:11:39 2012 +0100 @@ -0,0 +1,157 @@ +# HG changeset patch +# User Joop Boonen +# 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 ======================================================== diff -r fb2107b60ba2 -r ead21d122ed0 series --- a/series Sun Jan 22 12:57:26 2012 +0100 +++ b/series Sun Jan 22 13:11:39 2012 +0100 @@ -17,6 +17,7 @@ mozilla-sle11.patch mozilla-linux3.patch mozilla-a11y.patch +mozilla-disable-neon-option.patch # Firefox patches firefox-browser-css.patch diff -r fb2107b60ba2 -r ead21d122ed0 xulrunner/xulrunner.spec --- a/xulrunner/xulrunner.spec Sun Jan 22 12:57:26 2012 +0100 +++ b/xulrunner/xulrunner.spec Sun Jan 22 13:11:39 2012 +0100 @@ -1,8 +1,8 @@ # # spec file for package xulrunner # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. -# 2006-2011 Wolfgang Rosenauer +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# 2006-2012 Wolfgang Rosenauer # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -77,6 +77,7 @@ Patch14: mozilla-linux3.patch Patch15: mozilla-ppc64.patch Patch16: mozilla-a11y.patch +Patch17: mozilla-disable-neon-option.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: mozilla-js = %{version} Requires(post): update-alternatives coreutils @@ -196,6 +197,7 @@ %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 %build # no need to add build time to binaries @@ -282,6 +284,12 @@ ac_add_options --disable-ipc EOF %endif +# Disable neon for arm as it does not build correctly +%ifarch %arm +cat << EOF >> $MOZCONFIG +ac_add_options --disable-neon +EOF +%endif make -f client.mk build %install