community/xulrunner: fix v5 build

This commit is contained in:
Kevin Mihelich 2014-01-03 07:00:18 +00:00
parent 0125b52f38
commit 280c016bf3
2 changed files with 94 additions and 3 deletions

View file

@ -0,0 +1,83 @@
diff --git a/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp b/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp
--- a/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp
+++ b/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp
@@ -26,66 +26,78 @@ static void S32A_D565_Opaque(uint16_t* S
asm volatile (
"1: \n\t"
"ldr r3, [%[src]], #4 \n\t"
"cmp r3, #0xff000000 \n\t"
"blo 2f \n\t"
"and r4, r3, #0x0000f8 \n\t"
"and r5, r3, #0x00fc00 \n\t"
"and r6, r3, #0xf80000 \n\t"
+#if SK_ARM_ARCH >= 6
"pld [r1, #32] \n\t"
+#endif
"lsl r3, r4, #8 \n\t"
"orr r3, r3, r5, lsr #5 \n\t"
"orr r3, r3, r6, lsr #19 \n\t"
"subs %[count], %[count], #1 \n\t"
"strh r3, [%[dst]], #2 \n\t"
"bne 1b \n\t"
"b 4f \n\t"
"2: \n\t"
"lsrs r7, r3, #24 \n\t"
"beq 3f \n\t"
"ldrh r4, [%[dst]] \n\t"
"rsb r7, r7, #255 \n\t"
"and r6, r4, #0x001f \n\t"
-#if SK_ARM_ARCH == 6
+#if SK_ARM_ARCH <= 6
"lsl r5, r4, #21 \n\t"
"lsr r5, r5, #26 \n\t"
#else
"ubfx r5, r4, #5, #6 \n\t"
#endif
+#if SK_ARM_ARCH >= 6
"pld [r0, #16] \n\t"
+#endif
"lsr r4, r4, #11 \n\t"
#ifdef SK_ARM_HAS_EDSP
"smulbb r6, r6, r7 \n\t"
"smulbb r5, r5, r7 \n\t"
"smulbb r4, r4, r7 \n\t"
#else
"mul r6, r6, r7 \n\t"
"mul r5, r5, r7 \n\t"
"mul r4, r4, r7 \n\t"
#endif
+#if SK_ARM_ARCH >= 6
"uxtb r7, r3, ROR #16 \n\t"
"uxtb ip, r3, ROR #8 \n\t"
+#else
+ "mov ip, #0xff \n\t"
+ "and r7, ip, r3, ROR #16 \n\t"
+ "and ip, ip, r3, ROR #8 \n\t"
+#endif
"and r3, r3, #0xff \n\t"
"add r6, r6, #16 \n\t"
"add r5, r5, #32 \n\t"
"add r4, r4, #16 \n\t"
"add r6, r6, r6, lsr #5 \n\t"
"add r5, r5, r5, lsr #6 \n\t"
"add r4, r4, r4, lsr #5 \n\t"
"add r6, r7, r6, lsr #5 \n\t"
"add r5, ip, r5, lsr #6 \n\t"
"add r4, r3, r4, lsr #5 \n\t"
"lsr r6, r6, #3 \n\t"
"and r5, r5, #0xfc \n\t"
"and r4, r4, #0xf8 \n\t"
"orr r6, r6, r5, lsl #3 \n\t"
"orr r4, r6, r4, lsl #8 \n\t"
"strh r4, [%[dst]], #2 \n\t"
+#if SK_ARM_ARCH >= 6
"pld [r1, #32] \n\t"
+#endif
"subs %[count], %[count], #1 \n\t"
"bne 1b \n\t"
"b 4f \n\t"
"3: \n\t"
"subs %[count], %[count], #1 \n\t"
"add %[dst], %[dst], #2 \n\t"
"bne 1b \n\t"
"4: \n\t"

View file

@ -4,6 +4,8 @@
# ALARM: Kevin Mihelich
# - added --disable-elf-hack/neon to mozconfig
# - set extra CFLAG for v5
# - patch to fix build on v5 (https://bugzilla.mozilla.org/show_bug.cgi?id=901208)
highmem=1
@ -19,19 +21,23 @@ url="http://wiki.mozilla.org/XUL:Xul_Runner"
source=(ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/$pkgver/source/xulrunner-$pkgver.source.tar.bz2
mozconfig
mozilla-pkgconfig.patch
shared-libs.patch)
options=('!emptydirs')
shared-libs.patch
0026-Bug-901208-Fix-ARM-v4t.patch)
options=('!emptydirs' 'staticlibs')
replaces=('xulrunner-oss')
sha256sums=('50d70813cee1c966a6037957206626bb62dc047b011d2e4fab11c559008f9336'
'9823b9c6945b05f6a7bf712dae6349e00598ffa6f79376fe542a5cc1e5a596fb'
'23485d937035648add27a7657f6934dc5b295e886cdb0506eebd02a43d07f269'
'e2b4a00d14f4ba69c62b3f9ef9908263fbab179ba8004197cbc67edbd916fdf1'
'6297c56f197b07ca29b31b3d51dedb86ddd3b57c0651e75a45156e2062b048e0')
'b90076ef2e419bfbf27d9531c3d1202c18fa4b963a9b928da43a3034cf83ddd4')
prepare() {
cd "$srcdir/mozilla-release"
cp "$srcdir/mozconfig" .mozconfig
# Fix ARM builds
patch -Np1 -i ../0026-Bug-901208-Fix-ARM-v4t.patch
#fix libdir/sdkdir - fedora
patch -Np1 -i ../mozilla-pkgconfig.patch
patch -Np1 -i ../shared-libs.patch
@ -49,6 +55,8 @@ prepare() {
build() {
cd "$srcdir/mozilla-release"
[[ $CARCH == "arm" ]] && CFLAGS="$CFLAGS -D__ARM_PCS" && CXXFLAGS="$CXXFLAGS -D__ARM_PCS"
export PATH="$srcdir/python2-path:$PATH"
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/xulrunner-$pkgver"
export PYTHON="/usr/bin/python2"