aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/uicmoc
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/uicmoc
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/uicmoc')
-rw-r--r--recipes/uicmoc/files/configure-fix.patch13
-rw-r--r--recipes/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch226
-rw-r--r--recipes/uicmoc/uicmoc-native-2.3.10/fix-makefile.patch16
-rw-r--r--recipes/uicmoc/uicmoc-native-2.3.10/gcc3_4.patch27
-rw-r--r--recipes/uicmoc/uicmoc-native-2.3.10/gcc4.patch12
-rw-r--r--recipes/uicmoc/uicmoc-native-2.3.10/gcc4_1.patch16
-rw-r--r--recipes/uicmoc/uicmoc-native-2.3.10/kernel-asm-page.patch20
-rw-r--r--recipes/uicmoc/uicmoc-native_2.3.10.bb50
-rw-r--r--recipes/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch160
-rw-r--r--recipes/uicmoc/uicmoc3-native-3.3.5/no-examples.patch16
-rw-r--r--recipes/uicmoc/uicmoc3-native_3.3.5.bb51
-rw-r--r--recipes/uicmoc/uicmoc4-native.inc77
-rw-r--r--recipes/uicmoc/uicmoc4-native_4.4.3.bb16
-rw-r--r--recipes/uicmoc/uicmoc4-sdk_4.4.3.bb16
14 files changed, 716 insertions, 0 deletions
diff --git a/recipes/uicmoc/files/configure-fix.patch b/recipes/uicmoc/files/configure-fix.patch
new file mode 100644
index 0000000000..df195494ee
--- /dev/null
+++ b/recipes/uicmoc/files/configure-fix.patch
@@ -0,0 +1,13 @@
+Index: qtopia-core-opensource-src-4.3.3/configure
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/configure 2008-01-14 08:53:51.000000000 +0000
++++ qtopia-core-opensource-src-4.3.3/configure 2008-01-14 08:54:07.000000000 +0000
+@@ -447,7 +447,7 @@
+ # initalize variables
+ #-------------------------------------------------------------------------------
+
+-SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
++SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS"
+ for varname in $SYSTEM_VARIABLES; do
+ cmd=`echo \
+ 'if [ -n "\$'${varname}'" ]; then
diff --git a/recipes/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch b/recipes/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch
new file mode 100644
index 0000000000..3cca3e0d1d
--- /dev/null
+++ b/recipes/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/recipes/uicmoc/uicmoc-native-2.3.10/fix-makefile.patch b/recipes/uicmoc/uicmoc-native-2.3.10/fix-makefile.patch
new file mode 100644
index 0000000000..5943f0f17b
--- /dev/null
+++ b/recipes/uicmoc/uicmoc-native-2.3.10/fix-makefile.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- qt-2.3.7/Makefile~fix-makefile 2003-07-17 03:23:11.000000000 +0200
++++ qt-2.3.7/Makefile 2004-04-23 15:36:25.000000000 +0200
+@@ -29,7 +29,7 @@
+ cd tools; $(MAKE)
+
+ symlinks: .buildopts
+- @cd include; rm -f q*.h; for i in ../src/*/q*.h ../src/3rdparty/*/q*.h ../extensions/*/src/q*.h; do ln -s $$i .; done; rm -f q*_p.h
++ @cd include; rm -f q*.h; for i in ../src/*/q*.h ../src/3rdparty/*/*.h ../extensions/*/src/q*.h; do ln -s $$i .; done; rm -f q*_p.h
+
+ sub-src: src-moc src-mt .buildopts FORCE
+ cd src; $(MAKE)
diff --git a/recipes/uicmoc/uicmoc-native-2.3.10/gcc3_4.patch b/recipes/uicmoc/uicmoc-native-2.3.10/gcc3_4.patch
new file mode 100644
index 0000000000..fc1656aa24
--- /dev/null
+++ b/recipes/uicmoc/uicmoc-native-2.3.10/gcc3_4.patch
@@ -0,0 +1,27 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-2.3.9-snapshot-20041211/src/tools/qcstring.h~gcc3
++++ qt-2.3.9-snapshot-20041211/src/tools/qcstring.h
+@@ -119,7 +119,7 @@
+ // We want to keep source compatibility for 2.x
+ // ### TODO for 4.0: completely remove these and the cstr* functions
+
+-#if !defined(QT_GENUINE_STR)
++#if 0
+
+ #undef strlen
+ #define strlen qstrlen
+--- qt-2.3.9-snapshot-20041211/src/kernel/qwsdecoration_qws.h~gcc3
++++ qt-2.3.9-snapshot-20041211/src/kernel/qwsdecoration_qws.h
+@@ -50,7 +50,7 @@
+ enum Region { None=0, All=1, Title=2, Top=3, Bottom=4, Left=5, Right=6,
+ TopLeft=7, TopRight=8, BottomLeft=9, BottomRight=10,
+ Close=11, Minimize=12, Maximize=13, Normalize=14,
+- Menu=15, LastRegion=Menu };
++ Menu=15, LastRegion=Menu, UserDefined = 100 };
+
+ virtual QRegion region(const QWidget *, const QRect &rect, Region r=All) = 0;
+ virtual void close( QWidget * );
diff --git a/recipes/uicmoc/uicmoc-native-2.3.10/gcc4.patch b/recipes/uicmoc/uicmoc-native-2.3.10/gcc4.patch
new file mode 100644
index 0000000000..633fe86c29
--- /dev/null
+++ b/recipes/uicmoc/uicmoc-native-2.3.10/gcc4.patch
@@ -0,0 +1,12 @@
+--- qt-2.3.10/src/kernel/qwindowsystem_qws.h.orig 2005-07-13 20:23:30.061728456 +0100
++++ qt-2.3.10/src/kernel/qwindowsystem_qws.h 2005-07-13 20:37:57.183905848 +0100
+@@ -168,6 +168,9 @@
+ class QWSMouseHandler;
+ struct QWSCommandStruct;
+
++class QWSInputMethod;
++class QWSGestureMethod;
++
+ #ifndef QT_NO_QWS_MULTIPROCESS
+ class QWSServer : public QWSServerSocket
+ #else
diff --git a/recipes/uicmoc/uicmoc-native-2.3.10/gcc4_1.patch b/recipes/uicmoc/uicmoc-native-2.3.10/gcc4_1.patch
new file mode 100644
index 0000000000..550effd7ba
--- /dev/null
+++ b/recipes/uicmoc/uicmoc-native-2.3.10/gcc4_1.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- qt-2.3.10/src/tools/qvaluestack.h~gcc4 2005-01-23 15:00:47.000000000 +0100
++++ qt-2.3.10/src/tools/qvaluestack.h 2006-03-19 02:32:56.000000000 +0100
+@@ -54,7 +54,7 @@
+ {
+ T elem( this->last() );
+ if ( !this->isEmpty() )
+- remove( this->fromLast() );
++ this->remove( this->fromLast() );
+ return elem;
+ }
+ T& top() { return this->last(); }
diff --git a/recipes/uicmoc/uicmoc-native-2.3.10/kernel-asm-page.patch b/recipes/uicmoc/uicmoc-native-2.3.10/kernel-asm-page.patch
new file mode 100644
index 0000000000..0d3187417a
--- /dev/null
+++ b/recipes/uicmoc/uicmoc-native-2.3.10/kernel-asm-page.patch
@@ -0,0 +1,20 @@
+diff --git a/src/kernel/qpixmapcache.cpp b/src/kernel/qpixmapcache.cpp
+index c2e7d9b..8d39585 100644
+--- a/src/kernel/qpixmapcache.cpp
++++ b/src/kernel/qpixmapcache.cpp
+@@ -123,9 +123,12 @@ void cleanup_pixmap_cache();
+ #ifdef THROW_AWAY_UNUSED_PAGES
+ # include <sys/mman.h> // madvise
+-# include <asm/page.h> // PAGE_SIZE,PAGE_MASK,PAGE_ALIGN
++# include <unistd.h> // getpagesize()
++# if (!defined(PAGE_ALIGN)) && defined(PAGE_SIZE) && defined(PAGE_MASK)
++# define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK)
++# endif
+ # ifndef PAGE_ALIGN
+-# define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK)
+-# endif // PAGE_ALIGN
++# define PAGE_ALIGN(addr) (((addr)+getpagesize()-1)&~(getpagesize()-1))
++# endif
+ #endif // THROW_AWAY_UNUSED_PAGES
+
+
diff --git a/recipes/uicmoc/uicmoc-native_2.3.10.bb b/recipes/uicmoc/uicmoc-native_2.3.10.bb
new file mode 100644
index 0000000000..1674353145
--- /dev/null
+++ b/recipes/uicmoc/uicmoc-native_2.3.10.bb
@@ -0,0 +1,50 @@
+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"
+PR = "r4"
+
+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://64bit-cleanup.patch;patch=1 \
+ file://kernel-asm-page.patch;patch=1"
+S = "${WORKDIR}/qt-${PV}"
+
+inherit native qmake_base
+
+export QTDIR = "${S}"
+EXTRA_OEMAKE = 'SYSCONF_CXX="${CXX}" SYSCONF_LINK="${CXX}"'
+CXXFLAGS += " -DQWS"
+
+QT_CONFIG_FLAGS = "-depths 8,16 -no-qvfb -no-g++-exceptions -no-jpeg -no-mng \
+ -qt-zlib -qt-libpng -no-xft -no-xkb -no-vnc -no-sm \
+ -no-opengl -static -qconfig oe"
+
+do_configure() {
+ touch src/tools/qconfig-oe.h
+ echo "#define QT_NO_FREETYPE" >> src/tools/qconfig-oe.h
+ echo yes | ./configure ${QT_CONFIG_FLAGS} || die "Configuring qt failed"
+}
+
+do_compile() {
+ oe_runmake symlinks || die "Can't symlink include files"
+ oe_runmake -C src/moc || die "Building moc failed"
+
+ cp src/moc/moc bin/
+
+ oe_runmake -C src || die "Building libqt.a failed"
+ oe_runmake -C tools/designer/util || die "Building libqutil.a failed"
+ oe_runmake -C tools/designer/uic || die "Building uic failed"
+ oe_runmake -C tools/qvfb || die "Building qvfb failed"
+ oe_runmake -C tools/makeqpf || die "Building makeqpf failed"
+}
+
+do_stage() {
+ install -m 0755 bin/moc ${STAGING_BINDIR}
+ install -m 0755 bin/uic ${STAGING_BINDIR}
+ install -m 0755 tools/makeqpf/makeqpf ${STAGING_BINDIR}
+}
diff --git a/recipes/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch b/recipes/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch
new file mode 100644
index 0000000000..0e5d3ff153
--- /dev/null
+++ b/recipes/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch
@@ -0,0 +1,160 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp~64bit-cleanup.patch
++++ qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp
+@@ -40,6 +40,7 @@
+
+ #include <unistd.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -176,7 +177,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 +738,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-cleanup.patch
++++ qt-embedded-free-3.3.5/src/kernel/qsharedmemory_p.cpp
+@@ -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-cleanup.patch
++++ qt-embedded-free-3.3.5/src/kernel/qapplication_qws.cpp
+@@ -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-cleanup.patch
++++ qt-embedded-free-3.3.5/src/kernel/qfont_qws.cpp
+@@ -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-cleanup.patch
++++ qt-embedded-free-3.3.5/src/kernel/qwsregionmanager_qws.cpp
+@@ -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-cleanup.patch
++++ qt-embedded-free-3.3.5/src/kernel/qwidget_qws.cpp
+@@ -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/recipes/uicmoc/uicmoc3-native-3.3.5/no-examples.patch b/recipes/uicmoc/uicmoc3-native-3.3.5/no-examples.patch
new file mode 100644
index 0000000000..b0ee6374ef
--- /dev/null
+++ b/recipes/uicmoc/uicmoc3-native-3.3.5/no-examples.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- qt-embedded-free-3.3.2/Makefile~no-examples 2003-08-11 16:37:25.000000000 +0200
++++ qt-embedded-free-3.3.2/Makefile 2004-05-11 15:53:53.000000000 +0200
+@@ -11,7 +11,7 @@
+ install: FORCE
+ @$(MAKE) qt.install
+
+-all: symlinks src-qmake src-moc sub-src sub-tools sub-tutorial sub-examples
++all: symlinks src-qmake src-moc sub-src sub-tools
+ @echo
+ @echo "The Qt library is now built in ./lib"
+ @echo "The Qt examples are built in the directories in ./examples"
diff --git a/recipes/uicmoc/uicmoc3-native_3.3.5.bb b/recipes/uicmoc/uicmoc3-native_3.3.5.bb
new file mode 100644
index 0000000000..11b0c506dc
--- /dev/null
+++ b/recipes/uicmoc/uicmoc3-native_3.3.5.bb
@@ -0,0 +1,51 @@
+DESCRIPTION = "User Interface Generator and Meta Object Compiler (moc) for Qt(E) 3.x"
+HOMEPAGE = "http://www.trolltech.com"
+SECTION = "devel"
+PRIORITY = "optional"
+LICENSE = "GPL QPL"
+DEPENDS = "qmake-native"
+PR = "r3"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-free-${PV}.tar.bz2 \
+ file://no-examples.patch;patch=1 \
+ file://64bit-cleanup.patch;patch=1"
+S = "${WORKDIR}/qt-embedded-free-${PV}"
+
+inherit native qmake_base qt3e
+
+export QTDIR = "${S}"
+export OE_QMAKE_LINK="${CXX}"
+CXXFLAGS += " -DQWS"
+
+QT_CONFIG_FLAGS = "-release -static -depths 8,16 -qt-zlib -no-nas-sound \
+ -no-sm -no-libjpeg -no-libmng -no-gif -no-xshape -no-xinerama \
+ -no-xcursor -no-xrandr -no-xrender -no-xft -no-tablet \
+ -no-xkb -no-dlopen-opengl -no-freetype -no-thread \
+ -no-nis -no-cups -prefix ${prefix} \
+ -xplatform ${OE_QMAKE_PLATFORM} \
+ -platform ${OE_QMAKE_PLATFORM}"
+
+do_configure() {
+ oe_qmake_mkspecs
+ echo "yes" | ./configure ${QT_CONFIG_FLAGS}
+}
+
+do_compile() {
+ oe_runmake symlinks || die "Can't symlink include files"
+ oe_runmake src-moc || die "Building moc failed"
+ oe_runmake sub-tools || die "Building tools failed"
+}
+
+do_stage() {
+ install -d ${OE_QMAKE_INCDIR_QT}
+ install -d ${OE_QMAKE_LIBDIR_QT}
+
+ install -m 0755 bin/moc ${OE_QMAKE_MOC}
+ install -m 0755 bin/uic ${OE_QMAKE_UIC}
+ install -m 0655 lib/*.a ${OE_QMAKE_LIBDIR_QT}
+
+ for f in include/*.h
+ do
+ install -m 0644 $f ${OE_QMAKE_INCDIR_QT}/
+ done
+}
diff --git a/recipes/uicmoc/uicmoc4-native.inc b/recipes/uicmoc/uicmoc4-native.inc
new file mode 100644
index 0000000000..1a3e06988b
--- /dev/null
+++ b/recipes/uicmoc/uicmoc4-native.inc
@@ -0,0 +1,77 @@
+DESCRIPTION = "User-Interface-, Meta-Object-, and Resource Compiler for Qt/[X11|Mac|Embedded] version 4.x"
+DEPENDS = "zlib-native"
+SECTION = "libs"
+HOMEPAGE = "http://www.trolltech.com"
+PRIORITY = "optional"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
+ file://configure-fix.patch;patch=1"
+S = "${WORKDIR}/qt-embedded-linux-opensource-src-${PV}"
+
+EXTRA_OECONF = "-prefix ${STAGING_DIR_NATIVE}/qt4 \
+ -qt-libjpeg -qt-gif -system-zlib \
+ -no-nis -no-cups -no-exceptions \
+ -no-accessibility -no-libjpeg \
+ -no-nas-sound -no-sm \
+ -no-xshape -no-xinerama \
+ -no-xcursor -no-xrandr \
+ -no-xrender -no-fontconfig \
+ -no-tablet -no-xkb \
+ -no-libpng \
+ -verbose -release -fast -static \
+ -qt3support "
+# yank default -e
+EXTRA_OEMAKE = " "
+
+export LFLAGS="${LDFLAGS}"
+
+do_configure() {
+ sed -i 's:^QT += xml qt3support$:QT += xml qt3support network:' "${S}"/src/tools/uic3/uic3.pro
+ echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
+}
+
+TOBUILD = "\
+ src/tools/moc \
+ src/corelib \
+ src/sql \
+ src/qt3support \
+ src/xml \
+ src/tools/uic \
+ src/tools/rcc \
+ src/network \
+ src/gui \
+ src/tools/uic3 \
+"
+
+TOBUILD2 = "\
+ tools/linguist/lrelease \
+ tools/linguist/lupdate \
+"
+
+do_compile() {
+ unset CC CXX CFLAGS LFLAGS CXXFLAGS CPPFLAGS
+ for i in ${TOBUILD};
+ do
+ cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
+ done
+ for i in ${TOBUILD2};
+ do
+ cd ${S}/$i && \
+ ${S}/bin/qmake -spec ${S}/mkspecs/linux-g++ && \
+ oe_runmake CC="${CC}" CXX="${CXX}"
+ done
+}
+
+do_stage() {
+ install -d ${STAGING_BINDIR}/
+ install -m 0755 bin/moc ${STAGING_BINDIR}/moc4
+ install -m 0755 bin/uic ${STAGING_BINDIR}/uic4
+ install -m 0755 bin/uic3 ${STAGING_BINDIR}/uic34
+ install -m 0755 bin/rcc ${STAGING_BINDIR}/rcc4
+ install -m 0755 bin/lrelease ${STAGING_BINDIR}/lrelease4
+ install -m 0755 bin/lupdate ${STAGING_BINDIR}/lupdate4
+ install -d ${STAGING_DIR_NATIVE}/qt4/
+ install -m 0644 tools/porting/src/q3porting.xml ${STAGING_DIR_NATIVE}/qt4/
+}
diff --git a/recipes/uicmoc/uicmoc4-native_4.4.3.bb b/recipes/uicmoc/uicmoc4-native_4.4.3.bb
new file mode 100644
index 0000000000..083635c12b
--- /dev/null
+++ b/recipes/uicmoc/uicmoc4-native_4.4.3.bb
@@ -0,0 +1,16 @@
+require uicmoc4-native.inc
+
+inherit native
+
+do_stage() {
+ install -d ${STAGING_BINDIR}/
+ install -m 0755 bin/moc ${STAGING_BINDIR}/moc4
+ install -m 0755 bin/uic ${STAGING_BINDIR}/uic4
+ install -m 0755 bin/uic3 ${STAGING_BINDIR}/uic34
+ install -m 0755 bin/rcc ${STAGING_BINDIR}/rcc4
+ install -m 0755 bin/lrelease ${STAGING_BINDIR}/lrelease4
+ install -m 0755 bin/lupdate ${STAGING_BINDIR}/lupdate4
+ install -d ${STAGING_DIR_NATIVE}/qt4/
+ install -m 0644 tools/porting/src/q3porting.xml ${STAGING_DIR_NATIVE}/qt4/
+}
+
diff --git a/recipes/uicmoc/uicmoc4-sdk_4.4.3.bb b/recipes/uicmoc/uicmoc4-sdk_4.4.3.bb
new file mode 100644
index 0000000000..6953ee6b51
--- /dev/null
+++ b/recipes/uicmoc/uicmoc4-sdk_4.4.3.bb
@@ -0,0 +1,16 @@
+require uicmoc4-native.inc
+
+inherit sdk
+
+do_install_append() {
+ install -d ${D}/${bindir}
+ install -m 0755 bin/moc ${D}/${bindir}/moc4
+ install -m 0755 bin/uic ${D}/${bindir}/uic4
+ install -m 0755 bin/uic3 ${D}/${bindir}/uic34
+ install -m 0755 bin/rcc ${D}/${bindir}/rcc4
+ install -m 0755 bin/lrelease ${D}/${bindir}/lrelease4
+ install -m 0755 bin/lupdate ${D}/${bindir}/lupdate4
+ install -d ${D}/${datadir}/qt4/
+ install -m 0644 tools/porting/src/q3porting.xml ${D}/${datadir}/qt4/
+}
+