summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2006-03-28 10:22:32 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-03-28 10:22:32 +0000
commitc20b2ca34cdf9be3245912dcf9b53590103cd9f7 (patch)
treef7b074f6ec6a75136243cf6272ec16e21874f806
parentb522171f13f0aa07616f055200511f2ec73a0632 (diff)
uicmoc 2.3.10, 3.3.5: add patch to make it build on 64bit platforms.
Thanks Darren Edmundson for writing the patch and Eric Shattow for testing.
-rw-r--r--packages/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch226
-rw-r--r--packages/uicmoc/uicmoc-native_2.3.10.bb6
-rw-r--r--packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch147
-rw-r--r--packages/uicmoc/uicmoc3-native_3.3.5.bb7
4 files changed, 382 insertions, 4 deletions
diff --git a/packages/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch b/packages/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch
new file mode 100644
index 0000000000..3cca3e0d1d
--- /dev/null
+++ b/packages/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch
@@ -0,0 +1,226 @@
+--- qt-2.3.10/src/kernel/qsharedmemory.cpp~64bit 2005-12-14 12:31:39.000000000 +0000
++++ qt-2.3.10/src/kernel/qsharedmemory.cpp 2005-12-14 13:24:41.000000000 +0000
+@@ -36,6 +36,7 @@
+
+ #include <sys/ipc.h>
+ #include <sys/types.h>
++#include <stdint.h>
+
+ #if defined(QT_POSIX_QSHM)
+ #include <fcntl.h>
+@@ -122,8 +123,8 @@
+ if (shmId == -1)
+ shmId = shmget (key, shmSize, 0);
+
+- shmBase = shmat (shmId, 0, 0);
+- if ((int) shmBase == -1 || shmBase == 0)
++ intptr_t shmBase = (intptr_t) shmat (shmId, 0, 0);
++ if (shmBase == -1 || shmBase == 0)
+ return FALSE;
+ else
+ return TRUE;
+--- qt-2.3.10/src/kernel/qapplication_qws.cpp~64bit 2005-12-14 12:15:42.000000000 +0000
++++ qt-2.3.10/src/kernel/qapplication_qws.cpp 2005-12-14 12:19:39.000000000 +0000
+@@ -87,6 +87,7 @@
+ #include <sys/shm.h>
+ #include <sys/sem.h>
+ #include <sys/socket.h>
++#include <stdint.h>
+ #endif
+
+ #include <stdlib.h>
+@@ -2041,7 +2042,7 @@
+ w = widgetAt(*qt_last_x, *qt_last_y, FALSE);
+ if ( !w )
+ w = desktop();
+- QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle());
++ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle());
+ }
+
+ void QApplication::restoreOverrideCursor()
+@@ -2060,11 +2061,11 @@
+ cursorStack = 0;
+ qws_overrideCursor = FALSE;
+ if ( w->testWState(WState_OwnCursor) )
+- QPaintDevice::qwsDisplay()->selectCursor(w, (int)w->cursor().handle());
++ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)w->cursor().handle());
+ else
+ QPaintDevice::qwsDisplay()->selectCursor(w, ArrowCursor);
+ } else {
+- QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle());
++ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle());
+ }
+ }
+ #endif// QT_NO_CURSOR
+@@ -2635,7 +2636,7 @@
+ }
+ if ( !qws_overrideCursor ) { // is override cursor active?
+ if (curs)
+- QPaintDevice::qwsDisplay()->selectCursor(widget, (int)curs->handle());
++ QPaintDevice::qwsDisplay()->selectCursor(widget, (intptr_t)curs->handle());
+ else
+ QPaintDevice::qwsDisplay()->selectCursor(widget, ArrowCursor);
+ }
+--- qt-2.3.10/src/kernel/qgfxlinuxfb_qws.cpp~64bit 2005-01-23 14:00:46.000000000 +0000
++++ qt-2.3.10/src/kernel/qgfxlinuxfb_qws.cpp 2005-12-14 12:04:56.000000000 +0000
+@@ -42,6 +42,7 @@
+ #include <sys/mman.h>
+ #include <fcntl.h>
+ #include <errno.h>
++#include <stdint.h>
+
+ #include "qgfxlinuxfb_qws.h"
+ #include "qwindowsystem_qws.h"
+@@ -164,7 +165,7 @@
+ MAP_SHARED, fd, 0);
+ data += dataoffset;
+
+- if ((int)data == -1) {
++ if ((intptr_t)data == -1) {
+ perror("mapping /dev/fb0");
+ qWarning("Error: failed to map framebuffer device to memory.");
+ return FALSE;
+@@ -703,7 +704,7 @@
+ psize += 8; // for alignment
+ psize &= ~0x7; // align
+
+- unsigned int pos=(unsigned int)data;
++ uintptr_t pos=(uintptr_t)data;
+ pos += psize;
+ entryp = ((int *)pos);
+ lowest = ((unsigned int *)pos)+1;
+--- qt-2.3.10/src/kernel/qmemorymanager_qws.h~64bit 2005-01-23 14:00:46.000000000 +0000
++++ qt-2.3.10/src/kernel/qmemorymanager_qws.h 2005-12-14 12:00:32.000000000 +0000
+@@ -33,6 +33,9 @@
+ #ifndef QMEMORYMANAGER_H
+ #define QMEMORYMANAGER_H
+
++/* Needed for uintptr_t to allow 64bit clean pointer handling */
++#include <stdint.h>
++
+ #ifndef QT_H
+ #include <qfontmanager_qws.h>
+ #include <qstring.h>
+@@ -126,8 +129,8 @@
+ // constructs from a memory ptr to where the data after the item starts
+ QSMCacheItemPtr(void *data) {
+ char *ptr = (char*)data;
+- if ( (int)ptr != (((int)ptr+3)&~3) )
+- qDebug("err, passed a non-aligned data ptr %x", (int)ptr);
++ if (intptr_t(data)&3!=0)
++ qDebug("err, passed a non-aligned data ptr %p", ptr);
+ d = (QSMCacheItem*)(ptr - sizeof(QSMCacheItem));
+ }
+ // returns a pointer to the data after the item
+--- qt-2.3.10/src/kernel/qwsregionmanager_qws.cpp~64bit 2005-12-14 13:25:06.000000000 +0000
++++ qt-2.3.10/src/kernel/qwsregionmanager_qws.cpp 2005-12-14 13:25:51.000000000 +0000
+@@ -32,6 +32,7 @@
+ #include "qwsdisplay_qws.h"
+ #include "qwsregionmanager_qws.h"
+ #include <stdlib.h>
++#include <stdint.h>
+
+ #ifndef QT_NO_QWS_MULTIPROCESS
+ #include <sys/types.h>
+@@ -286,7 +287,7 @@
+ data = (unsigned char *)shmat( shmId, 0, SHM_RDONLY );
+ }
+
+- return ( shmId != -1 && (int)data != -1 );
++ return ( shmId != -1 && (intptr_t)data != -1 );
+ #else
+ int dataSize = sizeof(QWSRegionHeader) // header
+ + sizeof(QWSRegionIndex) * QT_MAX_REGIONS // + index
+--- qt-2.3.10/src/kernel/qpixmapcache.cpp~64bit 2005-12-14 13:26:43.000000000 +0000
++++ qt-2.3.10/src/kernel/qpixmapcache.cpp 2005-12-14 13:30:33.000000000 +0000
+@@ -38,6 +38,7 @@
+ #include "qpixmapcache.h"
+ #include "qcache.h"
+ #include "qobject.h"
++#include <stdint.h>
+
+
+ // REVISED: paul
+@@ -519,7 +520,7 @@
+ #endif // DEBUG_SHARED_MEMORY_CACHE
+ }
+
+- if ( shmId == -1 || (int)shm == -1 )
++ if ( shmId == -1 || (intptr_t)shm == -1 )
+ qFatal("Cannot attach to shared memory");
+
+ qt_sharedMemoryData = shm->data;
+@@ -536,8 +537,8 @@
+ shm->tail.setFree(false);
+ shm->tail.setNextFree(QSMemPtr());
+ #ifdef THROW_AWAY_UNUSED_PAGES
+- int freePageStart = PAGE_ALIGN((int)&shm->first + sizeof(QSMemNode));
+- int freePagesLength = PAGE_ALIGN((int)&shm->tail) - freePageStart;
++ intptr_t freePageStart = PAGE_ALIGN((intptr_t)&shm->first + sizeof(QSMemNode));
++ intptr_t freePagesLength = PAGE_ALIGN((intptr_t)&shm->tail) - freePageStart;
+ if ( freePagesLength ) {
+ # ifdef DEBUG_SHARED_MEMORY_CACHE
+ qDebug("Initially marking free pages as not needed");
+@@ -770,8 +771,8 @@
+ node = newFreeNode->next();
+
+ #ifdef THROW_AWAY_UNUSED_PAGES
+- int freePageStart = PAGE_ALIGN((int)newFreeNode+sizeof(QSMemNode));
+- int freePagesLength = PAGE_ALIGN((int)node) - freePageStart;
++ intptr_t freePageStart = PAGE_ALIGN((intptr_t)newFreeNode+sizeof(QSMemNode));
++ intptr_t freePagesLength = PAGE_ALIGN((intptr_t)node) - freePageStart;
+ if ( freePagesLength ) {
+ #ifdef DEBUG_SHARED_MEMORY_CACHE
+ qDebug("Marking pages not needed");
+--- qt-2.3.10/src/kernel/qwidget_qws.cpp~64bit 2005-12-14 12:20:46.000000000 +0000
++++ qt-2.3.10/src/kernel/qwidget_qws.cpp 2005-12-14 12:30:35.000000000 +0000
+@@ -50,6 +50,7 @@
+ #include "qwsmanager_qws.h"
+ #include "qwsregionmanager_qws.h"
+ #include "qinputcontext_p.h"
++#include <stdint.h>
+
+ void qt_insert_sip( QWidget*, int, int ); // defined in qapplication_x11.cpp
+ int qt_sip_count( QWidget* ); // --- "" ---
+@@ -633,7 +634,7 @@
+ qt_mouseGrb->releaseMouse();
+
+ qwsDisplay()->grabMouse(this,TRUE);
+- qwsDisplay()->selectCursor(this, (unsigned int)cursor.handle());
++ qwsDisplay()->selectCursor(this, (uintptr_t)cursor.handle());
+ qt_mouseGrb = this;
+ qt_pressGrab = 0;
+ }
+@@ -1840,11 +1841,11 @@
+ void QWidget::updateCursor( const QRegion &r ) const
+ {
+ if ( qt_last_x && (!QWidget::mouseGrabber() || QWidget::mouseGrabber() == this) &&
+- qt_last_cursor != (WId)cursor().handle() && !qws_overrideCursor ) {
++ qt_last_cursor != (uintptr_t)cursor().handle() && !qws_overrideCursor ) {
+ QSize s( qt_screen->width(), qt_screen->height() );
+ QPoint pos = qt_screen->mapToDevice(QPoint(*qt_last_x, *qt_last_y), s);
+ if ( r.contains(pos) )
+- qwsDisplay()->selectCursor((QWidget*)this, (unsigned int)cursor().handle());
++ qwsDisplay()->selectCursor((QWidget*)this, (uintptr_t)cursor().handle());
+ }
+ }
+ #endif
+--- qt-2.3.10/tools/qvfb/qvfbview.cpp~64bit 2005-12-14 13:32:47.000000000 +0000
++++ qt-2.3.10/tools/qvfb/qvfbview.cpp 2005-12-14 13:33:27.000000000 +0000
+@@ -40,6 +40,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <math.h>
++#include <stdint.h>
+
+
+ QVFbView::QVFbView( int display_id, int _w, int _h, int d, Rotation r, QWidget *parent,
+@@ -136,7 +137,7 @@
+ data = (unsigned char *)shmat( shmId, 0, 0 );
+ }
+
+- if ( (int)data == -1 ){
++ if ( (intptr_t)data == -1 ){
+ ::close(mouseFd);
+ ::close(keyboardFd);
+ qFatal( "Cannot attach to shared memory %d",shmId );
diff --git a/packages/uicmoc/uicmoc-native_2.3.10.bb b/packages/uicmoc/uicmoc-native_2.3.10.bb
index db884e166a..c9457e139e 100644
--- a/packages/uicmoc/uicmoc-native_2.3.10.bb
+++ b/packages/uicmoc/uicmoc-native_2.3.10.bb
@@ -1,15 +1,17 @@
DESCRIPTION = "User Interface Generator and Meta Object Compiler (moc) for Qt(E) 2.x"
+HOMEPAGE = "http://www.trolltech.com"
SECTION = "devel"
PRIORITY = "optional"
LICENSE = "GPL QPL"
MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
-PR = "r1"
+PR = "r2"
SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}-free.tar.gz \
file://fix-makefile.patch;patch=1 \
file://gcc3_4.patch;patch=1" \
file://gcc4.patch;patch=1 \
- file://gcc4_1.patch;patch=1"
+ file://gcc4_1.patch;patch=1 \
+ file://64bit-cleanup.patch;patch=1"
S = "${WORKDIR}/qt-${PV}"
inherit native qmake-base
diff --git a/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch b/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch
new file mode 100644
index 0000000000..17836802a6
--- /dev/null
+++ b/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch
@@ -0,0 +1,147 @@
+--- qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp~64bit 2005-12-14 15:51:23.000000000 +0000
++++ qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp 2005-12-14 15:52:29.000000000 +0000
+@@ -176,7 +176,7 @@
+ MAP_SHARED, fd, 0);
+ data += dataoffset;
+
+- if ((int)data == -1) {
++ if ((intptr_t)data == -1) {
+ perror("mapping /dev/fb0");
+ qWarning("Error: failed to map framebuffer device to memory.");
+ return FALSE;
+@@ -737,7 +737,7 @@
+ psize += 8; // for alignment
+ psize &= ~0x7; // align
+
+- unsigned int pos=(unsigned int)data;
++ uintptr_t pos=(uintptr_t)data;
+ pos += psize;
+ entryp = ((int *)pos);
+ lowest = ((unsigned int *)pos)+1;
+--- qt-embedded-free-3.3.5/src/kernel/qsharedmemory_p.cpp~64bit 2005-12-14 15:34:43.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qsharedmemory_p.cpp 2005-12-14 15:35:26.000000000 +0000
+@@ -31,6 +31,7 @@
+ **********************************************************************/
+
+ #include "qsharedmemory_p.h"
++#include <stdint.h>
+
+ #if !defined(QT_QWS_NO_SHM)
+
+@@ -132,7 +133,7 @@
+ shmId = shmget (key, shmSize, 0);
+
+ shmBase = shmat (shmId, 0, 0);
+- if ((int) shmBase == -1 || shmBase == 0)
++ if ((intptr_t) shmBase == -1 || shmBase == 0)
+ return FALSE;
+ else
+ return TRUE;
+--- qt-embedded-free-3.3.5/src/kernel/qapplication_qws.cpp~64bit 2005-12-14 15:27:14.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qapplication_qws.cpp 2005-12-14 15:28:37.000000000 +0000
+@@ -107,6 +107,7 @@
+ #include <locale.h>
+ #include <errno.h>
+ #include <sys/time.h>
++#include <stdint.h>
+
+ #if defined(Q_OS_QNX)
+ #include <sys/select.h>
+@@ -1879,7 +1880,7 @@
+ w = widgetAt(*qt_last_x, *qt_last_y, FALSE);
+ if ( !w )
+ w = desktop();
+- QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle());
++ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle());
+ }
+
+ void QApplication::restoreOverrideCursor()
+@@ -1898,11 +1899,11 @@
+ cursorStack = 0;
+ qws_overrideCursor = FALSE;
+ if ( w->testWState(WState_OwnCursor) )
+- QPaintDevice::qwsDisplay()->selectCursor(w, (int)w->cursor().handle());
++ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)w->cursor().handle());
+ else
+ QPaintDevice::qwsDisplay()->selectCursor(w, ArrowCursor);
+ } else {
+- QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle());
++ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle());
+ }
+ }
+ #endif// QT_NO_CURSOR
+@@ -2130,7 +2131,7 @@
+ }
+ if ( !qws_overrideCursor ) {
+ if (curs)
+- QPaintDevice::qwsDisplay()->selectCursor(widget, (int)curs->handle());
++ QPaintDevice::qwsDisplay()->selectCursor(widget, (intptr_t)curs->handle());
+ else
+ QPaintDevice::qwsDisplay()->selectCursor(widget, ArrowCursor);
+ }
+--- qt-embedded-free-3.3.5/src/kernel/qfont_qws.cpp~64bit 2005-12-14 15:29:17.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qfont_qws.cpp 2005-12-14 15:29:54.000000000 +0000
+@@ -49,6 +49,7 @@
+ #include "qgfx_qws.h"
+ #include "qtextengine_p.h"
+ #include "qfontengine_p.h"
++#include <stdint.h>
+
+ QFont::Script QFontPrivate::defaultScript = QFont::UnknownScript;
+
+@@ -133,7 +134,7 @@
+ req.pointSize = req.pixelSize*10;
+
+ if ( ! engineData ) {
+- QFontCache::Key key( req, QFont::NoScript, (int)paintdevice );
++ QFontCache::Key key( req, QFont::NoScript, (intptr_t)paintdevice );
+
+ // look for the requested font in the engine data cache
+ engineData = QFontCache::instance->findEngineData( key );
+--- qt-embedded-free-3.3.5/src/kernel/qwsregionmanager_qws.cpp~64bit 2005-12-14 15:32:12.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qwsregionmanager_qws.cpp 2005-12-14 15:32:52.000000000 +0000
+@@ -32,6 +32,7 @@
+ #include "qwsdisplay_qws.h"
+ #include "qwsregionmanager_qws.h"
+ #include <stdlib.h>
++#include <stdint.h>
+
+ #ifndef QT_NO_QWS_MULTIPROCESS
+ #include <sys/types.h>
+@@ -288,7 +289,7 @@
+ data = (unsigned char *)shmat( shmId, 0, 0 );
+ }
+
+- return ( shmId != -1 && (int)data != -1 );
++ return ( shmId != -1 && (intptr_t)data != -1 );
+ #else
+ int dataSize = sizeof(QWSRegionHeader) // header
+ + sizeof(QWSRegionIndex) * QT_MAX_REGIONS // + index
+--- qt-embedded-free-3.3.5/src/kernel/qwidget_qws.cpp~64bit 2005-12-14 15:30:36.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qwidget_qws.cpp 2005-12-14 15:31:37.000000000 +0000
+@@ -53,6 +53,7 @@
+ #include "qwsmanager_qws.h"
+ #include "qwsregionmanager_qws.h"
+ #include "qinputcontext_p.h"
++#include <stdint.h>
+
+ void qt_insert_sip( QWidget*, int, int ); // defined in qapplication_x11.cpp
+ int qt_sip_count( QWidget* ); // --- "" ---
+@@ -631,7 +632,7 @@
+ qt_mouseGrb->releaseMouse();
+
+ qwsDisplay()->grabMouse(this,TRUE);
+- qwsDisplay()->selectCursor(this, (unsigned int)cursor.handle());
++ qwsDisplay()->selectCursor(this, (uintptr_t)cursor.handle());
+ qt_mouseGrb = this;
+ qt_pressGrab = 0;
+ }
+@@ -1845,7 +1846,7 @@
+ QSize s( qt_screen->width(), qt_screen->height() );
+ QPoint pos = qt_screen->mapToDevice(QPoint(*qt_last_x, *qt_last_y), s);
+ if ( r.contains(pos) )
+- qwsDisplay()->selectCursor((QWidget*)this, (unsigned int)cursor().handle());
++ qwsDisplay()->selectCursor((QWidget*)this, (uintptr_t)cursor().handle());
+ }
+ }
+ #endif
diff --git a/packages/uicmoc/uicmoc3-native_3.3.5.bb b/packages/uicmoc/uicmoc3-native_3.3.5.bb
index 6354377bcf..142b3997e0 100644
--- a/packages/uicmoc/uicmoc3-native_3.3.5.bb
+++ b/packages/uicmoc/uicmoc3-native_3.3.5.bb
@@ -1,11 +1,14 @@
DESCRIPTION = "User Interface Generator and Meta Object Compiler (moc) for Qt(E) 3.x"
+HOMEPAGE = "http://www.trolltech.com"
SECTION = "devel"
PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
LICENSE = "GPL QPL"
-PR = "r1"
+PR = "r2"
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-free-${PV}.tar.bz2 \
- file://no-examples.patch;patch=1"
+ file://no-examples.patch;patch=1 \
+ file://64bit-cleanup.patch;patch=1"
S = "${WORKDIR}/qt-embedded-free-${PV}"