[qtwebkit] ppc64le support

Jaromír Cápík jcapik at fedoraproject.org
Wed May 7 15:05:06 UTC 2014


commit 21d9fad3e3864a64dd81c23956ff2aff08ce9456
Author: Jaromir Capik <jcapik at redhat.com>
Date:   Wed May 7 17:05:21 2014 +0200

    ppc64le support

 qtwebkit-23-ppc64le.patch |   67 +++++++++++++++++++++++++++++++++++++++++++++
 qtwebkit.spec             |   17 +++++++++--
 2 files changed, 81 insertions(+), 3 deletions(-)
---
diff --git a/qtwebkit-23-ppc64le.patch b/qtwebkit-23-ppc64le.patch
new file mode 100644
index 0000000..62c5162
--- /dev/null
+++ b/qtwebkit-23-ppc64le.patch
@@ -0,0 +1,67 @@
+diff -Naur webkit-qtwebkit-23.orig/Source/WTF/wtf/dtoa/utils.h webkit-qtwebkit-23/Source/WTF/wtf/dtoa/utils.h
+--- webkit-qtwebkit-23.orig/Source/WTF/wtf/dtoa/utils.h	2014-05-05 14:36:22.295067163 -0500
++++ webkit-qtwebkit-23/Source/WTF/wtf/dtoa/utils.h	2014-05-05 14:37:09.385146547 -0500
+@@ -49,7 +49,7 @@
+ defined(__ARMEL__) || \
+ defined(_MIPS_ARCH_MIPS32R2)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+-#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(AARCH64)
++#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(AARCH64)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(_M_IX86) || defined(__i386__)
+ #if defined(_WIN32)
+diff -Naur webkit-qtwebkit-23.orig/Source/WTF/wtf/dtoa.cpp webkit-qtwebkit-23/Source/WTF/wtf/dtoa.cpp
+--- webkit-qtwebkit-23.orig/Source/WTF/wtf/dtoa.cpp	2014-05-05 14:36:22.125066877 -0500
++++ webkit-qtwebkit-23/Source/WTF/wtf/dtoa.cpp	2014-05-05 14:37:50.745216279 -0500
+@@ -113,7 +113,7 @@
+ #define Big0 (Frac_mask1 | Exp_msk1 * (DBL_MAX_EXP + Bias - 1))
+ #define Big1 0xffffffff
+ 
+-#if CPU(PPC64) || CPU(X86_64)
++#if CPU(PPC64) || CPU(X86_64) || CPU(PPC64LE)
+ // FIXME: should we enable this on all 64-bit CPUs?
+ // 64-bit emulation provided by the compiler is likely to be slower than dtoa own code on 32-bit hardware.
+ #define USE_LONG_LONG
+diff -Naur webkit-qtwebkit-23.orig/Source/WTF/wtf/Platform.h webkit-qtwebkit-23/Source/WTF/wtf/Platform.h
+--- webkit-qtwebkit-23.orig/Source/WTF/wtf/Platform.h	2014-05-05 14:36:22.215067029 -0500
++++ webkit-qtwebkit-23/Source/WTF/wtf/Platform.h	2014-05-05 14:50:07.996460328 -0500
+@@ -107,12 +107,26 @@
+ #endif
+ 
+ /* CPU(PPC64) - PowerPC 64-bit */
+-#if   defined(__ppc64__) \
+-    || defined(__PPC64__)
++/* CPU(PPC64) - PowerPC 64-bit + BIG ENDIAN */
++#if (   defined(__ppc64__) \
++     || defined(__PPC64__)) \
++    && defined(__BYTE_ORDER__) \
++    && (__BYTE_ORDER__==__ORDER_BIG_ENDIAN__)
+ #define WTF_CPU_PPC64 1
+ #define WTF_CPU_BIG_ENDIAN 1
+ #endif
+ 
++/* CPU(PPC64) - PowerPC 64-bit + LITTLE ENDIAN */
++#if (   defined(__ppc64__) \
++     || defined(__PPC64__) \
++     || defined(__ppc64le__) \
++     || defined(__PPC64LE__)) \
++    && defined(__BYTE_ORDER__) \
++    && (__BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__)
++#define WTF_CPU_PPC64LE 1
++#define WTF_CPU_LITTLE_ENDIAN 1
++#endif
++
+ /* CPU(SH4) - SuperH SH-4 */
+ #if defined(__SH4__)
+ #define WTF_CPU_SH4 1
+@@ -883,7 +897,9 @@
+     || CPU(ALPHA) \
+     || CPU(SPARC64) \
+     || CPU(S390X) \
+-    || CPU(PPC64) || CPU(AARCH64)
++    || CPU(PPC64) \
++    || CPU(PPC64LE) \
++    || CPU(AARCH64)
+ #define WTF_USE_JSVALUE64 1
+ #else
+ #define WTF_USE_JSVALUE32_64 1
diff --git a/qtwebkit.spec b/qtwebkit.spec
index 45b7017..0a557f3 100644
--- a/qtwebkit.spec
+++ b/qtwebkit.spec
@@ -2,7 +2,7 @@ Name: qtwebkit
 Summary: Qt WebKit bindings
 
 Version: 2.3.3
