qt5: armv5* and mips* broken

This commit is contained in:
Jürgen Buchmüller 2018-01-04 07:21:10 +01:00
parent a2e3e669ed
commit d3256d7466
4 changed files with 139 additions and 0 deletions

View file

@ -0,0 +1,40 @@
--- qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2016-12-07 06:58:00.000000000 +0100
+++ qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2017-12-12 19:51:36.048485198 +0100
@@ -377,7 +377,7 @@
#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_))
#define WTF_CPU_MIPS 1
-#include <sgidefs.h>
+#include <asm/sgidefs.h>
#if defined(__MIPSEB__)
#define WTF_CPU_BIG_ENDIAN 1
#endif
--- qtwebengine/src/3rdparty/chromium/third_party/webrtc/typedefs.h 2017-01-03 10:28:53.000000000 +0100
+++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/typedefs.h 2017-12-12 20:11:16.501569388 +0100
@@ -47,6 +47,12 @@
#elif defined(__pnacl__)
#define WEBRTC_ARCH_32_BITS
#define WEBRTC_ARCH_LITTLE_ENDIAN
+#elif defined(__MIPSEB__)
+#define WEBRTC_ARCH_32_BITS
+#define WEBRTC_ARCH_BIG_ENDIAN
+#elif defined(__MIPSEL__)
+#define WEBRTC_ARCH_32_BITS
+#define WEBRTC_ARCH_LITTLE_ENDIAN
#else
#error Please add support for your architecture in typedefs.h
#endif
--- qtwebengine/src/3rdparty/chromium/build/build_config.h 2017-01-03 10:28:53.000000000 +0100
+++ qtwebengine/src/3rdparty/chromium/build/build_config.h 2017-12-12 22:35:11.094185212 +0100
@@ -132,6 +132,11 @@
#define ARCH_CPU_MIPSEL 1
#define ARCH_CPU_32_BITS 1
#define ARCH_CPU_LITTLE_ENDIAN 1
#endif
+#elif defined(__MIPSEB__)
+#define ARCH_CPU_MIPS_FAMILY 1
+#define ARCH_CPU_MIPSEL 1
+#define ARCH_CPU_32_BITS 1
+#define ARCH_CPU_BIG_ENDIAN 1
#else
#error Please add support for your architecture in build/build_config.h

View file

@ -0,0 +1,66 @@
--- qtbase/src/plugins/platforms/vnc/qvncclient.cpp 2017-01-18 15:20:58.000000000 +0100
+++ qtbase/src/plugins/platforms/vnc/qvncclient.cpp 2017-12-12 18:56:14.884248330 +0100
@@ -142,8 +142,8 @@
case 16: {
quint16 p = *reinterpret_cast<const quint16*>(src);
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
- if (swapBytes)
- p = ((p & 0xff) << 8) | ((p & 0xff00) >> 8);
+ if (m_swapBytes)
+ p = (p << 8) | (p >> 8);
#endif
r = (p >> 11) & 0x1f;
g = (p >> 5) & 0x3f;
@@ -484,7 +484,7 @@
m_sameEndian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) == !!m_pixelFormat.bigEndian;
m_needConversion = pixelConversionNeeded();
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
- m_swapBytes = qvnc_screen->swapBytes();
+ m_swapBytes = m_server->screen()->swapBytes();
#endif
}
}
@@ -639,7 +639,7 @@
return true;
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
- if (qvnc_screen->swapBytes())
+ if (m_server->screen()->swapBytes())
return true;
#endif
--- qtbase/src/plugins/platforms/vnc/qvncscreen.cpp 2017-01-18 15:20:58.000000000 +0100
+++ qtbase/src/plugins/platforms/vnc/qvncscreen.cpp 2017-12-12 18:42:41.609190327 +0100
@@ -172,14 +172,16 @@
}
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
-bool QVNCScreen::swapBytes() const
+bool QVncScreen::swapBytes() const
{
if (depth() != 16)
return false;
-
- if (screen())
- return screen()->frameBufferLittleEndian();
- return frameBufferLittleEndian();
+ for (int y = 0; y < mScreenImage->height(); y++) {
+ quint16* p = reinterpret_cast<quint16*>(mScreenImage->scanLine(y));
+ for (int x = 0; x < mScreenImage->width(); x++, p++)
+ *p = (*p >> 8) | (*p << 8);
+ }
+ return true;
}
#endif
--- qtbase/src/plugins/platforms/vnc/qvncscreen.h 2017-01-18 15:20:58.000000000 +0100
+++ qtbase/src/plugins/platforms/vnc/qvncscreen.h 2017-12-12 17:38:29.003915557 +0100
@@ -73,7 +73,7 @@
void clearDirty() { dirtyRegion = QRegion(); }
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
- bool swapBytes() const
+ bool swapBytes() const;
#endif
QStringList mArgs;

View file

@ -0,0 +1,30 @@
--- qttools/src/src.pro 2017-01-02 07:50:13.000000000 +0100
+++ qttools/src/src.pro 2017-12-21 12:27:33.414867228 +0100
@@ -1,20 +1,13 @@
TEMPLATE = subdirs
-qtHaveModule(widgets) {
- no-png {
- message("Some graphics-related tools are unavailable without PNG support")
- } else {
- SUBDIRS = assistant \
- pixeltool \
- designer
+SUBDIRS = assistant \
+ pixeltool \
+ designer \
+ linguist \
+ qdoc \
+ qtattributionsscanner
- linguist.depends = designer
- }
-}
-
-SUBDIRS += linguist \
- qdoc \
- qtattributionsscanner
+linguist.depends = designer
!android|android_app: SUBDIRS += qtplugininfo

View file

@ -41,6 +41,9 @@ CXXFLAGS+=" -Wno-deprecated-declarations -fno-delete-null-pointer-checks"
LDFLAGS="-pthread -ldl -fPIE"
case "$XBPS_TARGET_MACHINE" in
armv5*|mips*) # Won't build for these
broken=yes
;;
armv7*) # Force use of neon and enable libvpx
CXXFLAGS+=" -mfpu=neon"
;;