]> code.ossystems Code Review - openembedded-core.git/commitdiff
meta-moblin: Add basic qt support (from OE)
authorRichard Purdie <rpurdie@linux.intel.com>
Mon, 1 Dec 2008 20:55:25 +0000 (20:55 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 1 Dec 2008 20:55:25 +0000 (20:55 +0000)
15 files changed:
meta-moblin/classes/qt3e.bbclass [new file with mode: 0644]
meta-moblin/classes/qt3x11.bbclass [new file with mode: 0644]
meta-moblin/classes/qt4x11.bbclass [new file with mode: 0644]
meta-moblin/classes/qtopia4core.bbclass [new file with mode: 0644]
meta-moblin/packages/qmake/files/linux-oe-qmake.conf [new file with mode: 0644]
meta-moblin/packages/qmake/qmake-native_1.07a.bb [new file with mode: 0644]
meta-moblin/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch [new file with mode: 0644]
meta-moblin/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf [new file with mode: 0644]
meta-moblin/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch [new file with mode: 0644]
meta-moblin/packages/qmake/qmake2-cross_2.10a.bb [new file with mode: 0644]
meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch [new file with mode: 0644]
meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch [new file with mode: 0644]
meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb [new file with mode: 0644]
meta-moblin/packages/uicmoc/uicmoc4-native.inc [new file with mode: 0644]
meta-moblin/packages/uicmoc/uicmoc4-native_4.3.2.bb [new file with mode: 0644]

diff --git a/meta-moblin/classes/qt3e.bbclass b/meta-moblin/classes/qt3e.bbclass
new file mode 100644 (file)
index 0000000..35958b3
--- /dev/null
@@ -0,0 +1,11 @@
+#
+# override variables set by qmake_base to compile Qt/X11 apps
+#
+export QTDIR="${STAGING_DIR_HOST}/qte3"
+export QTEDIR="${STAGING_DIR_HOST}/qte3"
+export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic3"
+export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc3"
+export OE_QMAKE_CXXFLAGS="${CXXFLAGS} "
+export OE_QMAKE_INCDIR_QT="${QTEDIR}/include"
+export OE_QMAKE_LIBDIR_QT="${QTEDIR}/lib"
+export OE_QMAKE_LIBS_QT="qte"
diff --git a/meta-moblin/classes/qt3x11.bbclass b/meta-moblin/classes/qt3x11.bbclass
new file mode 100644 (file)
index 0000000..5408b7f
--- /dev/null
@@ -0,0 +1,15 @@
+DEPENDS_prepend = "${@["qt3x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt-x11-free')]}"
+EXTRA_QMAKEVARS_POST += "CONFIG+=thread"
+#
+# override variables set by qmake_base to compile Qt/X11 apps
+#
+export QTDIR = "${STAGING_DIR_HOST}/qt3"
+export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic3"
+export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc3"
+export OE_QMAKE_CXXFLAGS = "${CXXFLAGS} -DQT_NO_XIM"
+export OE_QMAKE_INCDIR_QT = "${QTDIR}/include"
+export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib"
+export OE_QMAKE_LIBS_QT = "qt"
+export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
+export OE_QMAKE_LIBS_OPENGL = "-lGLU -lGL -lXmu"
+export OE_QMAKE_LIBS_OPENGL_QT = "-lGL -lXmu"
diff --git a/meta-moblin/classes/qt4x11.bbclass b/meta-moblin/classes/qt4x11.bbclass
new file mode 100644 (file)
index 0000000..76a45c3
--- /dev/null
@@ -0,0 +1,3 @@
+DEPENDS_prepend = "${@["qt4x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt4-x11-free')]}"
+
+inherit qmake2
diff --git a/meta-moblin/classes/qtopia4core.bbclass b/meta-moblin/classes/qtopia4core.bbclass
new file mode 100644 (file)
index 0000000..b5f10fa
--- /dev/null
@@ -0,0 +1,13 @@
+DEPENDS_prepend = "${@["qtopia-core ", ""][(bb.data.getVar('PN', d, 1) == 'qtopia-core')]}"
+inherit qmake2
+
+QT_DIR_NAME = "qtopia"
+#
+# override variables set by qmake-base to compile QtopiaCore apps
+#
+export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qtopia"
+export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}"
+export OE_QMAKE_LIBS_QT = "qt"
+export OE_QMAKE_LIBS_X11 = ""
+export OE_QMAKE_EXTRA_MODULES = "network"
+EXTRA_QMAKEVARS_PRE += " QT_LIBINFIX=E "
diff --git a/meta-moblin/packages/qmake/files/linux-oe-qmake.conf b/meta-moblin/packages/qmake/files/linux-oe-qmake.conf
new file mode 100644 (file)
index 0000000..205b693
--- /dev/null
@@ -0,0 +1,82 @@
+#
+# qmake configuration for linux-oe-g++ / OpenEmbedded Build System / http://openembedded.org
+#
+
+MAKEFILE_GENERATOR     = UNIX
+TEMPLATE               = app
+CONFIG                 += qt warn_on release
+
+QMAKE_CC               = $(OE_QMAKE_CC)
+QMAKE_LEX              = flex
+QMAKE_LEXFLAGS         =
+QMAKE_YACC             = yacc
+QMAKE_YACCFLAGS                = -d
+QMAKE_CFLAGS           = -pipe $(OE_QMAKE_CFLAGS) $(CFLAGS_EXTRA)
+QMAKE_CFLAGS_WARN_ON   = -Wall -W
+QMAKE_CFLAGS_WARN_OFF  =
+QMAKE_CFLAGS_RELEASE   = $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2)
+QMAKE_CFLAGS_DEBUG     = -g
+QMAKE_CFLAGS_SHLIB     = -fPIC
+QMAKE_CFLAGS_YACC      = -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_THREAD    = -D_REENTRANT
+
+QMAKE_CXX              = $(OE_QMAKE_CXX)
+QMAKE_CXXFLAGS         = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) $(CXXFLAGS_EXTRA)
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF        = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG   = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB   = $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_YACC    = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD  = $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR           =
+QMAKE_LIBDIR           =
+QMAKE_INCDIR_X11       = 
+QMAKE_LIBDIR_X11       = 
+QMAKE_INCDIR_QT                = $(OE_QMAKE_INCDIR_QT)
+QMAKE_LIBDIR_QT                = $(OE_QMAKE_LIBDIR_QT)
+QMAKE_INCDIR_OPENGL    =
+QMAKE_LIBDIR_OPENGL    =
+
+QMAKE_LINK             = $(OE_QMAKE_LINK)
+QMAKE_LINK_SHLIB       = $(OE_QMAKE_LINK)
+QMAKE_LFLAGS           = $(OE_QMAKE_LDFLAGS) $(LFLAGS_EXTRA)
+QMAKE_LFLAGS_RELEASE   =
+QMAKE_LFLAGS_DEBUG     =
+QMAKE_LFLAGS_SHLIB      = -shared
+QMAKE_LFLAGS_PLUGIN     = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME     = -Wl,-soname,
+QMAKE_LFLAGS_THREAD     =
+QMAKE_RPATH             = -Wl,-rpath-link,
+
+QMAKE_LIBS             = $(LIBS_EXTRA)
+QMAKE_LIBS_DYNLOAD      = -ldl
+QMAKE_LIBS_X11         = $(OE_QMAKE_LIBS_X11)
+QMAKE_LIBS_X11SM       = 
+QMAKE_LIBS_QT          = -l$(OE_QMAKE_LIBS_QT)
+QMAKE_LIBS_QT_THREAD    = -l$(OE_QMAKE_LIBS_QT)-mt
+QMAKE_LIBS_OPENGL      = $(OE_QMAKE_LIBS_OPENGL)
+QMAKE_LIBS_OPENGL_QT   = $(OE_QMAKE_LIBS_OPENGL_QT)
+QMAKE_LIBS_THREAD       = -lpthread
+
+QMAKE_MOC              = $(OE_QMAKE_MOC)
+QMAKE_UIC              = $(OE_QMAKE_UIC)
+
+QMAKE_AR               = $(OE_QMAKE_AR) cqs
+QMAKE_RANLIB           =
+
+QMAKE_TAR              = tar -cf
+QMAKE_GZIP             = gzip -9f
+
+QMAKE_COPY             = cp -f
+QMAKE_COPY_FILE         = $(COPY)
+QMAKE_COPY_DIR          = $(COPY) -r
+QMAKE_MOVE             = mv -f
+QMAKE_DEL_FILE         = rm -f
+QMAKE_DEL_DIR          = rmdir
+QMAKE_STRIP             = $(OE_QMAKE_STRIP)
+QMAKE_STRIPFLAGS_LIB   += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS   = test -d
+QMAKE_MKDIR            = mkdir -p
+
diff --git a/meta-moblin/packages/qmake/qmake-native_1.07a.bb b/meta-moblin/packages/qmake/qmake-native_1.07a.bb
new file mode 100644 (file)
index 0000000..29f736d
--- /dev/null
@@ -0,0 +1,46 @@
+DESCRIPTION = "TrollTech Makefile Generator"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.trolltech.com"
+SECTION = "devel"
+LICENSE = "GPL QPL"
+PR = "r4"
+
+QTEVER = "qt-embedded-free-3.3.5"
+
+SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTEVER}.tar.bz2 \
+           file://linux-oe-qmake.conf"
+S = "${WORKDIR}/${QTEVER}"
+
+inherit autotools native
+
+export QTDIR = "${S}"
+EXTRA_OEMAKE = "-e"
+
+do_configure() {
+       # Install the OE build templates
+       for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++
+       do
+               install -d ${S}/mkspecs/$template
+               install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf
+               ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h
+       done
+       QMAKESPEC=
+       PLATFORM=${HOST_OS}-oe-g++
+       export PLATFORM
+       oenote ./configure ${EXTRA_OECONF}
+       echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed"
+}
+
+do_compile() {
+       :
+}
+
+do_stage() {
+       install -m 0755 bin/qmake ${STAGING_BINDIR}
+       install -d ${QMAKE_MKSPEC_PATH}
+       cp -fPR mkspecs/* ${QMAKE_MKSPEC_PATH}
+}
+
+do_install() {
+        :
+}
diff --git a/meta-moblin/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch b/meta-moblin/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch
new file mode 100644 (file)
index 0000000..abebfdf
--- /dev/null
@@ -0,0 +1,123 @@
+From 594157753a24d0575aaf948dc0e9500f6bdb2178 Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Sat, 2 Jun 2007 16:39:58 +0200
+Subject: [PATCH] fix mkspecs
+
+---
+ mkspecs/common/g++.conf   |   18 +++++++++---------
+ mkspecs/common/linux.conf |   26 +++++++++++++-------------
+ 2 files changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf
+index f5a5c8e..4007c7e 100644
+--- a/mkspecs/common/g++.conf
++++ b/mkspecs/common/g++.conf
+@@ -2,12 +2,12 @@
+ # qmake configuration for common gcc
+ #
+-QMAKE_CC              = gcc
+-QMAKE_CFLAGS          += -pipe
++QMAKE_CC              = $(OE_QMAKE_CC)
++QMAKE_CFLAGS          += -pipe $(OE_QMAKE_CFLAGS)
+ QMAKE_CFLAGS_DEPS     += -M
+ QMAKE_CFLAGS_WARN_ON  += -Wall -W
+ QMAKE_CFLAGS_WARN_OFF += -w
+-QMAKE_CFLAGS_RELEASE  += -O2
++QMAKE_CFLAGS_RELEASE  += -O2 
+ QMAKE_CFLAGS_DEBUG    += -g
+ QMAKE_CFLAGS_SHLIB    += -fPIC
+ QMAKE_CFLAGS_STATIC_LIB       += -fPIC
+@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS   += -fvisibility=hidden
+ QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+ QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+-QMAKE_CXX             = g++
+-QMAKE_CXXFLAGS                += $$QMAKE_CFLAGS
++QMAKE_CXX             = $(OE_QMAKE_CXX)
++QMAKE_CXXFLAGS                += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
+ QMAKE_CXXFLAGS_DEPS   += $$QMAKE_CFLAGS_DEPS
+ QMAKE_CXXFLAGS_WARN_ON        += $$QMAKE_CFLAGS_WARN_ON
+ QMAKE_CXXFLAGS_WARN_OFF       += $$QMAKE_CFLAGS_WARN_OFF
+@@ -30,9 +30,9 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+ QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+ QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-QMAKE_LINK            = g++
+-QMAKE_LINK_SHLIB      = g++
+-QMAKE_LFLAGS          +=
++QMAKE_LINK            = $(OE_QMAKE_LINK)
++QMAKE_LINK_SHLIB      = $(OE_QMAKE_LINK)
++QMAKE_LFLAGS          += $(OE_QMAKE_LDFLAGS)
+ QMAKE_LFLAGS_RELEASE  +=
+ QMAKE_LFLAGS_DEBUG    +=
+ QMAKE_LFLAGS_APP      +=
+@@ -40,7 +40,7 @@ QMAKE_LFLAGS_SHLIB   += -shared
+ QMAKE_LFLAGS_PLUGIN   += $$QMAKE_LFLAGS_SHLIB
+ QMAKE_LFLAGS_SONAME   += -Wl,-soname,
+ QMAKE_LFLAGS_THREAD   +=
+-QMAKE_RPATH           = -Wl,-rpath,
++QMAKE_RPATH           = -Wl,-rpath-link,
+ QMAKE_PCH_OUTPUT_EXT    = .gch
+diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
+index 3796a87..52acf16 100644
+--- a/mkspecs/common/linux.conf
++++ b/mkspecs/common/linux.conf
+@@ -7,26 +7,26 @@ QMAKE_CXXFLAGS_THREAD        += $$QMAKE_CFLAGS_THREAD
+ QMAKE_INCDIR          =
+ QMAKE_LIBDIR          =
+-QMAKE_INCDIR_X11      = /usr/X11R6/include
+-QMAKE_LIBDIR_X11      = /usr/X11R6/lib
+-QMAKE_INCDIR_QT       = $$[QT_INSTALL_HEADERS]
+-QMAKE_LIBDIR_QT       = $$[QT_INSTALL_LIBS]
+-QMAKE_INCDIR_OPENGL   = /usr/X11R6/include
+-QMAKE_LIBDIR_OPENGL   = /usr/X11R6/lib
++QMAKE_INCDIR_X11      = 
++QMAKE_LIBDIR_X11      = 
++QMAKE_INCDIR_QT       = $(OE_QMAKE_INCDIR_QT)
++QMAKE_LIBDIR_QT       = $(OE_QMAKE_LIBDIR_QT)
++QMAKE_INCDIR_OPENGL   = 
++QMAKE_LIBDIR_OPENGL   = 
+ QMAKE_LIBS            =
+ QMAKE_LIBS_DYNLOAD    = -ldl
+-QMAKE_LIBS_X11        = -lXext -lX11 -lm
+-QMAKE_LIBS_X11SM      = -lSM -lICE
++QMAKE_LIBS_X11        = $(OE_QMAKE_LIBS_X11)
++QMAKE_LIBS_X11SM      = $(OE_QMAKE_LIBS_X11SM)
+ QMAKE_LIBS_NIS        = -lnsl
+ QMAKE_LIBS_OPENGL     = -lGLU -lGL
+ QMAKE_LIBS_OPENGL_QT  = -lGL
+ QMAKE_LIBS_THREAD     = -lpthread
+-QMAKE_MOC             = $$[QT_INSTALL_BINS]/moc
+-QMAKE_UIC             = $$[QT_INSTALL_BINS]/uic
++QMAKE_MOC             = $(OE_QMAKE_MOC)
++QMAKE_UIC             = $(OE_QMAKE_UIC)
+-QMAKE_AR              = ar cqs
++QMAKE_AR              = $(OE_QMAKE_AR) cqs
+ QMAKE_RANLIB          =
+ QMAKE_TAR             = tar -cf
+@@ -38,11 +38,11 @@ QMAKE_COPY_DIR        = $(COPY) -r
+ QMAKE_MOVE            = mv -f
+ QMAKE_DEL_FILE        = rm -f
+ QMAKE_DEL_DIR         = rmdir
+-QMAKE_STRIP           = strip
++QMAKE_STRIP           = $(OE_QMAKE_STRIP)
+ QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+ QMAKE_CHK_DIR_EXISTS  = test -d
+ QMAKE_MKDIR           = mkdir -p
+ QMAKE_INSTALL_FILE    = install -m 644 -p
+ QMAKE_INSTALL_PROGRAM = install -m 755 -p
+-include(unix.conf)
+\ No newline at end of file
++include(unix.conf)
+-- 
+1.5.1.6
+
diff --git a/meta-moblin/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf b/meta-moblin/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf
new file mode 100644 (file)
index 0000000..f58481a
--- /dev/null
@@ -0,0 +1 @@
+include(../linux-g++/qmake.conf)
diff --git a/meta-moblin/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch b/meta-moblin/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch
new file mode 100644 (file)
index 0000000..4197dbb
--- /dev/null
@@ -0,0 +1,22 @@
+Index: qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp
+===================================================================
+--- qtopia-core-opensource-src-4.3.1.orig/qmake/generators/unix/unixmake2.cpp  2007-10-07 13:45:26.000000000 +0200
++++ qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp       2007-10-07 13:57:09.000000000 +0200
+@@ -416,7 +416,7 @@
+                 t << "\n\t" << mkdir_p_asstring(destdir) << "\n\t";
+             if(!project->isEmpty("QMAKE_PRE_LINK"))
+                 t << var("QMAKE_PRE_LINK") << "\n\t";
+-            t << "$(LINK) $(LFLAGS) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS)";
++            t << "$(LINK) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS) $(LFLAGS)";
+             if(!project->isEmpty("QMAKE_POST_LINK"))
+                 t << "\n\t" << var("QMAKE_POST_LINK");
+             t << endl << endl;
+@@ -430,7 +430,7 @@
+                 t << mkdir_p_asstring(destdir) << "\n\t";
+             if(!project->isEmpty("QMAKE_PRE_LINK"))
+                 t << var("QMAKE_PRE_LINK") << "\n\t";
+-            t << "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)";
++            t << "$(LINK) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) $(LFLAGS)";
+             if(!project->isEmpty("QMAKE_POST_LINK"))
+                 t << "\n\t" << var("QMAKE_POST_LINK");
+             t << endl << endl;
diff --git a/meta-moblin/packages/qmake/qmake2-cross_2.10a.bb b/meta-moblin/packages/qmake/qmake2-cross_2.10a.bb
new file mode 100644 (file)
index 0000000..c4f5867
--- /dev/null
@@ -0,0 +1,69 @@
+DESCRIPTION = "TrollTech Makefile Generator"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.trolltech.com"
+SECTION = "devel"
+LICENSE = "GPL"
+PR = "r2"
+
+QTVER = "qtopia-core-opensource-src-4.3.2"
+
+SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTVER}.tar.gz \
+           file://0001-fix-mkspecs.patch;patch=1 \
+           file://use-lflags-last.patch;patch=1 \
+           file://linux-oe-qmake.conf"
+S = "${WORKDIR}/${QTVER}"
+
+# we need the real target system here
+CROSS_SYS := "${TARGET_SYS}"
+CROSS_BINDIR := "${STAGING_BINDIR_CROSS}"
+inherit autotools cross
+
+export QTDIR = "${S}"
+EXTRA_OEMAKE = "-e"
+
+do_configure() {
+        # Install the OE build templates
+        for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++
+        do
+                install -d ${S}/mkspecs/$template
+                install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf
+                ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h
+        done
+
+       QMAKESPEC=
+       PLATFORM=${HOST_OS}-oe-g++
+       export PLATFORM
+       # yes, TARGET_SYS is correct, because this is a 'cross'-qmake-native :) :M:
+       export OE_QMAKE_CC="${CC}"
+       export OE_QMAKE_CFLAGS="${CFLAGS}"
+       export OE_QMAKE_CXX="${CXX}"
+       export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}"
+       export OE_QMAKE_LDFLAGS="${LDFLAGS}"
+       export OE_QMAKE_LINK="${CCLD}"
+       export OE_QMAKE_AR="${AR}"
+       export OE_QMAKE_STRIP="${STRIP}"
+       export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic4"
+       export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc4"
+       export OE_QMAKE_RCC="${STAGING_BINDIR_NATIVE}/rcc4"
+       export OE_QMAKE_QMAKE="${CROSS_BINDIR}/qmake2"
+       export OE_QMAKE_RPATH="-Wl,-rpath-link,"
+       echo yes | ./configure -prefix ${STAGING_DIR}/${CROSS_SYS}/qt4 ${EXTRA_OECONF} || die "Configuring qt failed"
+}
+
+do_compile() {
+       :
+}
+
+do_stage() {
+       install -d ${CROSS_BINDIR}/
+       install -m 0755 bin/qmake ${CROSS_BINDIR}/qmake2
+       install -m 0755 bin/qmake ${CROSS_BINDIR}/qmake-qt4
+       install -d ${STAGING_DIR}/${CROSS_SYS}/qt4/
+       cp -PfR mkspecs ${STAGING_DIR}/${CROSS_SYS}/qt4/
+       install -d ${STAGING_DIR}/${HOST_SYS}/qt4/
+       cp -PfR mkspecs ${STAGING_DIR}/${HOST_SYS}/qt4/
+}
+
+do_install() {
+        :
+}
diff --git a/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch b/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch
new file mode 100644 (file)
index 0000000..0e5d3ff
--- /dev/null
@@ -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/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch b/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch
new file mode 100644 (file)
index 0000000..b0ee637
--- /dev/null
@@ -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/meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb b/meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb
new file mode 100644 (file)
index 0000000..11b0c50
--- /dev/null
@@ -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/meta-moblin/packages/uicmoc/uicmoc4-native.inc b/meta-moblin/packages/uicmoc/uicmoc4-native.inc
new file mode 100644 (file)
index 0000000..8c47878
--- /dev/null
@@ -0,0 +1,62 @@
+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/qtopia-core-opensource-src-${PV}.tar.gz"
+S = "${WORKDIR}/qtopia-core-opensource-src-${PV}"
+
+inherit native
+
+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 \
+                -L ${STAGING_LIBDIR_NATIVE}      \
+                -qt3support "
+# yank default -e
+EXTRA_OEMAKE = " "
+
+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 \
+"
+
+do_compile() {
+       unset CC CXX CFLAGS LFLAGS CXXFLAGS CPPFLAGS
+       for i in ${TOBUILD}; do
+               cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
+       done
+}
+
+do_stage() {
+        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 -d ${STAGING_DIR_NATIVE}/qt4/
+        install -m 0644 tools/porting/src/q3porting.xml ${STAGING_DIR_NATIVE}/qt4/
+}
diff --git a/meta-moblin/packages/uicmoc/uicmoc4-native_4.3.2.bb b/meta-moblin/packages/uicmoc/uicmoc4-native_4.3.2.bb
new file mode 100644 (file)
index 0000000..1950f63
--- /dev/null
@@ -0,0 +1 @@
+require uicmoc4-native.inc