genode/repos/libports/src/lib/qt5/patches/qt5_qml.patch

104 lines
3.5 KiB
Diff

qt5_qml.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
qtdeclarative/src/qml/jsruntime/qv4alloca_p.h | 4 ++++
qtdeclarative/src/qml/jsruntime/qv4engine.cpp | 4 ++++
qtdeclarative/src/qml/jsruntime/qv4global_p.h | 2 +-
qtdeclarative/src/qml/qml/qqmlaccessors_p.h | 2 +-
qtdeclarative/src/qml/qml/qqmlimport.cpp | 9 +++++++++
5 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/qtdeclarative/src/qml/jsruntime/qv4alloca_p.h b/qtdeclarative/src/qml/jsruntime/qv4alloca_p.h
index df40a01..c3c5c51 100644
--- a/qtdeclarative/src/qml/jsruntime/qv4alloca_p.h
+++ b/qtdeclarative/src/qml/jsruntime/qv4alloca_p.h
@@ -47,6 +47,7 @@
#include <qglobal.h>
+#ifndef Q_OS_GENODE
#if defined(Q_OS_WIN)
# include <malloc.h>
# ifndef __GNUC__
@@ -54,6 +55,9 @@
# endif
#elif !defined(Q_OS_BSD4) || defined(Q_OS_DARWIN)
# include <alloca.h>
+#else
+# include <alloca.h>
+#endif
#endif
#endif
diff --git a/qtdeclarative/src/qml/jsruntime/qv4engine.cpp b/qtdeclarative/src/qml/jsruntime/qv4engine.cpp
index 557b678..4051e6f 100644
--- a/qtdeclarative/src/qml/jsruntime/qv4engine.cpp
+++ b/qtdeclarative/src/qml/jsruntime/qv4engine.cpp
@@ -94,6 +94,10 @@
#include <valgrind/memcheck.h>
#endif
+#if defined(Q_OS_GENODE)
+#include <base/thread.h>
+#endif
+
QT_BEGIN_NAMESPACE
using namespace QV4;
diff --git a/qtdeclarative/src/qml/jsruntime/qv4global_p.h b/qtdeclarative/src/qml/jsruntime/qv4global_p.h
index 960741d..c81f09f 100644
--- a/qtdeclarative/src/qml/jsruntime/qv4global_p.h
+++ b/qtdeclarative/src/qml/jsruntime/qv4global_p.h
@@ -105,7 +105,7 @@ inline double trunc(double d) { return d > 0 ? floor(d) : ceil(d); }
// Black list some platforms
#if defined(V4_ENABLE_JIT)
-#if defined(Q_OS_IOS) || defined(Q_OS_WINRT)
+#if defined(Q_OS_IOS) || defined(Q_OS_WINRT) || defined(Q_OS_GENODE)
# undef V4_ENABLE_JIT
#endif
#endif
diff --git a/qtdeclarative/src/qml/qml/qqmlaccessors_p.h b/qtdeclarative/src/qml/qml/qqmlaccessors_p.h
index 8b0a587..5e22682 100644
--- a/qtdeclarative/src/qml/qml/qqmlaccessors_p.h
+++ b/qtdeclarative/src/qml/qml/qqmlaccessors_p.h
@@ -51,7 +51,7 @@
#include <QtCore/qhash.h>
#include <QtCore/QReadWriteLock>
-#if defined(Q_OS_QNX) || defined(Q_OS_LINUX)
+#if defined(Q_OS_QNX) || defined(Q_OS_LINUX) || defined(Q_OS_GENODE)
#include <stdint.h>
#endif
diff --git a/qtdeclarative/src/qml/qml/qqmlimport.cpp b/qtdeclarative/src/qml/qml/qqmlimport.cpp
index dfdf2ed..940d556 100644
--- a/qtdeclarative/src/qml/qml/qqmlimport.cpp
+++ b/qtdeclarative/src/qml/qml/qqmlimport.cpp
@@ -1667,6 +1667,14 @@ QString QQmlImportDatabase::resolvePlugin(QQmlTypeLoader *typeLoader,
const QString &qmldirPath, const QString &qmldirPluginPath,
const QString &baseName)
{
+#if defined(Q_OS_GENODE)
+
+ return resolvePlugin(typeLoader, qmldirPath, qmldirPluginPath, baseName,
+ QStringList() << QLatin1String(".lib.so"),
+ QLatin1String("qt5_"));
+
+#else
+
#if defined(Q_OS_WIN)
return resolvePlugin(typeLoader, qmldirPath, qmldirPluginPath, baseName,
QStringList()
@@ -1691,6 +1699,7 @@ QString QQmlImportDatabase::resolvePlugin(QQmlTypeLoader *typeLoader,
# else // Unix
return resolvePlugin(typeLoader, qmldirPath, qmldirPluginPath, baseName, QStringList() << QLatin1String(".so"), QLatin1String("lib"));
#endif
+#endif
}
/*!