-Release: 12%{?dist}
+Release: 13%{?dist}
 
 License: LGPLv2 with exceptions or GPLv3 with exceptions
 URL: http://trac.webkit.org/wiki/QtWebKit
@@ -51,12 +51,15 @@ Patch13: qtwebkit-aarch64.patch
 # truly madly deeply no rpath please, kthxbye
 Patch14: webkit-qtwebkit-23-no_rpath.patch
 
+# ppc64le support
+Patch15: qtwebkit-23-ppc64le.patch
+
 ## upstream patches
 Patch102: 0002-Texmap-GTK-The-poster-circle-doesn-t-appear.patch
 Patch103: 0003-Qt-Tiled-backing-store-not-clipped-to-frame-or-visib.patch
 Patch104: 0004-Qt-Images-scaled-poorly-on-composited-canvas.patch
 Patch105: 0005-Port-of-r118587-to-TextBreakIteratorQt.cpp.patch
-patch106: 0006-JSC-ARM-traditional-failing-on-Octane-NavierStokes-t.patch
+Patch106: 0006-JSC-ARM-traditional-failing-on-Octane-NavierStokes-t.patch
 Patch107: 0007-Correct-range-used-for-Emoji-checks.patch
 Patch108: 0008-Qt-RepaintRequested-signal-sometimes-not-emitted.patch
 Patch109: 0009-TexMap-Remove-ParentChange-in-TextureMapperLayer.patch
@@ -151,6 +154,11 @@ Provides:  qt4-webkit-devel%{?_isa} = 2:%{version}-%{release}
 %patch13 -p1 -b .aarch64
 %patch14 -p1 -b .no_rpath
 
+## Apply this last patch, as it deps so aarch stuffs
+%ifarch ppc64le
+%patch10 -p1 -b .system-malloc
+%patch15 -p1 -b .ppc64le
+%endif
 
 %build 
 
@@ -158,7 +166,7 @@ PATH=%{_qt4_bindir}:$PATH; export PATH
 QMAKEPATH=`pwd`/Tools/qmake; export QMAKEPATH
 QTDIR=%{_qt4_prefix}; export QTDIR
 
-%ifarch aarch64
+%ifarch aarch64 ppc64le
 %global qtdefines  DEFINES+=ENABLE_JIT=0 DEFINES+=ENABLE_YARR_JIT=0 DEFINES+=ENABLE_ASSEMBLER=0
 %endif
 
@@ -230,6 +238,9 @@ popd
 
 
 %changelog
+* Wed May 07 2014 Jaromir Capik <jcapik at redhat.com> - 2.3.3-13
+- ppc64le support
+
 * Mon May 05 2014 Rex Dieter <rdieter at fedoraproject.org> 2.3.3-12
 - Requires: mozilla-filesystem (#1000673)
 


More information about the scm-commits mailing list