aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/qt4
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/qt4
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/qt4')
-rw-r--r--recipes/qt4/files/0001-cross-compile.patch183
-rw-r--r--recipes/qt4/files/0003-no-tools.patch25
-rw-r--r--recipes/qt4/files/0005-fix-mkspecs.patch133
-rw-r--r--recipes/qt4/files/0008-backport-qt-lib-infix.patch166
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/0001-cross-compile.patch32
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/0003-no-tools.patch16
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/0004-no-qmake.patch25
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/0005-fix-mkspecs.patch101
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/0006-freetype-host-includes.patch23
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/0007-openssl-host-includes.patch23
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/build-tools.patch28
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/linux-oe-qmake.conf95
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/qconfig-oe.h45
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/qt-lib-infix.patch45
-rw-r--r--recipes/qt4/qt-embedded-4.4.3/support-2bpp.patch295
-rw-r--r--recipes/qt4/qt-embedded.inc46
-rw-r--r--recipes/qt4/qt-embedded_4.4.3.bb2
-rw-r--r--recipes/qt4/qt4-x11-free-4.1.2/configurable-cpu-extensions.patch34
-rw-r--r--recipes/qt4/qt4-x11-free-4.1.2/cross-compile.patch159
-rw-r--r--recipes/qt4/qt4-x11-free-4.1.2/fix-asm-constraints.patch16
-rw-r--r--recipes/qt4/qt4-x11-free-4.1.2/fix-mkspecs.patch102
-rw-r--r--recipes/qt4/qt4-x11-free-4.1.2/fix-resinit-declaration.patch16
-rw-r--r--recipes/qt4/qt4-x11-free-4.1.2/gcc4_1.patch50
-rw-r--r--recipes/qt4/qt4-x11-free-4.1.2/no-qmake.patch16
-rw-r--r--recipes/qt4/qt4-x11-free-4.1.2/no-tools.patch16
-rw-r--r--recipes/qt4/qt4-x11-free-4.3.3/0002-fix-resinit-declaration.patch25
-rw-r--r--recipes/qt4/qt4-x11-free-4.3.3/0004-no-qmake.patch25
-rw-r--r--recipes/qt4/qt4-x11-free-4.3.3/0006-freetype-host-includes.patch23
-rw-r--r--recipes/qt4/qt4-x11-free-4.3.3/0007-openssl-host-includes.patch23
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/0001-cross-compile.patch32
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/0002-fix-resinit-declaration.patch25
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/0003-no-tools.patch16
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/0004-no-qmake.patch25
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/0005-fix-mkspecs.patch101
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/0006-freetype-host-includes.patch23
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/0007-openssl-host-includes.patch23
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/allow-configure-plugins.patch62
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/build-tools.patch28
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/linux-oe-qmake.conf95
-rw-r--r--recipes/qt4/qt4-x11-free-4.4.3/qconfig-oe.h45
-rw-r--r--recipes/qt4/qt4-x11-free.inc28
-rw-r--r--recipes/qt4/qt4-x11-free_4.1.2.bb141
-rw-r--r--recipes/qt4/qt4-x11-free_4.3.3.bb5
-rw-r--r--recipes/qt4/qt4-x11-free_4.4.3.bb7
-rw-r--r--recipes/qt4/qt4_arch.inc25
-rw-r--r--recipes/qt4/qt_configuration.inc82
-rw-r--r--recipes/qt4/qt_depends.inc3
-rw-r--r--recipes/qt4/qt_packaging.inc220
-rw-r--r--recipes/qt4/qt_staging.inc58
49 files changed, 2832 insertions, 0 deletions
diff --git a/recipes/qt4/files/0001-cross-compile.patch b/recipes/qt4/files/0001-cross-compile.patch
new file mode 100644
index 0000000000..6e2b8e755e
--- /dev/null
+++ b/recipes/qt4/files/0001-cross-compile.patch
@@ -0,0 +1,183 @@
+From 64210fec17ab819f21769e3e82bb26e9f2ccfdb4 Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Sun, 3 Jun 2007 18:30:37 +0200
+Subject: [PATCH] cross compile
+
+---
+ configure | 137 ++----------------------------------------------------------
+ 1 files changed, 5 insertions(+), 132 deletions(-)
+
+Index: qt-x11-opensource-src-4.3.2/configure
+===================================================================
+--- qt-x11-opensource-src-4.3.2.orig/configure 2007-10-01 15:06:03.000000000 +0200
++++ qt-x11-opensource-src-4.3.2/configure 2007-10-23 09:32:25.000000000 +0200
+@@ -735,7 +735,7 @@
+ UNKNOWN_ARG=yes
+ fi
+ ;;
+- -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-mysql_config)
++ -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-mysql_config|-crossarch)
+ VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
+ shift
+ VAL="$1"
+@@ -1124,6 +1124,9 @@
+ xplatform)
+ XPLATFORM="$VAL"
+ ;;
++ crossarch)
++ CROSSARCH="$VAL"
++ ;;
+ debug-and-release)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_DEBUG_RELEASE="$VAL"
+@@ -2119,149 +2122,7 @@
+ echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
+ fi
+
+-if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
+- case "$CFG_EMBEDDED" in
+- x86)
+- ARCH=i386
+- ;;
+- x86_64)
+- ARCH=x86_64
+- ;;
+- ipaq|sharp)
+- ARCH=arm
+- ;;
+- *)
+- ARCH="$CFG_EMBEDDED"
+- ;;
+- esac
+-else
+- case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
+- IRIX*:*:*)
+- ARCH=`uname -p`
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " SGI ($ARCH)"
+- fi
+- ;;
+- SunOS:5*:*)
+- case "$UNAME_MACHINE" in
+- sun4u*|sun4v*)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " Sun SPARC (sparc)"
+- fi
+- ARCH=sparc
+- ;;
+- i86pc)
+- case "$PLATFORM" in
+- *-64)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 64-bit AMD 80x86 (x86_64)"
+- fi
+- ARCH=x86_64
+- ;;
+- *)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit Intel 80x86 (i386)"
+- fi
+- ARCH=i386
+- ;;
+- esac
+- esac
+- ;;
+- Darwin:*:*)
+- case "$UNAME_MACHINE" in
+- Power?Macintosh)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit Apple PowerPC (powerpc)"
+- fi
+- ;;
+- x86)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit Intel 80x86 (i386)"
+- fi
+- ;;
+- esac
+- ARCH=macosx
+- ;;
+- AIX:*:00????????00)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 64-bit IBM PowerPC (powerpc)"
+- fi
+- ARCH=powerpc
+- ;;
+- HP-UX:*:9000*)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " HP PA-RISC (parisc)"
+- fi
+- ARCH=parisc
+- ;;
+- *:*:i?86)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit Intel 80x86 (i386)"
+- fi
+- ARCH=i386
+- ;;
+- *:*:x86_64|*:*:amd64)
+- if [ "$PLATFORM" = "linux-g++-32" -o "$PLATFORM" = "linux-icc-32" ]; then
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32 bit on 64-bit AMD 80x86 (i386)"
+- fi
+- ARCH=i386
+- else
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 64-bit AMD 80x86 (x86_64)"
+- fi
+- ARCH=x86_64
+- fi
+- ;;
+- *:*:ppc)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit PowerPC (powerpc)"
+- fi
+- ARCH=powerpc
+- ;;
+- *:*:ppc64)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 64-bit PowerPC (powerpc)"
+- fi
+- ARCH=powerpc
+- ;;
+- *:*:s390*)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " IBM S/390 (s390)"
+- fi
+- ARCH=s390
+- ;;
+- *:*:arm*)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " ARM (arm)"
+- fi
+- ARCH=arm
+- ;;
+- Linux:*:sparc*)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " Linux on SPARC"
+- fi
+- ARCH=sparc
+- ;;
+- *:*:*)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " Trying '$UNAME_MACHINE'..."
+- fi
+- ARCH="$UNAME_MACHINE"
+- ;;
+- esac
+-fi
+-
+-if [ -d "$relpath/src/corelib/arch/$ARCH" ]; then
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " '$ARCH' is supported"
+- fi
+-else
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " '$ARCH' is unsupported, using 'generic'"
+- fi
+- ARCH=generic
+-fi
++ARCH="$CROSSARCH"
+
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ echo "System architecture: '$ARCH'"
diff --git a/recipes/qt4/files/0003-no-tools.patch b/recipes/qt4/files/0003-no-tools.patch
new file mode 100644
index 0000000000..5412c90377
--- /dev/null
+++ b/recipes/qt4/files/0003-no-tools.patch
@@ -0,0 +1,25 @@
+From 03cbda241413e4ae727b2a92ff452162aa7ad440 Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Sat, 2 Jun 2007 16:06:01 +0200
+Subject: [PATCH] no tools
+
+---
+ src/src.pro | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/src.pro b/src/src.pro
+index 6e08180..957d3dc 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -3,7 +3,7 @@ TEMPLATE = subdirs
+ # this order is important
+ unset(SRC_SUBDIRS)
+ win32:SRC_SUBDIRS += src_winmain
+-SRC_SUBDIRS += src_tools_moc src_tools_rcc src_tools_uic src_corelib src_xml src_gui src_sql src_network src_svg src_script
++SRC_SUBDIRS += src_corelib src_xml src_gui src_sql src_network src_svg src_script
+ contains(QT_CONFIG, opengl): SRC_SUBDIRS += src_opengl
+ contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
+ !cross_compile {
+--
+1.5.0.7
+
diff --git a/recipes/qt4/files/0005-fix-mkspecs.patch b/recipes/qt4/files/0005-fix-mkspecs.patch
new file mode 100644
index 0000000000..faf0ba028a
--- /dev/null
+++ b/recipes/qt4/files/0005-fix-mkspecs.patch
@@ -0,0 +1,133 @@
+From aa0377910cfd8d0fce6bdc9355994a4e267b1696 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(-)
+
+Index: qtopia-core-opensource-src-4.3.3/mkspecs/common/g++.conf
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/mkspecs/common/g++.conf 2007-12-26 02:58:15.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/mkspecs/common/g++.conf 2007-12-26 02:58:21.000000000 +0100
+@@ -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 +=
+ QMAKE_CFLAGS_DEBUG += -g
+ QMAKE_CFLAGS_SHLIB += -fPIC
+ QMAKE_CFLAGS_STATIC_LIB += -fPIC
+@@ -16,8 +16,8 @@
+ 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_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_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
+
+Index: qtopia-core-opensource-src-4.3.3/mkspecs/common/linux.conf
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/mkspecs/common/linux.conf 2007-12-26 02:58:15.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/mkspecs/common/linux.conf 2007-12-26 02:58:21.000000000 +0100
+@@ -7,26 +7,26 @@
+
+ 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_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)
+Index: qtopia-core-opensource-src-4.3.3/mkspecs/linux-g++/qmake.conf
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/mkspecs/linux-g++/qmake.conf 2007-12-26 02:58:15.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/mkspecs/linux-g++/qmake.conf 2007-12-26 03:00:49.000000000 +0100
+@@ -5,7 +5,7 @@
+ MAKEFILE_GENERATOR = UNIX
+ TEMPLATE = app
+ CONFIG += qt warn_on release incremental link_prl
+-QT += core gui
++QT += core gui $$(OE_QMAKE_EXTRA_MODULES)
+ QMAKE_INCREMENTAL_STYLE = sublib
+
+ include(../common/g++.conf)
diff --git a/recipes/qt4/files/0008-backport-qt-lib-infix.patch b/recipes/qt4/files/0008-backport-qt-lib-infix.patch
new file mode 100644
index 0000000000..c93f58ca41
--- /dev/null
+++ b/recipes/qt4/files/0008-backport-qt-lib-infix.patch
@@ -0,0 +1,166 @@
+Index: qtopia-core-opensource-src-4.3.3/configure
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/configure 2007-12-27 17:26:19.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/configure 2007-12-27 17:26:19.000000000 +0100
+@@ -782,6 +782,11 @@
+ VAR=endian
+ VAL=`echo $1 | sed "s,^-\(.*\)-.*,\1,"`
+ ;;
++ -qtlibinfix)
++ VAR="qtlibinfix"
++ shift
++ VAL="$1"
++ ;;
+ -D?*|-D)
+ VAR="add_define"
+ if [ "$1" = "-D" ]; then
+@@ -903,6 +908,9 @@
+ libdir)
+ QT_INSTALL_LIBS="$VAL"
+ ;;
++ qtlibinfix)
++ QT_LIBINFIX="$VAL"
++ ;;
+ translationdir)
+ QT_INSTALL_TRANSLATIONS="$VAL"
+ ;;
+@@ -2606,6 +2614,8 @@
+ -no-sse ............ Do not compile with use of SSE instructions.
+ -no-sse2 ........... Do not compile with use of SSE2 instructions.
+
++ -qtlibinfix <infix> Renames all libQt*.so to libQt<infix>.so.
++
+ -D <string> ........ Add an explicit define to the preprocessor.
+ -I <string> ........ Add an explicit include path.
+ -L <string> ........ Add an explicit library path.
+@@ -5273,6 +5283,8 @@
+ QT_MINOR_VERSION = $QT_MINOR_VERSION
+ QT_PATCH_VERSION = $QT_PATCH_VERSION
+
++QT_LIBINFIX = $QT_LIBINFIX
++
+ EOF
+ if [ "$CFG_RPATH" = "yes" ]; then
+ echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
+Index: qtopia-core-opensource-src-4.3.3/mkspecs/features/qt_functions.prf
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/mkspecs/features/qt_functions.prf 2007-12-04 18:07:53.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/mkspecs/features/qt_functions.prf 2007-12-27 17:26:19.000000000 +0100
+@@ -28,7 +28,7 @@
+ INCLUDEPATH -= $$FRAMEWORK_INCLUDE
+ INCLUDEPATH = $$FRAMEWORK_INCLUDE $$INCLUDEPATH
+ }
+- LINKAGE = -framework $${LIB_NAME}
++ LINKAGE = -framework $${LIB_NAME}$${QT_LIBINFIX}
+ } else:!qt_no_framework { #detection
+ for(frmwrk_dir, $$list($$QMAKE_LIBDIR_QT $$QMAKE_LIBDIR $$(DYLD_FRAMEWORK_PATH) /Library/Frameworks)) {
+ exists($${frmwrk_dir}/$${LIB_NAME}.framework) {
+@@ -46,15 +46,15 @@
+ }
+ isEmpty(LINKAGE) {
+ CONFIG(debug, debug|release) {
+- win32:LINKAGE = -l$${LIB_NAME}d
+- mac:LINKAGE = -l$${LIB_NAME}_debug
++ win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d
++ mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug
+ }
+- isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}
++ isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}
+ }
+ !isEmpty(QMAKE_LSB) {
+ QMAKE_LFLAGS *= --lsb-libpath=$$$$QMAKE_LIBDIR_QT
+ QMAKE_LFLAGS *= -L/opt/lsb/lib
+- QMAKE_LFLAGS *= --lsb-shared-libs=$${LIB_NAME}
++ QMAKE_LFLAGS *= --lsb-shared-libs=$${LIB_NAME}${QT_LIBINFIX}
+ }
+ LIBS += $$LINKAGE
+ export(LIBS)
+Index: qtopia-core-opensource-src-4.3.3/src/qbase.pri
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/src/qbase.pri 2007-12-04 18:08:13.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/src/qbase.pri 2007-12-27 17:26:19.000000000 +0100
+@@ -138,7 +138,7 @@
+ contains(QT_CONFIG, qt3support):DEFINES *= QT3_SUPPORT
+ DEFINES *= QT_MOC_COMPAT #we don't need warnings from calling moc code in our generated code
+
+-TARGET = $$qtLibraryTarget($$TARGET) #do this towards the end
++TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
+
+ moc_dir.name = moc_location
+ moc_dir.variable = QMAKE_MOC
+Index: qtopia-core-opensource-src-4.3.3/tools/assistant/lib/lib.pro
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/tools/assistant/lib/lib.pro 2007-12-04 18:08:19.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/tools/assistant/lib/lib.pro 2007-12-27 17:26:19.000000000 +0100
+@@ -52,7 +52,7 @@
+ }
+ }
+
+-TARGET = $$qtLibraryTarget($$TARGET) #done towards the end
++TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #done towards the end
+
+ target.path=$$[QT_INSTALL_LIBS]
+ INSTALLS += target
+Index: qtopia-core-opensource-src-4.3.3/tools/designer/src/components/component.pri
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/tools/designer/src/components/component.pri 2007-12-04 18:08:43.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/tools/designer/src/components/component.pri 2007-12-27 17:26:19.000000000 +0100
+@@ -1,2 +1,2 @@
+
+-TARGET = $$qtLibraryTarget($$TARGET)
++TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX)
+Index: qtopia-core-opensource-src-4.3.3/tools/qdbus/src/src.pro
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/tools/qdbus/src/src.pro 2007-12-04 18:08:18.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/tools/qdbus/src/src.pro 2007-12-27 17:26:19.000000000 +0100
+@@ -70,7 +70,7 @@
+ }
+ }
+
+-TARGET = $$qtLibraryTarget($$TARGET) #done towards the end (after framework)
++TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #done towards the end (after framework)
+
+ # Input
+
+Index: qtopia-core-opensource-src-4.3.3/tools/qtestlib/src/src.pro
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/tools/qtestlib/src/src.pro 2007-12-04 18:08:18.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/tools/qtestlib/src/src.pro 2007-12-27 17:26:19.000000000 +0100
+@@ -61,7 +61,7 @@
+ }
+ }
+
+-TARGET = $$qtLibraryTarget($$TARGET) #done towards the end (after framework)
++TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #done towards the end (after framework)
+
+ # Input
+ HEADERS = qtest_global.h qtestcase.h qtestdata.h qtesteventloop.h
+Index: qtopia-core-opensource-src-4.3.3/tools/designer/src/uitools/uitools.pro
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/tools/designer/src/uitools/uitools.pro 2007-12-04 18:08:43.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/tools/designer/src/uitools/uitools.pro 2007-12-27 17:26:19.000000000 +0100
+@@ -1,5 +1,5 @@
+ TEMPLATE = lib
+-TARGET = $$qtLibraryTarget(QtUiTools)
++TARGET = $$qtLibraryTarget(QtUiTools$$QT_LIBINFIX)
+ QT += xml
+ CONFIG += qt staticlib
+ DESTDIR = ../../../../lib
+Index: qtopia-core-opensource-src-4.3.3/mkspecs/features/uitools.prf
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/mkspecs/features/uitools.prf 2007-12-27 17:32:57.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/mkspecs/features/uitools.prf 2007-12-27 17:33:56.000000000 +0100
+@@ -2,10 +2,10 @@
+ qt:load(qt)
+
+ # Include the correct version of the UiLoader library
+-QTUITOOLS_LINKAGE = -lQtUiTools
++QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}
+ CONFIG(debug, debug|release) {
+- mac: QTUITOOLS_LINKAGE = -lQtUiTools_debug
+- win32: QTUITOOLS_LINKAGE = -lQtUiToolsd
++ mac: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}_debug
++ win32: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}d
+ }
+ LIBS += $$QTUITOOLS_LINKAGE
+
diff --git a/recipes/qt4/qt-embedded-4.4.3/0001-cross-compile.patch b/recipes/qt4/qt-embedded-4.4.3/0001-cross-compile.patch
new file mode 100644
index 0000000000..f20576b45e
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/0001-cross-compile.patch
@@ -0,0 +1,32 @@
+--- /tmp/configure 2008-08-01 20:59:48.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.1/configure 2008-08-01 21:02:05.000000000 +0200
+@@ -765,7 +765,7 @@
+ UNKNOWN_ARG=yes
+ fi
+ ;;
+- -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
++ -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch)
+ VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
+ shift
+ VAL="$1"
+@@ -1182,7 +1182,10 @@
+ xplatform)
+ XPLATFORM="$VAL"
+ ;;
+- debug-and-release)
++ crossarch)
++ CROSSARCH="$VAL"
++ ;;
++ debug-and-release)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_DEBUG_RELEASE="$VAL"
+ else
+@@ -2437,6 +2440,8 @@
+ CFG_ARCH=$CFG_HOST_ARCH
+ fi
+
++CFG_ARCH="$CROSSARCH"
++
+ if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ echo " '$CFG_ARCH' is supported"
diff --git a/recipes/qt4/qt-embedded-4.4.3/0003-no-tools.patch b/recipes/qt4/qt-embedded-4.4.3/0003-no-tools.patch
new file mode 100644
index 0000000000..bb36444f80
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/0003-no-tools.patch
@@ -0,0 +1,16 @@
+--- /tmp/src.pro 2008-07-08 10:43:30.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.0/src/src.pro 2008-07-08 11:28:24.000000000 +0200
+@@ -6,12 +6,9 @@
+ wince*:{
+ SRC_SUBDIRS += src_corelib src_xml src_gui src_sql src_network src_script src_testlib
+ } else {
+- SRC_SUBDIRS += src_tools_moc src_tools_rcc src_tools_uic src_corelib src_xml src_network src_gui src_sql src_script src_testlib
++ SRC_SUBDIRS += src_corelib src_xml src_network src_gui src_sql src_script src_testlib
+ contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
+ contains(QT_CONFIG, dbus):SRC_SUBDIRS += src_dbus
+- !cross_compile {
+- contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_tools_uic3
+- }
+ }
+ win32:!contains(QT_EDITION, OpenSource|Console): {
+ SRC_SUBDIRS += src_activeqt
diff --git a/recipes/qt4/qt-embedded-4.4.3/0004-no-qmake.patch b/recipes/qt4/qt-embedded-4.4.3/0004-no-qmake.patch
new file mode 100644
index 0000000000..28f8d3ad9d
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/0004-no-qmake.patch
@@ -0,0 +1,25 @@
+From f5a73ce944240de9013cc23288c115e8213add5e Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Sat, 2 Jun 2007 16:06:59 +0200
+Subject: [PATCH] no qmake
+
+---
+ configure | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure b/configure
+index b3c2a52..1901e57 100755
+--- a/configure
++++ b/configure
+@@ -3517,7 +3517,7 @@ END {
+ }
+
+ # build qmake
+-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
++if false; then ###[ '!' -f "$outpath/bin/qmake" ];
+ echo "Creating qmake. Please wait..."
+
+ OLD_QCONFIG_H=
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt-embedded-4.4.3/0005-fix-mkspecs.patch b/recipes/qt4/qt-embedded-4.4.3/0005-fix-mkspecs.patch
new file mode 100644
index 0000000000..c6f55906bc
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/0005-fix-mkspecs.patch
@@ -0,0 +1,101 @@
+--- /tmp/g++.conf 2008-07-08 10:32:18.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.0/mkspecs/common/g++.conf 2008-07-08 10:34:15.000000000 +0200
+@@ -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 +=
+ QMAKE_CFLAGS_DEBUG += -g
+ QMAKE_CFLAGS_SHLIB += -fPIC
+ QMAKE_CFLAGS_STATIC_LIB += -fPIC
+@@ -16,8 +16,8 @@
+ 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_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 +=
+@@ -41,7 +41,7 @@
+ QMAKE_LFLAGS_SONAME += -Wl,-soname,
+ QMAKE_LFLAGS_THREAD +=
+ QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
+-QMAKE_RPATH = -Wl,-rpath,
++QMAKE_RPATH = -Wl,-rpath-link,
+
+ QMAKE_PCH_OUTPUT_EXT = .gch
+
+--- /tmp/linux.conf 2008-07-08 10:32:18.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.0/mkspecs/common/linux.conf 2008-07-08 10:38:37.000000000 +0200
+@@ -7,26 +7,27 @@
+
+ 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_OBJCOPY = objcopy
+ QMAKE_RANLIB =
+
+@@ -39,7 +40,7 @@
+ 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
diff --git a/recipes/qt4/qt-embedded-4.4.3/0006-freetype-host-includes.patch b/recipes/qt4/qt-embedded-4.4.3/0006-freetype-host-includes.patch
new file mode 100644
index 0000000000..cc8e115fee
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/0006-freetype-host-includes.patch
@@ -0,0 +1,23 @@
+From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Mon, 4 Jun 2007 14:48:50 +0200
+Subject: [PATCH] freetype host includes
+
+---
+ config.tests/unix/freetype/freetype.pri | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/config.tests/unix/freetype/freetype.pri b/config.tests/unix/freetype/freetype.pri
+index 84974bf..ab9a6f2 100644
+--- a/config.tests/unix/freetype/freetype.pri
++++ b/config.tests/unix/freetype/freetype.pri
+@@ -1,5 +1,5 @@
+ !cross_compile {
+- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
++ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
+ for(p, TRY_INCLUDEPATHS) {
+ p = $$join(p, "", "", "/freetype2")
+ exists($$p):INCLUDEPATH *= $$p
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt-embedded-4.4.3/0007-openssl-host-includes.patch b/recipes/qt4/qt-embedded-4.4.3/0007-openssl-host-includes.patch
new file mode 100644
index 0000000000..35b71d9694
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/0007-openssl-host-includes.patch
@@ -0,0 +1,23 @@
+From d45943adb443ad4b85ca4504952dee743c675e1e Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Mon, 4 Jun 2007 14:58:34 +0200
+Subject: [PATCH] openssl host includes
+
+---
+ config.tests/unix/openssl/openssl.pri | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/config.tests/unix/openssl/openssl.pri b/config.tests/unix/openssl/openssl.pri
+index 756e5fe..19b4061 100644
+--- a/config.tests/unix/openssl/openssl.pri
++++ b/config.tests/unix/openssl/openssl.pri
+@@ -1,5 +1,5 @@
+ !cross_compile {
+- TRY_INCLUDEPATHS = /include /usr/include /usr/local/include $$QMAKE_INCDIR $$INCLUDEPATH
++ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$INCLUDEPATH
+ for(p, TRY_INCLUDEPATHS) {
+ pp = $$join(p, "", "", "/openssl")
+ exists($$pp):INCLUDEPATH *= $$p
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt-embedded-4.4.3/build-tools.patch b/recipes/qt4/qt-embedded-4.4.3/build-tools.patch
new file mode 100644
index 0000000000..54ad666374
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/build-tools.patch
@@ -0,0 +1,28 @@
+Do not disable tools, examples and demos for the QWS build. Use brute-force
+to do this.
+
+Index: qtopia-core-opensource-src-4.3.3/configure
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/configure 2007-12-27 16:30:36.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/configure 2007-12-27 16:30:52.000000000 +0100
+@@ -2265,13 +2265,13 @@
+ CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
+
+ # don't build tools by default when cross-compiling
+- if [ "$PLATFORM" != "$XPLATFORM" ]; then
+- CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
+- fi
+-fi
+-for nobuild in $CFG_NOBUILD_PARTS; do
+- CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
+-done
++ #if [ "$PLATFORM" != "$XPLATFORM" ]; then
++ # CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
++ #fi
++fi
++#for nobuild in $CFG_NOBUILD_PARTS; do
++# CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
++#done
+ if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
+ # echo
+ # echo "WARNING: libs is a required part of the build."
diff --git a/recipes/qt4/qt-embedded-4.4.3/linux-oe-qmake.conf b/recipes/qt4/qt-embedded-4.4.3/linux-oe-qmake.conf
new file mode 100644
index 0000000000..fc5ac6dc5c
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/linux-oe-qmake.conf
@@ -0,0 +1,95 @@
+#
+# qmake configuration for linux-oe-g++ / OpenEmbedded Build System / http://openembedded.org
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CC = $(OE_QMAKE_CC)
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_YACCFLAGS_MANGLE = -p $base -b $base
+QMAKE_YACC_HEADER = $base.tab.h
+QMAKE_YACC_SOURCE = $base.tab.c
+QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS) $(CFLAGS_EXTRA)
+QMAKE_CFLAGS_DEPS = -M
+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_CFLAGS_HIDESYMS = -fvisibility=hidden
+
+QMAKE_CXX = $(OE_QMAKE_CXX)
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) $(CXXFLAGS_EXTRA)
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+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_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+
+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_INCDIR_QTOPIA = $(OE_QMAKE_INCDIR_QTOPIA)
+QMAKE_LIBDIR_QTOPIA = $(OE_QMAKE_LIBDIR_QTOPIA)
+
+
+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 =
+QMAKE_LIBS_X11SM =
+QMAKE_LIBS_QT = -lqte
+QMAKE_LIBS_QT_THREAD = -lqte-mt
+QMAKE_LIBS_QT_OPENGL = -lqgl
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_QTOPIA = -lqpe -lqtopia
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = $(OE_QMAKE_AR) cqs
+QMAKE_RANLIB = $(OE_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
+load(qt_config)
diff --git a/recipes/qt4/qt-embedded-4.4.3/qconfig-oe.h b/recipes/qt4/qt-embedded-4.4.3/qconfig-oe.h
new file mode 100644
index 0000000000..f820c01da8
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/qconfig-oe.h
@@ -0,0 +1,45 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file. Please review the following information to ensure GNU
+** General Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/
+**
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** In addition, as a special exception, Trolltech gives you certain
+** additional rights. These rights are described in the Trolltech GPL
+** Exception version 1.0, which can be found at
+** http://www.trolltech.com/products/qt/gplexception/ and in the file
+** GPL_EXCEPTION.txt in this package.
+**
+** In addition, as a special exception, Trolltech, as the sole copyright
+** holder for Qt Designer, grants users of the Qt/Eclipse Integration
+** plug-in the right for the Qt/Eclipse Integration to link to
+** functionality provided by Qt Designer and its related libraries.
+**
+** Trolltech reserves all rights not expressly granted herein.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+
+/*
+ Empty leaves all features enabled. See doc/html/emb-features.html for choices.
+
+ Note that disabling some features will produce a libqt that is not
+ compatible with other libqt builds. Such modifications are only
+ supported on Qtopia Core where reducing the library size is important
+ and where the application-suite is often a fixed set.
+*/
diff --git a/recipes/qt4/qt-embedded-4.4.3/qt-lib-infix.patch b/recipes/qt4/qt-embedded-4.4.3/qt-lib-infix.patch
new file mode 100644
index 0000000000..b1a443f24c
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/qt-lib-infix.patch
@@ -0,0 +1,45 @@
+diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/mkspecs/features/uitools.prf qt-embedded-linux-opensource-src-4.4.3/mkspecs/features/uitools.prf
+--- qt-embedded-linux-opensource-src-4.4.3.orig/mkspecs/features/uitools.prf 2008-09-27 11:01:24.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.3/mkspecs/features/uitools.prf 2008-12-11 20:47:10.000000000 +0100
+@@ -2,10 +2,10 @@
+ qt:load(qt)
+
+ # Include the correct version of the UiLoader library
+-QTUITOOLS_LINKAGE = -lQtUiTools
++QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}
+ CONFIG(debug, debug|release) {
+- mac: QTUITOOLS_LINKAGE = -lQtUiTools_debug
+- win32: QTUITOOLS_LINKAGE = -lQtUiToolsd
++ mac: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}_debug
++ win32: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}d
+ }
+ LIBS += $$QTUITOOLS_LINKAGE
+
+diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/tools/designer/src/lib/lib.pro qt-embedded-linux-opensource-src-4.4.3/tools/designer/src/lib/lib.pro
+--- qt-embedded-linux-opensource-src-4.4.3.orig/tools/designer/src/lib/lib.pro 2008-09-27 11:01:29.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.3/tools/designer/src/lib/lib.pro 2008-12-11 20:36:40.000000000 +0100
+@@ -58,8 +58,8 @@
+ include(shared/shared.pri)
+ PRECOMPILED_HEADER=lib_pch.h
+
+-include(../components/component.pri)
+ include(../sharedcomponents.pri)
++include(../components/component.pri)
+
+ target.path=$$[QT_INSTALL_LIBS]
+ INSTALLS += target
+diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/tools/designer/src/uitools/uitools.pro qt-embedded-linux-opensource-src-4.4.3/tools/designer/src/uitools/uitools.pro
+--- qt-embedded-linux-opensource-src-4.4.3.orig/tools/designer/src/uitools/uitools.pro 2008-09-27 11:01:30.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.3/tools/designer/src/uitools/uitools.pro 2008-12-11 19:56:34.000000000 +0100
+@@ -1,5 +1,5 @@
+ TEMPLATE = lib
+-TARGET = $$qtLibraryTarget(QtUiTools)
++TARGET = QtUiTools
+ QT += xml
+ CONFIG += qt staticlib
+ DESTDIR = ../../../../lib
+@@ -38,3 +38,4 @@
+ QMAKE_PKGCONFIG_DESTDIR = pkgconfig
+ }
+
++TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
diff --git a/recipes/qt4/qt-embedded-4.4.3/support-2bpp.patch b/recipes/qt4/qt-embedded-4.4.3/support-2bpp.patch
new file mode 100644
index 0000000000..82506bcbec
--- /dev/null
+++ b/recipes/qt4/qt-embedded-4.4.3/support-2bpp.patch
@@ -0,0 +1,295 @@
+diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/configure qt-embedded-linux-opensource-src-4.4.3/configure
+--- qt-embedded-linux-opensource-src-4.4.3.orig/configure 2008-09-27 11:01:23.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.3/configure 2009-01-14 14:30:53.000000000 +0100
+@@ -5045,6 +5045,7 @@
+ echo "Choose pixel-depths to support:"
+ echo
+ echo " 1. 1bpp, black/white"
++ echo " 2. 2bpp, grayscale"
+ echo " 4. 4bpp, grayscale"
+ echo " 8. 8bpp, paletted"
+ echo " 12. 12bpp, rgb 4-4-4"
+@@ -5063,11 +5064,11 @@
+ fi
+ if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
+ if [ "$CFG_QWS_DEPTHS" = "all" ]; then
+- CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
++ CFG_QWS_DEPTHS="1 2 4 8 12 15 16 18 24 32 generic"
+ fi
+ for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
+ case $D in
+- 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
++ 1|2|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
+ generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
+ esac
+ done
+diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreenlinuxfb_qws.cpp qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreenlinuxfb_qws.cpp
+--- qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreenlinuxfb_qws.cpp 2008-09-27 11:01:28.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreenlinuxfb_qws.cpp 2009-01-14 17:22:34.000000000 +0100
+@@ -404,8 +404,8 @@
+ setupOffScreen();
+
+ // Now read in palette
+- if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4)) {
+- screencols= (vinfo.bits_per_pixel==8) ? 256 : 16;
++ if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4) || (vinfo.bits_per_pixel==2)) {
++ screencols= 1 << vinfo.bits_per_pixel;
+ int loopc;
+ fb_cmap startcmap;
+ startcmap.start=0;
+diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreen_qws.cpp qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreen_qws.cpp
+--- qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreen_qws.cpp 2008-09-27 11:01:28.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreen_qws.cpp 2009-01-14 17:22:44.000000000 +0100
+@@ -444,6 +444,58 @@
+ }
+ #endif // QT_QWS_DEPTH_4
+
++#ifdef QT_QWS_DEPTH_2
++static inline void qt_rectfill_gray2(quint8 *dest, quint8 value,
++ int x, int y, int width, int height,
++ int stride)
++{
++ const int pixelsPerByte = 4;
++ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
++ const int doAlign = (alignWidth > 0 ? 1 : 0);
++ const int alignStart = pixelsPerByte - 1 - (x & 3);
++ const int alignStop = alignStart - (alignWidth - 1);
++ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
++ const int tailWidth = (width - alignWidth) & 3;
++ const int doTail = (tailWidth > 0 ? 1 : 0);
++ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
++ const int width8 = (width - alignWidth) / pixelsPerByte;
++
++ dest += y * stride + x / pixelsPerByte;
++ stride -= (doAlign + width8);
++
++ for (int j = 0; j < height; ++j) {
++ if (doAlign) {
++ *dest = (*dest & ~alignMask) | (value & alignMask);
++ ++dest;
++ }
++ if (width8) {
++ qt_memfill<quint8>(dest, value, width8);
++ dest += width8;
++ }
++ if (doTail)
++ *dest = (*dest & tailMask) | (value & ~tailMask);
++ dest += stride;
++ }
++}
++
++static void solidFill_gray2(QScreen *screen, const QColor &color,
++ const QRegion &region)
++{
++ quint8 *dest = reinterpret_cast<quint8*>(screen->base());
++ const quint8 c = qGray(color.rgba()) >> 6;
++ const quint8 c8 = (c << 6) | (c << 4) | (c << 2) | c;
++
++ const int stride = screen->linestep();
++ const QVector<QRect> rects = region.rects();
++
++ for (int i = 0; i < rects.size(); ++i) {
++ const QRect r = rects.at(i);
++ qt_rectfill_gray2(dest, c8, r.x(), r.y(), r.width(), r.height(),
++ stride);
++ }
++}
++#endif // QT_QWS_DEPTH_2
++
+ #ifdef QT_QWS_DEPTH_1
+ static inline void qt_rectfill_mono(quint8 *dest, quint8 value,
+ int x, int y, int width, int height,
+@@ -551,6 +603,11 @@
+ screen->d_ptr->solidFill = solidFill_gray4;
+ break;
+ #endif
++#ifdef QT_QWS_DEPTH_2
++ case 2:
++ screen->d_ptr->solidFill = solidFill_gray2;
++ break;
++#endif
+ #ifdef QT_QWS_DEPTH_1
+ case 1:
+ screen->d_ptr->solidFill = solidFill_mono;
+@@ -958,6 +1015,149 @@
+ }
+ #endif // QT_QWS_DEPTH_4
+
++#ifdef QT_QWS_DEPTH_2
++
++struct qgray2 { quint8 dummy; } Q_PACKED;
++
++template <typename SRC>
++static inline quint8 qt_convertToGray2(SRC color);
++
++template <>
++inline quint8 qt_convertToGray2(quint32 color)
++{
++ return qGray(color) >> 6;
++}
++
++template <>
++inline quint8 qt_convertToGray2(quint16 color)
++{
++ const int r = (color & 0xf800) >> 11;
++ const int g = (color & 0x07e0) >> 6; // only keep 5 bit
++ const int b = (color & 0x001f);
++ return (r * 11 + g * 16 + b * 5) >> 8;
++}
++
++template <>
++inline quint8 qt_convertToGray2(qrgb444 color)
++{
++ return qt_convertToGray2(quint32(color));
++}
++
++template <>
++inline quint8 qt_convertToGray2(qargb4444 color)
++{
++ return qt_convertToGray2(quint32(color));
++}
++
++template <typename SRC>
++static inline void qt_rectconvert_gray2(qgray2 *dest2, const SRC *src,
++ int x, int y, int width, int height,
++ int dstStride, int srcStride)
++{
++ const int pixelsPerByte = 4;
++ quint8 *dest8 = reinterpret_cast<quint8*>(dest2)
++ + y * dstStride + x / pixelsPerByte;
++ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
++ const int doAlign = (alignWidth > 0 ? 1 : 0);
++ const int alignStart = pixelsPerByte - 1 - (x & 3);
++ const int alignStop = alignStart - (alignWidth - 1);
++ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
++ const int tailWidth = (width - alignWidth) & 3;
++ const int doTail = (tailWidth > 0 ? 1 : 0);
++ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
++ const int width8 = (width - alignWidth) / pixelsPerByte;
++
++ srcStride = srcStride / sizeof(SRC) - (width8 * pixelsPerByte + alignWidth);
++ dstStride -= (width8 + doAlign);
++
++ for (int j = 0; j < height; ++j) {
++ if (doAlign) {
++ quint8 d = *dest8 & ~alignMask;
++ for (int i = alignStart; i >= alignStop; --i)
++ d |= qt_convertToGray2<SRC>(*src++) << (2 * i);
++ *dest8++ = d;
++ }
++ for (int i = 0; i < width8; ++i) {
++ *dest8 = (qt_convertToGray2<SRC>(src[0]) << 6)
++ | (qt_convertToGray2<SRC>(src[1]) << 4)
++ | (qt_convertToGray2<SRC>(src[2]) << 2)
++ | (qt_convertToGray2<SRC>(src[3]));
++ src += 4;
++ ++dest8;
++ }
++ if (doTail) {
++ quint8 d = *dest8 & tailMask;
++ switch (tailWidth) {
++ case 3: d |= qt_convertToGray2<SRC>(src[2]) << 2;
++ case 2: d |= qt_convertToGray2<SRC>(src[1]) << 4;
++ case 1: d |= qt_convertToGray2<SRC>(src[0]) << 6;
++ }
++ *dest8 = d;
++ }
++
++ dest8 += dstStride;
++ src += srcStride;
++ }
++}
++
++template <>
++void qt_rectconvert(qgray2 *dest, const quint32 *src,
++ int x, int y, int width, int height,
++ int dstStride, int srcStride)
++{
++ qt_rectconvert_gray2<quint32>(dest, src, x, y, width, height,
++ dstStride, srcStride);
++}
++
++template <>
++void qt_rectconvert(qgray2 *dest, const quint16 *src,
++ int x, int y, int width, int height,
++ int dstStride, int srcStride)
++{
++ qt_rectconvert_gray2<quint16>(dest, src, x, y, width, height,
++ dstStride, srcStride);
++}
++
++template <>
++void qt_rectconvert(qgray2 *dest, const qrgb444 *src,
++ int x, int y, int width, int height,
++ int dstStride, int srcStride)
++{
++ qt_rectconvert_gray2<qrgb444>(dest, src, x, y, width, height,
++ dstStride, srcStride);
++}
++
++template <>
++void qt_rectconvert(qgray2 *dest, const qargb4444 *src,
++ int x, int y, int width, int height,
++ int dstStride, int srcStride)
++{
++ qt_rectconvert_gray2<qargb4444>(dest, src, x, y, width, height,
++ dstStride, srcStride);
++}
++
++static void blit_2(QScreen *screen, const QImage &image,
++ const QPoint &topLeft, const QRegion &region)
++{
++ switch (image.format()) {
++ case QImage::Format_ARGB32_Premultiplied:
++ blit_template<qgray2, quint32>(screen, image, topLeft, region);
++ return;
++ case QImage::Format_RGB16:
++ blit_template<qgray2, quint16>(screen, image, topLeft, region);
++ return;
++ case QImage::Format_RGB444:
++ blit_template<qgray2, qrgb444>(screen, image, topLeft, region);
++ return;
++ case QImage::Format_ARGB4444_Premultiplied:
++ blit_template<qgray2, qargb4444>(screen, image, topLeft, region);
++ return;
++ default:
++ qCritical("blit_2(): Image format %d not supported!", image.format());
++ }
++}
++#endif // QT_QWS_DEPTH_2
++
+ #ifdef QT_QWS_DEPTH_1
+
+ struct qmono { quint8 dummy; } Q_PACKED;
+@@ -1206,6 +1406,11 @@
+ screen->d_ptr->blit = blit_4;
+ break;
+ #endif
++#ifdef QT_QWS_DEPTH_2
++ case 2:
++ screen->d_ptr->blit = blit_2;
++ break;
++#endif
+ #ifdef QT_QWS_DEPTH_1
+ case 1:
+ screen->d_ptr->blit = blit_1;
+@@ -2056,6 +2261,8 @@
+ }
+ } else if (d == 4) {
+ ret = qGray(r, g, b) >> 4;
++ } else if (d == 2) {
++ ret = qGray(r, g, b) >> 6;
+ } else if (d == 1) {
+ ret = qGray(r, g, b) >= 128;
+ } else {
+@@ -2126,6 +2333,10 @@
+ } else if(d==1) {
+ return true;
+ #endif
++#ifdef QT_QWS_DEPTH_2
++ } else if(d==2) {
++ return true;
++#endif
+ #ifdef QT_QWS_DEPTH_4
+ } else if(d==4) {
+ return true;
diff --git a/recipes/qt4/qt-embedded.inc b/recipes/qt4/qt-embedded.inc
new file mode 100644
index 0000000000..7de7a80a47
--- /dev/null
+++ b/recipes/qt4/qt-embedded.inc
@@ -0,0 +1,46 @@
+SUMMARY = "Qt is a versatile cross-platform application framework -- this is the embedded version."
+SECTION = "libs"
+LICENSE = "GPL"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.trolltech.com"
+DEPENDS += "tslib"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
+ file://qconfig-oe.h \
+ file://0001-cross-compile.patch;patch=1 \
+ file://0003-no-tools.patch;patch=1 \
+ file://0004-no-qmake.patch;patch=1 \
+ file://0005-fix-mkspecs.patch;patch=1 \
+ file://0006-freetype-host-includes.patch;patch=1 \
+ file://0007-openssl-host-includes.patch;patch=1 \
+ file://qt-lib-infix.patch;patch=1 \
+ file://build-tools.patch;patch=1 \
+ file://support-2bpp.patch;patch=1 \
+ "
+S = "${WORKDIR}/qt-embedded-linux-opensource-src-${PV}"
+
+QT_CONFIG_FLAGS += " \
+ -nomake demos -nomake examples -nomake tools -qtlibinfix E\
+ -embedded ${QT_ARCH} \
+ -qt-decoration-styled -plugin-decoration-default -plugin-decoration-windows \
+ -plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc\
+ -plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb\
+ -qt-kbd-tty -qt-kbd-usb -qt-kbd-qvfb\
+ -webkit \
+ -DQT_KEYPAD_NAVIGATION \
+ "
+
+do_configure_prepend() {
+ cp ${WORKDIR}/qconfig-oe.h ${S}/src/corelib/global
+}
+
+QT_BASE_NAME = "qt-embedded"
+QT_BASE_LIB = "libqt-embedded"
+QT_DIR_NAME = "qtopia"
+QT_LIBINFIX="E"
+require qt_depends.inc
+require qt_configuration.inc
+require qt_packaging.inc
+require qt_staging.inc
+
+inherit qt4e
diff --git a/recipes/qt4/qt-embedded_4.4.3.bb b/recipes/qt4/qt-embedded_4.4.3.bb
new file mode 100644
index 0000000000..22715cc382
--- /dev/null
+++ b/recipes/qt4/qt-embedded_4.4.3.bb
@@ -0,0 +1,2 @@
+require qt-embedded.inc
+PR = "r6"
diff --git a/recipes/qt4/qt4-x11-free-4.1.2/configurable-cpu-extensions.patch b/recipes/qt4/qt4-x11-free-4.1.2/configurable-cpu-extensions.patch
new file mode 100644
index 0000000000..ab943db1ff
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.1.2/configurable-cpu-extensions.patch
@@ -0,0 +1,34 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-x11-opensource-src-4.1.1/configure~configurable-cpu-extensions
++++ qt-x11-opensource-src-4.1.1/configure
+@@ -564,6 +564,12 @@
+ VAL=$1
+ fi
+ ;;
++ -nosse)
++ CFG_SSE="no"
++ ;;
++ -sse)
++ CFG_SSE="yes"
++ ;;
+ -iwmmxt)
+ CFG_IWMMXT="yes"
+ ;;
+@@ -1759,13 +1765,6 @@
+ fi
+ fi
+
+-# detect sse support
+-if $unixtests/sse.test $XQMAKESPEC $OPT_VERBOSE; then
+- CFG_HAVE_SSE=no
+-else
+- CFG_HAVE_SSE=yes
+-fi
+-
+ # check iwmmxt support
+ if [ "$CFG_IWMMXT" = "yes" ]; then
+ if ! $unixtests/iwmmxt.test $XQMAKESPEC $OPT_VERBOSE; then
diff --git a/recipes/qt4/qt4-x11-free-4.1.2/cross-compile.patch b/recipes/qt4/qt4-x11-free-4.1.2/cross-compile.patch
new file mode 100644
index 0000000000..7c8665c9c1
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.1.2/cross-compile.patch
@@ -0,0 +1,159 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-x11-opensource-src-4.1.1/configure~cross-compile
++++ qt-x11-opensource-src-4.1.1/configure
+@@ -534,7 +534,7 @@
+ UNKNOWN_ARG=yes
+ fi
+ ;;
+- -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk)
++ -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-crossarch)
+ VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
+ shift
+ VAL=$1
+@@ -845,6 +845,9 @@
+ xplatform)
+ XPLATFORM="$VAL"
+ ;;
++ crossarch)
++ CROSSARCH="$VAL"
++ ;;
+ debug-and-release)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_DEBUG_RELEASE="$VAL"
+@@ -1698,131 +1701,7 @@
+ echo "Determining system architecture... ($UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE)"
+ fi
+
+-if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
+- case "$CFG_EMBEDDED" in
+- x86)
+- ARCH=i386
+- ;;
+- x86_64)
+- ARCH=x86_64
+- ;;
+- ipaq|sharp)
+- ARCH=arm
+- ;;
+- *)
+- ARCH="$CFG_EMBEDDED"
+- ;;
+- esac
+-else
+- case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
+- IRIX*:*:*)
+- ARCH=`uname -p`
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " SGI ($ARCH)"
+- fi
+- ;;
+- SunOS:5*:*)
+- case "$UNAME_MACHINE" in
+- sun4u)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " Sun SPARC (sparc)"
+- fi
+- ARCH=sparc
+- ;;
+- i86pc)
+- case "$PLATFORM" in
+- *-64)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 64-bit AMD 80x86 (x86_64)"
+- fi
+- ARCH=x86_64
+- ;;
+- *)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit Intel 80x86 (i386)"
+- fi
+- ARCH=i386
+- ;;
+- esac
+- esac
+- ;;
+- Darwin:*:*)
+- case "$UNAME_MACHINE" in
+- Power?Macintosh)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit Apple PowerPC (powerpc)"
+- fi
+- ;;
+- x86)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit Intel 80x86 (i386)"
+- fi
+- ;;
+- esac
+- ARCH=macosx
+- ;;
+- AIX:*:00????????00)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 64-bit IBM PowerPC (powerpc)"
+- fi
+- ARCH=powerpc
+- ;;
+- HP-UX:*:9000*)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " HP PA-RISC (parisc)"
+- fi
+- ARCH=parisc
+- ;;
+- *:*:i?86)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit Intel 80x86 (i386)"
+- fi
+- ARCH=i386
+- ;;
+- *:*:x86_64|*:*:amd64)
+- if [ "$PLATFORM" = "linux-g++-32" ]; then
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32 bit on 64-bit AMD 80x86 (i386)"
+- fi
+- ARCH=i386
+- else
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 64-bit AMD 80x86 (x86_64)"
+- fi
+- ARCH=x86_64
+- fi
+- ;;
+- *:*:ppc)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " 32-bit PowerPC (powerpc)"
+- fi
+- ARCH=powerpc
+- ;;
+- *:*:s390*)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " IBM S/390 (s390)"
+- fi
+- ARCH=s390
+- ;;
+- *:*:*)
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " Trying '$UNAME_MACHINE'..."
+- fi
+- ARCH="$UNAME_MACHINE"
+- ;;
+- esac
+-fi
+-
+-if [ -d "$relpath/src/corelib/arch/$ARCH" ]; then
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " '$ARCH' is supported"
+- fi
+-else
+- if [ "$OPT_VERBOSE" = "yes" ]; then
+- echo " '$ARCH' is unsupported, using 'generic'"
+- fi
+- ARCH=generic
+-fi
++ARCH="$CROSSARCH"
+
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ echo "System architecture: '$ARCH'"
diff --git a/recipes/qt4/qt4-x11-free-4.1.2/fix-asm-constraints.patch b/recipes/qt4/qt4-x11-free-4.1.2/fix-asm-constraints.patch
new file mode 100644
index 0000000000..93fc52d055
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.1.2/fix-asm-constraints.patch
@@ -0,0 +1,16 @@
+
+#
+# Signed off by Michael 'Mickey' Lauer <mickey@Vanille.de>
+#
+
+--- qt-x11-opensource-src-4.1.2/src/corelib/arch/arm/arch/qatomic.h~fix-asm-constraints
++++ qt-x11-opensource-src-4.1.2/src/corelib/arch/arm/arch/qatomic.h
+@@ -32,7 +32,7 @@
+ {
+ register int ret;
+ asm volatile("swpb %0,%1,[%2]"
+- : "=r"(ret)
++ : "&=r"(ret)
+ : "r"(newval), "r"(ptr)
+ : "cc", "memory");
+ return ret;
diff --git a/recipes/qt4/qt4-x11-free-4.1.2/fix-mkspecs.patch b/recipes/qt4/qt4-x11-free-4.1.2/fix-mkspecs.patch
new file mode 100644
index 0000000000..e927df9c7d
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.1.2/fix-mkspecs.patch
@@ -0,0 +1,102 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-x11-opensource-src-4.1.1/mkspecs/linux-g++/qmake.conf~fix-qmakespec
++++ qt-x11-opensource-src-4.1.1/mkspecs/linux-g++/qmake.conf
+@@ -8,7 +8,7 @@
+ QT += core gui
+ QMAKE_INCREMENTAL_STYLE = sublib
+
+-QMAKE_CC = gcc
++QMAKE_CC = $(OE_QMAKE_CC)
+ QMAKE_LEX = flex
+ QMAKE_LEXFLAGS =
+ QMAKE_YACC = yacc
+@@ -16,19 +16,19 @@
+ QMAKE_YACCFLAGS_MANGLE = -p $base -b $base
+ QMAKE_YACC_HEADER = $base.tab.h
+ QMAKE_YACC_SOURCE = $base.tab.c
+-QMAKE_CFLAGS = -pipe
++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_YACC = -Wno-unused -Wno-parentheses
+ QMAKE_CFLAGS_THREAD = -D_REENTRANT
+ QMAKE_CFLAGS_HIDESYMS = -fvisibility=hidden
+
+-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
+@@ -41,37 +41,37 @@
+
+ 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_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_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_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
+@@ -83,7 +83,7 @@
+ 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
diff --git a/recipes/qt4/qt4-x11-free-4.1.2/fix-resinit-declaration.patch b/recipes/qt4/qt4-x11-free-4.1.2/fix-resinit-declaration.patch
new file mode 100644
index 0000000000..fcd5de6f97
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.1.2/fix-resinit-declaration.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-x11-opensource-src-4.1.1/src/qt3support/network/q3dns.cpp~fix-resinit-declaration
++++ qt-x11-opensource-src-4.1.1/src/qt3support/network/q3dns.cpp
+@@ -30,7 +30,7 @@
+ # include <netinet/in.h>
+ # include <arpa/nameser.h>
+ # include <resolv.h>
+-extern "C" int res_init();
++extern "C" int res_init() throw();
+ #endif
+
+ // POSIX Large File Support redefines open -> open64
diff --git a/recipes/qt4/qt4-x11-free-4.1.2/gcc4_1.patch b/recipes/qt4/qt4-x11-free-4.1.2/gcc4_1.patch
new file mode 100644
index 0000000000..392aaf4f5f
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.1.2/gcc4_1.patch
@@ -0,0 +1,50 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-x11-opensource-src-4.1.1/src/corelib/tools/qchar.h~gcc4_1.patch
++++ qt-x11-opensource-src-4.1.1/src/corelib/tools/qchar.h
+@@ -219,7 +219,7 @@
+ inline const char toLatin1() const;
+ inline const ushort unicode() const { return ucs; }
+ #ifdef Q_NO_PACKED_REFERENCE
+- inline ushort &unicode() { return *(&ucs); }
++ inline ushort &unicode() { return *((ushort*)&ucs); }
+ #else
+ inline ushort &unicode() { return ucs; }
+ #endif
+--- qt-x11-opensource-src-4.1.1/src/gui/kernel/qapplication_x11.cpp~gcc4_1.patch
++++ qt-x11-opensource-src-4.1.1/src/gui/kernel/qapplication_x11.cpp
+@@ -1193,6 +1193,18 @@
+ }
+ }
+
++static void getXDefault(const char *group, const char *key, float *val)
++{
++ char *str = XGetDefault(X11->display, group, key);
++ if (str) {
++ char *end = 0;
++ float v = strtod(str, &end);
++ if (str != end)
++ *val = v;
++ }
++}
++
++
+ static void getXDefault(const char *group, const char *key, bool *val)
+ {
+ char *str = XGetDefault(X11->display, group, key);
+--- qt-x11-opensource-src-4.1.1/src/corelib/global/qglobal.h~gcc4_1.patch
++++ qt-x11-opensource-src-4.1.1/src/corelib/global/qglobal.h
+@@ -720,8 +720,8 @@
+
+ #if defined(QT_COORD_TYPE)
+ typedef QT_COORD_TYPE qreal;
+-#elif defined(__arm__)
+-typedef float qreal;
++//#elif defined(__arm__)
++//typedef float qreal;
+ #else
+ typedef double qreal;
+ #endif
diff --git a/recipes/qt4/qt4-x11-free-4.1.2/no-qmake.patch b/recipes/qt4/qt4-x11-free-4.1.2/no-qmake.patch
new file mode 100644
index 0000000000..324f44303a
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.1.2/no-qmake.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-x11-opensource-src-4.1.1/configure~no-qmake
++++ qt-x11-opensource-src-4.1.1/configure
+@@ -2548,7 +2548,7 @@
+ fi
+
+ # build qmake
+-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
++if false; then ###[ '!' -f "$outpath/bin/qmake" ];
+ echo "Creating qmake. Please wait..."
+
+ OLD_QCONFIG_H=
diff --git a/recipes/qt4/qt4-x11-free-4.1.2/no-tools.patch b/recipes/qt4/qt4-x11-free-4.1.2/no-tools.patch
new file mode 100644
index 0000000000..2bda49c9c5
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.1.2/no-tools.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-x11-opensource-src-4.1.1/src/src.pro~no-tools
++++ qt-x11-opensource-src-4.1.1/src/src.pro
+@@ -3,7 +3,7 @@
+
+ # this order is important
+ win32:SUBDIRS += winmain
+-SUBDIRS += tools/moc tools/rcc tools/uic corelib xml gui sql network svg
++SUBDIRS += corelib xml gui sql network svg
+ !embedded:contains(QT_CONFIG, opengl): SUBDIRS += opengl
+ contains(QT_CONFIG, qt3support): SUBDIRS += qt3support
+ !cross_compile {
diff --git a/recipes/qt4/qt4-x11-free-4.3.3/0002-fix-resinit-declaration.patch b/recipes/qt4/qt4-x11-free-4.3.3/0002-fix-resinit-declaration.patch
new file mode 100644
index 0000000000..e479a64a2b
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.3.3/0002-fix-resinit-declaration.patch
@@ -0,0 +1,25 @@
+From acfeb18aa94bad6b2066e91cd15570889baaa252 Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Sat, 2 Jun 2007 16:04:01 +0200
+Subject: [PATCH] fix resinit declaration
+
+---
+ src/qt3support/network/q3dns.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/qt3support/network/q3dns.cpp b/src/qt3support/network/q3dns.cpp
+index 9bc7b16..bfc333e 100644
+--- a/src/qt3support/network/q3dns.cpp
++++ b/src/qt3support/network/q3dns.cpp
+@@ -30,7 +30,7 @@
+ # include <netinet/in.h>
+ # include <arpa/nameser.h>
+ # include <resolv.h>
+-extern "C" int res_init();
++extern "C" int res_init() throw();
+ #endif
+
+ // POSIX Large File Support redefines open -> open64
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt4-x11-free-4.3.3/0004-no-qmake.patch b/recipes/qt4/qt4-x11-free-4.3.3/0004-no-qmake.patch
new file mode 100644
index 0000000000..359f6df9d5
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.3.3/0004-no-qmake.patch
@@ -0,0 +1,25 @@
+From f5a73ce944240de9013cc23288c115e8213add5e Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Sat, 2 Jun 2007 16:06:59 +0200
+Subject: [PATCH] no qmake
+
+---
+ configure | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure b/configure
+index b3c2a52..1901e57 100755
+--- a/configure
++++ b/configure
+@@ -3271,7 +3271,7 @@ END {
+ }
+
+ # build qmake
+-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
++if false; then ###[ '!' -f "$outpath/bin/qmake" ];
+ echo "Creating qmake. Please wait..."
+
+ OLD_QCONFIG_H=
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt4-x11-free-4.3.3/0006-freetype-host-includes.patch b/recipes/qt4/qt4-x11-free-4.3.3/0006-freetype-host-includes.patch
new file mode 100644
index 0000000000..cc8e115fee
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.3.3/0006-freetype-host-includes.patch
@@ -0,0 +1,23 @@
+From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Mon, 4 Jun 2007 14:48:50 +0200
+Subject: [PATCH] freetype host includes
+
+---
+ config.tests/unix/freetype/freetype.pri | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/config.tests/unix/freetype/freetype.pri b/config.tests/unix/freetype/freetype.pri
+index 84974bf..ab9a6f2 100644
+--- a/config.tests/unix/freetype/freetype.pri
++++ b/config.tests/unix/freetype/freetype.pri
+@@ -1,5 +1,5 @@
+ !cross_compile {
+- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
++ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
+ for(p, TRY_INCLUDEPATHS) {
+ p = $$join(p, "", "", "/freetype2")
+ exists($$p):INCLUDEPATH *= $$p
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt4-x11-free-4.3.3/0007-openssl-host-includes.patch b/recipes/qt4/qt4-x11-free-4.3.3/0007-openssl-host-includes.patch
new file mode 100644
index 0000000000..35b71d9694
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.3.3/0007-openssl-host-includes.patch
@@ -0,0 +1,23 @@
+From d45943adb443ad4b85ca4504952dee743c675e1e Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Mon, 4 Jun 2007 14:58:34 +0200
+Subject: [PATCH] openssl host includes
+
+---
+ config.tests/unix/openssl/openssl.pri | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/config.tests/unix/openssl/openssl.pri b/config.tests/unix/openssl/openssl.pri
+index 756e5fe..19b4061 100644
+--- a/config.tests/unix/openssl/openssl.pri
++++ b/config.tests/unix/openssl/openssl.pri
+@@ -1,5 +1,5 @@
+ !cross_compile {
+- TRY_INCLUDEPATHS = /include /usr/include /usr/local/include $$QMAKE_INCDIR $$INCLUDEPATH
++ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$INCLUDEPATH
+ for(p, TRY_INCLUDEPATHS) {
+ pp = $$join(p, "", "", "/openssl")
+ exists($$pp):INCLUDEPATH *= $$p
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/0001-cross-compile.patch b/recipes/qt4/qt4-x11-free-4.4.3/0001-cross-compile.patch
new file mode 100644
index 0000000000..f20576b45e
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/0001-cross-compile.patch
@@ -0,0 +1,32 @@
+--- /tmp/configure 2008-08-01 20:59:48.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.1/configure 2008-08-01 21:02:05.000000000 +0200
+@@ -765,7 +765,7 @@
+ UNKNOWN_ARG=yes
+ fi
+ ;;
+- -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
++ -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch)
+ VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
+ shift
+ VAL="$1"
+@@ -1182,7 +1182,10 @@
+ xplatform)
+ XPLATFORM="$VAL"
+ ;;
+- debug-and-release)
++ crossarch)
++ CROSSARCH="$VAL"
++ ;;
++ debug-and-release)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_DEBUG_RELEASE="$VAL"
+ else
+@@ -2437,6 +2440,8 @@
+ CFG_ARCH=$CFG_HOST_ARCH
+ fi
+
++CFG_ARCH="$CROSSARCH"
++
+ if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ echo " '$CFG_ARCH' is supported"
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/0002-fix-resinit-declaration.patch b/recipes/qt4/qt4-x11-free-4.4.3/0002-fix-resinit-declaration.patch
new file mode 100644
index 0000000000..e479a64a2b
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/0002-fix-resinit-declaration.patch
@@ -0,0 +1,25 @@
+From acfeb18aa94bad6b2066e91cd15570889baaa252 Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Sat, 2 Jun 2007 16:04:01 +0200
+Subject: [PATCH] fix resinit declaration
+
+---
+ src/qt3support/network/q3dns.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/qt3support/network/q3dns.cpp b/src/qt3support/network/q3dns.cpp
+index 9bc7b16..bfc333e 100644
+--- a/src/qt3support/network/q3dns.cpp
++++ b/src/qt3support/network/q3dns.cpp
+@@ -30,7 +30,7 @@
+ # include <netinet/in.h>
+ # include <arpa/nameser.h>
+ # include <resolv.h>
+-extern "C" int res_init();
++extern "C" int res_init() throw();
+ #endif
+
+ // POSIX Large File Support redefines open -> open64
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/0003-no-tools.patch b/recipes/qt4/qt4-x11-free-4.4.3/0003-no-tools.patch
new file mode 100644
index 0000000000..bb36444f80
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/0003-no-tools.patch
@@ -0,0 +1,16 @@
+--- /tmp/src.pro 2008-07-08 10:43:30.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.0/src/src.pro 2008-07-08 11:28:24.000000000 +0200
+@@ -6,12 +6,9 @@
+ wince*:{
+ SRC_SUBDIRS += src_corelib src_xml src_gui src_sql src_network src_script src_testlib
+ } else {
+- SRC_SUBDIRS += src_tools_moc src_tools_rcc src_tools_uic src_corelib src_xml src_network src_gui src_sql src_script src_testlib
++ SRC_SUBDIRS += src_corelib src_xml src_network src_gui src_sql src_script src_testlib
+ contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
+ contains(QT_CONFIG, dbus):SRC_SUBDIRS += src_dbus
+- !cross_compile {
+- contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_tools_uic3
+- }
+ }
+ win32:!contains(QT_EDITION, OpenSource|Console): {
+ SRC_SUBDIRS += src_activeqt
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/0004-no-qmake.patch b/recipes/qt4/qt4-x11-free-4.4.3/0004-no-qmake.patch
new file mode 100644
index 0000000000..28f8d3ad9d
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/0004-no-qmake.patch
@@ -0,0 +1,25 @@
+From f5a73ce944240de9013cc23288c115e8213add5e Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Sat, 2 Jun 2007 16:06:59 +0200
+Subject: [PATCH] no qmake
+
+---
+ configure | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure b/configure
+index b3c2a52..1901e57 100755
+--- a/configure
++++ b/configure
+@@ -3517,7 +3517,7 @@ END {
+ }
+
+ # build qmake
+-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
++if false; then ###[ '!' -f "$outpath/bin/qmake" ];
+ echo "Creating qmake. Please wait..."
+
+ OLD_QCONFIG_H=
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/0005-fix-mkspecs.patch b/recipes/qt4/qt4-x11-free-4.4.3/0005-fix-mkspecs.patch
new file mode 100644
index 0000000000..c6f55906bc
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/0005-fix-mkspecs.patch
@@ -0,0 +1,101 @@
+--- /tmp/g++.conf 2008-07-08 10:32:18.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.0/mkspecs/common/g++.conf 2008-07-08 10:34:15.000000000 +0200
+@@ -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 +=
+ QMAKE_CFLAGS_DEBUG += -g
+ QMAKE_CFLAGS_SHLIB += -fPIC
+ QMAKE_CFLAGS_STATIC_LIB += -fPIC
+@@ -16,8 +16,8 @@
+ 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_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 +=
+@@ -41,7 +41,7 @@
+ QMAKE_LFLAGS_SONAME += -Wl,-soname,
+ QMAKE_LFLAGS_THREAD +=
+ QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
+-QMAKE_RPATH = -Wl,-rpath,
++QMAKE_RPATH = -Wl,-rpath-link,
+
+ QMAKE_PCH_OUTPUT_EXT = .gch
+
+--- /tmp/linux.conf 2008-07-08 10:32:18.000000000 +0200
++++ qt-embedded-linux-opensource-src-4.4.0/mkspecs/common/linux.conf 2008-07-08 10:38:37.000000000 +0200
+@@ -7,26 +7,27 @@
+
+ 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_OBJCOPY = objcopy
+ QMAKE_RANLIB =
+
+@@ -39,7 +40,7 @@
+ 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
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/0006-freetype-host-includes.patch b/recipes/qt4/qt4-x11-free-4.4.3/0006-freetype-host-includes.patch
new file mode 100644
index 0000000000..cc8e115fee
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/0006-freetype-host-includes.patch
@@ -0,0 +1,23 @@
+From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Mon, 4 Jun 2007 14:48:50 +0200
+Subject: [PATCH] freetype host includes
+
+---
+ config.tests/unix/freetype/freetype.pri | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/config.tests/unix/freetype/freetype.pri b/config.tests/unix/freetype/freetype.pri
+index 84974bf..ab9a6f2 100644
+--- a/config.tests/unix/freetype/freetype.pri
++++ b/config.tests/unix/freetype/freetype.pri
+@@ -1,5 +1,5 @@
+ !cross_compile {
+- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
++ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
+ for(p, TRY_INCLUDEPATHS) {
+ p = $$join(p, "", "", "/freetype2")
+ exists($$p):INCLUDEPATH *= $$p
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/0007-openssl-host-includes.patch b/recipes/qt4/qt4-x11-free-4.4.3/0007-openssl-host-includes.patch
new file mode 100644
index 0000000000..35b71d9694
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/0007-openssl-host-includes.patch
@@ -0,0 +1,23 @@
+From d45943adb443ad4b85ca4504952dee743c675e1e Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Mon, 4 Jun 2007 14:58:34 +0200
+Subject: [PATCH] openssl host includes
+
+---
+ config.tests/unix/openssl/openssl.pri | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/config.tests/unix/openssl/openssl.pri b/config.tests/unix/openssl/openssl.pri
+index 756e5fe..19b4061 100644
+--- a/config.tests/unix/openssl/openssl.pri
++++ b/config.tests/unix/openssl/openssl.pri
+@@ -1,5 +1,5 @@
+ !cross_compile {
+- TRY_INCLUDEPATHS = /include /usr/include /usr/local/include $$QMAKE_INCDIR $$INCLUDEPATH
++ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$INCLUDEPATH
+ for(p, TRY_INCLUDEPATHS) {
+ pp = $$join(p, "", "", "/openssl")
+ exists($$pp):INCLUDEPATH *= $$p
+--
+1.5.0.7
+
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/allow-configure-plugins.patch b/recipes/qt4/qt4-x11-free-4.4.3/allow-configure-plugins.patch
new file mode 100644
index 0000000000..601f2fc369
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/allow-configure-plugins.patch
@@ -0,0 +1,62 @@
+Index: qtopia-core-opensource-src-4.3.3/configure
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/configure 2008-01-20 11:42:07.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/configure 2008-01-20 22:31:37.000000000 +0100
+@@ -639,10 +639,10 @@
+
+ CFG_SQL_AVAILABLE=
+ if [ -d "$relpath/src/plugins/sqldrivers" ]; then
+- for a in "$relpath/src/plugins/sqldrivers/"*; do
+- if [ -d "$a" ]; then
+- base_a=`basename $a`
+- CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
++ for a in `ls $relpath/src/plugins/sqldrivers/`; do
++ dir="$relpath/src/plugins/sqldrivers/$a"
++ if [ -d "$dir" ]; then
++ CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${a}"
+ eval "CFG_SQL_${base_a}=auto"
+ fi
+ done
+@@ -650,30 +650,30 @@
+
+ CFG_DECORATION_PLUGIN_AVAILABLE=
+ if [ -d "$relpath/src/plugins/decorations" ]; then
+- for a in "$relpath/src/plugins/decorations/"*; do
+- if [ -d "$a" ]; then
+- base_a=`basename $a`
+- CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}"
++ for a in `ls $relpath/src/plugins/decorations/`; do
++ dir="$relpath/src/plugins/decorations/$a"
++ if [ -d "$dir" ]; then
++ CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${a}"
+ fi
+ done
+ fi
+
+ CFG_MOUSE_PLUGIN_AVAILABLE=
+ if [ -d "$relpath/src/plugins/mousedrivers" ]; then
+- for a in "$relpath/src/plugins/mousedrivers/"*; do
+- if [ -d "$a" ]; then
+- base_a=`basename $a`
+- CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}"
++ for a in `ls $relpath/src/plugins/mousedrivers/`; do
++ dir="$relpath/src/plugins/mousedrivers/$a"
++ if [ -d "$dir" ]; then
++ CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${a}"
+ fi
+ done
+ fi
+
+ CFG_GFX_PLUGIN_AVAILABLE=
+ if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
+- for a in "$relpath/src/plugins/gfxdrivers/"*; do
+- if [ -d "$a" ]; then
+- base_a=`basename $a`
+- CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}"
++ for a in `ls $relpath/src/plugins/gfxdrivers/`; do
++ dir="$relpath/src/plugins/gfxdrivers/$a"
++ if [ -d "$dir" ]; then
++ CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${a}"
+ fi
+ done
+ CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/build-tools.patch b/recipes/qt4/qt4-x11-free-4.4.3/build-tools.patch
new file mode 100644
index 0000000000..54ad666374
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/build-tools.patch
@@ -0,0 +1,28 @@
+Do not disable tools, examples and demos for the QWS build. Use brute-force
+to do this.
+
+Index: qtopia-core-opensource-src-4.3.3/configure
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/configure 2007-12-27 16:30:36.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/configure 2007-12-27 16:30:52.000000000 +0100
+@@ -2265,13 +2265,13 @@
+ CFG_BUILD_PARTS="$QT_DEFAULT_BUILD_PARTS"
+
+ # don't build tools by default when cross-compiling
+- if [ "$PLATFORM" != "$XPLATFORM" ]; then
+- CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
+- fi
+-fi
+-for nobuild in $CFG_NOBUILD_PARTS; do
+- CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
+-done
++ #if [ "$PLATFORM" != "$XPLATFORM" ]; then
++ # CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, tools,,g"`
++ #fi
++fi
++#for nobuild in $CFG_NOBUILD_PARTS; do
++# CFG_BUILD_PARTS=`echo "$CFG_BUILD_PARTS" | sed "s, $nobuild,,g"`
++#done
+ if echo $CFG_BUILD_PARTS | grep -v libs >/dev/null 2>&1; then
+ # echo
+ # echo "WARNING: libs is a required part of the build."
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/linux-oe-qmake.conf b/recipes/qt4/qt4-x11-free-4.4.3/linux-oe-qmake.conf
new file mode 100644
index 0000000000..fc5ac6dc5c
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/linux-oe-qmake.conf
@@ -0,0 +1,95 @@
+#
+# qmake configuration for linux-oe-g++ / OpenEmbedded Build System / http://openembedded.org
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+
+QMAKE_CC = $(OE_QMAKE_CC)
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = yacc
+QMAKE_YACCFLAGS = -d
+QMAKE_YACCFLAGS_MANGLE = -p $base -b $base
+QMAKE_YACC_HEADER = $base.tab.h
+QMAKE_YACC_SOURCE = $base.tab.c
+QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS) $(CFLAGS_EXTRA)
+QMAKE_CFLAGS_DEPS = -M
+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_CFLAGS_HIDESYMS = -fvisibility=hidden
+
+QMAKE_CXX = $(OE_QMAKE_CXX)
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) $(CXXFLAGS_EXTRA)
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+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_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+
+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_INCDIR_QTOPIA = $(OE_QMAKE_INCDIR_QTOPIA)
+QMAKE_LIBDIR_QTOPIA = $(OE_QMAKE_LIBDIR_QTOPIA)
+
+
+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 =
+QMAKE_LIBS_X11SM =
+QMAKE_LIBS_QT = -lqte
+QMAKE_LIBS_QT_THREAD = -lqte-mt
+QMAKE_LIBS_QT_OPENGL = -lqgl
+QMAKE_LIBS_THREAD = -lpthread
+QMAKE_LIBS_QTOPIA = -lqpe -lqtopia
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = $(OE_QMAKE_AR) cqs
+QMAKE_RANLIB = $(OE_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
+load(qt_config)
diff --git a/recipes/qt4/qt4-x11-free-4.4.3/qconfig-oe.h b/recipes/qt4/qt4-x11-free-4.4.3/qconfig-oe.h
new file mode 100644
index 0000000000..f820c01da8
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free-4.4.3/qconfig-oe.h
@@ -0,0 +1,45 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file. Please review the following information to ensure GNU
+** General Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/
+**
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** In addition, as a special exception, Trolltech gives you certain
+** additional rights. These rights are described in the Trolltech GPL
+** Exception version 1.0, which can be found at
+** http://www.trolltech.com/products/qt/gplexception/ and in the file
+** GPL_EXCEPTION.txt in this package.
+**
+** In addition, as a special exception, Trolltech, as the sole copyright
+** holder for Qt Designer, grants users of the Qt/Eclipse Integration
+** plug-in the right for the Qt/Eclipse Integration to link to
+** functionality provided by Qt Designer and its related libraries.
+**
+** Trolltech reserves all rights not expressly granted herein.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+
+/*
+ Empty leaves all features enabled. See doc/html/emb-features.html for choices.
+
+ Note that disabling some features will produce a libqt that is not
+ compatible with other libqt builds. Such modifications are only
+ supported on Qtopia Core where reducing the library size is important
+ and where the application-suite is often a fixed set.
+*/
diff --git a/recipes/qt4/qt4-x11-free.inc b/recipes/qt4/qt4-x11-free.inc
new file mode 100644
index 0000000000..93e11755c4
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free.inc
@@ -0,0 +1,28 @@
+DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version."
+SECTION = "x11/libs"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.trolltech.com"
+LICENSE = "GPL QPL"
+DEPENDS += "virtual/libx11 fontconfig xft libxext libxrender libxrandr libxcursor"
+PROVIDES = "qt4x11"
+PR = "r11"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz \
+ file://0001-cross-compile.patch;patch=1 \
+ file://0003-no-tools.patch;patch=1 \
+ file://0004-no-qmake.patch;patch=1 \
+ file://0005-fix-mkspecs.patch;patch=1"
+S = "${WORKDIR}/qt-x11-opensource-src-${PV}"
+
+
+QT_CONFIG_FLAGS += "-no-xinerama -no-tablet -no-xkb -no-opengl -webkit"
+QT_BASE_NAME = "qt4"
+QT_BASE_LIB = "libqt"
+QT_DIR_NAME = "qt4"
+QT_LIBINFIX = ""
+require qt_depends.inc
+require qt_configuration.inc
+require qt_packaging.inc
+require qt_staging.inc
+
+inherit qt4x11
diff --git a/recipes/qt4/qt4-x11-free_4.1.2.bb b/recipes/qt4/qt4-x11-free_4.1.2.bb
new file mode 100644
index 0000000000..54c706463a
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free_4.1.2.bb
@@ -0,0 +1,141 @@
+SECTION = "x11/libs"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.trolltech.com"
+LICENSE = "GPL QPL"
+DEPENDS = "uicmoc4-native qmake2-native freetype jpeg virtual/libx11 xft libxext libxrender libxrandr libxcursor"
+PROVIDES = "qt4x11"
+PR = "r1"
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz \
+ file://cross-compile.patch;patch=1 \
+ file://fix-resinit-declaration.patch;patch=1 \
+ file://no-tools.patch;patch=1 \
+ file://no-qmake.patch;patch=1 \
+ file://gcc4_1.patch;patch=1 \
+ file://configurable-cpu-extensions.patch;patch=1 \
+ file://fix-mkspecs.patch;patch=1 \
+ file://fix-asm-constraints.patch;patch=1"
+S = "${WORKDIR}/qt-x11-opensource-src-${PV}"
+
+PARALLEL_MAKE = ""
+
+inherit qmake_base qt4x11 pkgconfig
+
+export QTDIR = "${S}"
+STAGING_QT_DIR = "${STAGING_DIR_TARGET}/qt4"
+EXTRA_OEMAKE = "-e"
+
+require qt4_arch.inc
+
+QT_ARCH := "${@qt_arch(d)}"
+
+# FIXME:
+# * add missing options
+QT_CONFIG_FLAGS = "-release -shared -qt-zlib -system-libjpeg -no-nas-sound -no-sm -no-libmng -qt-libpng -no-gif -no-xinerama \
+ -no-tablet -no-xkb -no-nis -no-cups -no-opengl \
+ -nosse \
+ -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \
+ -verbose -stl -no-accessibility"
+
+EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after DEFINES+=QT_NO_XIM INCPATH+=${STAGING_INCDIR} \
+ INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
+ QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
+ AR="${TARGET_PREFIX}ar cqs" \
+ MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
+
+do_configure() {
+ echo "DEFINES -= QT_NO_CAST_TO_ASCII" >>src/qbase.pri
+ echo "DEFINES += QT_NO_XIM" >>src/qbase.pri
+ unset QMAKESPEC
+ ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
+ ln -sf ./linux-g++ mkspecs/linux-gnueabi-g++
+ #export QMAKESPEC="linux-oe-g++"
+ #rm -rf ./mkspecs
+ #ln -sf ${QMAKE_MKSPEC_PATH} ./mkspecs
+ echo yes | ./configure -prefix / -platform ${TARGET_OS}-g++ -crossarch ${QT_ARCH} ${QT_CONFIG_FLAGS} -fast \
+ -L${STAGING_LIBDIR} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/mysql
+}
+
+# FIXME: Might want to compile the cross tools for the -dev packages as well...
+do_compile() {
+ unset CFLAGS CXXFLAGS
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
+
+ oe_runmake ${EXTRA_ENV}
+}
+
+PARTS = "3Support Core Designer DesignerComponents Gui Network Sql Svg Test Xml"
+
+do_stage() {
+ oe_runmake install INSTALL_ROOT=/
+ install -d ${STAGING_QT_DIR}
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${STAGING_QT_DIR}/bin/rcc
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${STAGING_QT_DIR}/bin/moc
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${STAGING_QT_DIR}/bin/uic
+
+}
+
+# FIXME: Might want to call oe_runmake install INSTALL_ROOT=${D}/${prefix} as well...
+# FIXME: Might want to install everything into ${libdir}/qt4/* to match the usual packing...
+do_install() {
+ install -d ${D}${libdir}
+ install -d ${D}${bindir}
+ for part in ${PARTS}
+ do
+ oe_libinstall -so -C lib libQt$part ${D}${libdir}
+ done
+ oe_libinstall -a -C lib libQtAssistantClient ${STAGING_QT_DIR}
+ cp -pPR include/* ${D}${incdir}
+ cp -pPR plugins ${D}${libdir}
+ cp -pPR bin/* ${D}${bindir}
+
+ install -d ${D}${bindir}/qt4-examples
+ for binary in `find examples -perm 0755 -type f`
+ do
+ install -m 0755 $binary ${D}${bindir}/qt4-examples/
+ done
+ install -d ${D}${bindir}/qt4-demos
+ for binary in `find demos -perm 0755 -type f`
+ do
+ install -m 0755 $binary ${D}${bindir}/qt4-demos/
+ done
+}
+
+PACKAGES =+ "libqtcore4 libqtgui4 libqtnetwork4 libqtsql4 libqtsvg4 libqttest4 libqtxml4 \
+ libqtdesigner4 libqtdesignercomponents4 libqt3support4 \
+ qt4-assistant qt4-common qt4-designer qt4-demos qt4-examples qt4-linguist \
+ qt4-plugins-accessible qt4-plugins-codecs qt4-plugins-designer qt4-plugins-imageformats qt4-plugins-sqldrivers"
+
+ALLOW_EMPTY = "1"
+FILES_${PN} = ""
+RDEPENDS_${PN} = "${PACKAGES}"
+
+FILES_libqtcore4 = "${libdir}/libQtCore.so*"
+FILES_libqtgui4 = "${libdir}/libQtGui.so*"
+FILES_libqtnetwork4 = "${libdir}/libQtNetwork.so*"
+FILES_libqtsql4 = "${libdir}/libQtSql.so*"
+FILES_libqtsvg4 = "${libdir}/libQtSvg.so*"
+FILES_libqttest4 = "${libdir}/libQtTest.so*"
+FILES_libqtxml4 = "${libdir}/libQtXml.so*"
+FILES_libqtdesigner4 = "${libdir}/libQtDesigner.so*"
+FILES_libqtdesignercomponents4 = "${libdir}/libQtDesignerComponents.so*"
+FILES_libqt3support4 = "${libdir}/libQt3Support.so*"
+
+FILES_qt4-plugins-accessible = "${libdir}/plugins/accessible/*.so"
+FILES_qt4-plugins-codecs = "${libdir}/plugins/codecs/*.so"
+FILES_qt4-plugins-designer = "${libdir}/plugins/designer/*.so"
+FILES_qt4-plugins-imageformats = "${libdir}/plugins/imageformats/*.so"
+FILES_qt4-plugins-sqldrivers = "${libdir}/plugins/sqldrivers/*.so"
+
+FILES_qt4-assistant = "${bindir}/*assistant*"
+FILES_qt4-designer = "${bindir}/*designer*"
+FILES_qt4-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/qm2ts"
+
+FILES_qt4-common = "${bindir}/qtconfig"
+FILES_qt4-examples = "${bindir}/qt4-examples/*"
+FILES_qt4-demos = "${bindir}/qtdemo ${bindir}/qt4-demos/*"
+
+FILES_${PN}-dev += "${bindir}/rcc ${bindir}/uic* ${bindir}/moc ${bindir}/qmake ${bindir}/syncqt \
+ ${bindir}/qt3to4 ${bindir}/findtr"
diff --git a/recipes/qt4/qt4-x11-free_4.3.3.bb b/recipes/qt4/qt4-x11-free_4.3.3.bb
new file mode 100644
index 0000000000..7d30503c07
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free_4.3.3.bb
@@ -0,0 +1,5 @@
+require qt4-x11-free.inc
+SRC_URI += " \
+ file://0002-fix-resinit-declaration.patch;patch=1 \
+ file://0006-freetype-host-includes.patch;patch=1 \
+ file://0007-openssl-host-includes.patch;patch=1 "
diff --git a/recipes/qt4/qt4-x11-free_4.4.3.bb b/recipes/qt4/qt4-x11-free_4.4.3.bb
new file mode 100644
index 0000000000..987a489e97
--- /dev/null
+++ b/recipes/qt4/qt4-x11-free_4.4.3.bb
@@ -0,0 +1,7 @@
+require qt4-x11-free.inc
+PR = "r4"
+
+SRC_URI += " \
+ file://0002-fix-resinit-declaration.patch;patch=1 \
+ file://0006-freetype-host-includes.patch;patch=1 \
+ file://0007-openssl-host-includes.patch;patch=1 "
diff --git a/recipes/qt4/qt4_arch.inc b/recipes/qt4/qt4_arch.inc
new file mode 100644
index 0000000000..7f4be63bca
--- /dev/null
+++ b/recipes/qt4/qt4_arch.inc
@@ -0,0 +1,25 @@
+inherit siteinfo
+
+ARM_INSTRUCTION_SET = "arm"
+
+def qt_arch(d):
+ import bb, re
+ arch = bb.data.getVar('TARGET_ARCH', d, 1)
+ if re.match("^i.86$", arch):
+ arch = "i386"
+ elif re.match("^arm.*", arch):
+ arch = "arm"
+ elif arch == "x86_64":
+ arch = "x86"
+ elif arch == "mipsel":
+ arch = "mips"
+ return arch
+
+def qt_endian(d):
+ import bb
+ if bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "le":
+ return "-little-endian"
+ elif bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "be":
+ return "-big-endian"
+ else:
+ assert False
diff --git a/recipes/qt4/qt_configuration.inc b/recipes/qt4/qt_configuration.inc
new file mode 100644
index 0000000000..8fd5262397
--- /dev/null
+++ b/recipes/qt4/qt_configuration.inc
@@ -0,0 +1,82 @@
+require qt4_arch.inc
+QT_ARCH := "${@qt_arch(d)}"
+QT_ENDIAN = "${@qt_endian(d)}"
+
+QT_CONFIG_FLAGS += "-release -no-cups -no-accessibility -reduce-relocations \
+ -shared -no-nas-sound -no-sm -no-nis \
+ -qt-gif -system-libjpeg -system-libpng -system-zlib \
+ -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \
+ -no-pch -qdbus -stl -glib -phonon"
+
+EXTRA_OEMAKE = "-e"
+
+EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
+ INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
+ QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
+ AR="${TARGET_PREFIX}ar cqs" \
+ MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
+
+export QT_CONF_PATH="${WORKDIR}/qt.conf"
+
+do_configure() {
+ unset QMAKESPEC
+ unset QTDIR
+ ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
+ ln -s linux-g++ mkspecs/${TARGET_OS}-oe-g++
+
+ echo "[Paths]" > $QT_CONF_PATH
+ echo "Prefix=${prefix}" >> $QT_CONF_PATH
+ echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
+ echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
+ echo "Libraries=${libdir}" >> $QT_CONF_PATH
+ echo "Binaries=${bindir}" >> $QT_CONF_PATH
+ echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
+ echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
+ echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
+ echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
+ echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
+ echo "Demos=${bindir}/${QT_DIR_NAME}/demos" >> $QT_CONF_PATH
+
+ echo yes | ./configure -v \
+ -prefix ${prefix} \
+ -bindir ${bindir} \
+ -libdir ${libdir} \
+ -datadir ${datadir}/${QT_DIR_NAME} \
+ -sysconfdir ${sysconfdir}/${QT_DIR_NAME} \
+ -docdir ${docdir}/${QT_DIR_NAME} \
+ -headerdir ${includedir}/${QT_DIR_NAME} \
+ -plugindir ${libdir}/${QT_DIR_NAME}/plugins \
+ -translationdir ${datadir}/${QT_DIR_NAME}/translations \
+ -examplesdir ${bindir}/${QT_DIR_NAME}/examples \
+ -demosdir ${bindir}/${QT_DIR_NAME}/demos \
+ -platform ${TARGET_OS}-oe-g++ \
+ -xplatform ${TARGET_OS}-oe-g++ \
+ -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \
+ -crossarch ${QT_ARCH} \
+ ${QT_CONFIG_FLAGS} -fast \
+ -L${STAGING_LIBDIR} -I${STAGING_INCDIR} \
+ -I${STAGING_INCDIR}/freetype2
+}
+
+do_compile() {
+ unset CFLAGS CXXFLAGS
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
+
+ oe_runmake ${EXTRA_ENV}
+}
+
+#
+# Fixup some pkgconfig files
+# moc_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/moc
+# uic_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/uic
+#
+# Libs: -L${libdir} -lQtNetwork -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib $(LIBS_EXTRA) -lQtCore -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib -lm -lrt -lpthread -ldl
+#
+do_compile_append() {
+ cd ${S}/lib/pkgconfig
+ sed -i s#"-L${S}/lib"##g *.pc
+ sed -i s#"moc_location=${S}/bin/moc"#moc_location=${STAGING_BINDIR}/moc4# *.pc
+ sed -i s#"uic_location=${S}/bin/uic"#uic_location=${STAGING_BINDIR}/uic4# *.pc
+}
diff --git a/recipes/qt4/qt_depends.inc b/recipes/qt4/qt_depends.inc
new file mode 100644
index 0000000000..26cffa224f
--- /dev/null
+++ b/recipes/qt4/qt_depends.inc
@@ -0,0 +1,3 @@
+inherit pkgconfig qmake_base
+
+DEPENDS += " uicmoc4-native qmake2-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base"
diff --git a/recipes/qt4/qt_packaging.inc b/recipes/qt4/qt_packaging.inc
new file mode 100644
index 0000000000..68b3a406eb
--- /dev/null
+++ b/recipes/qt4/qt_packaging.inc
@@ -0,0 +1,220 @@
+NONDEV_PACKAGES += "${QT_BASE_LIB}core4 ${QT_BASE_LIB}gui4 ${QT_BASE_LIB}network4 \
+ ${QT_BASE_LIB}sql4 ${QT_BASE_LIB}svg4 ${QT_BASE_LIB}test4 ${QT_BASE_LIB}xml4 \
+ ${QT_BASE_LIB}designer4 ${QT_BASE_LIB}designercomponents4 \
+ ${QT_BASE_LIB}3support4 ${QT_BASE_LIB}assistantclient4 ${QT_BASE_LIB}script4 \
+ ${QT_BASE_LIB}dbus4 ${QT_BASE_LIB}opengl4 \
+ ${QT_BASE_LIB}help ${QT_BASE_LIB}clucene ${QT_BASE_LIB}webkit ${QT_BASE_LIB}phonon\
+ ${QT_BASE_NAME}-assistant ${QT_BASE_NAME}-common \
+ ${QT_BASE_NAME}-designer \
+ ${QT_BASE_NAME}-demos ${QT_BASE_NAME}-examples \
+ ${QT_BASE_NAME}-linguist \
+ ${QT_BASE_NAME}-pixeltool ${QT_BASE_NAME}-dbus \
+ ${QT_BASE_NAME}-fonts "
+
+DEV_PACKAGES += "${QT_BASE_LIB}core4-dev \
+ ${QT_BASE_LIB}gui4-dev \
+ ${QT_BASE_LIB}network4-dev \
+ ${QT_BASE_LIB}sql4-dev \
+ ${QT_BASE_LIB}svg4-dev \
+ ${QT_BASE_LIB}test4-dev \
+ ${QT_BASE_LIB}xml4-dev \
+ ${QT_BASE_LIB}designer4-dev \
+ ${QT_BASE_LIB}designercomponents4-dev \
+ ${QT_BASE_LIB}3support4-dev \
+ ${QT_BASE_LIB}assistantclient4-dev \
+ ${QT_BASE_LIB}script4-dev \
+ ${QT_BASE_LIB}dbus4-dev \
+ ${QT_BASE_LIB}opengl4-dev \
+ ${QT_BASE_LIB}uitools4-dev \
+ ${QT_BASE_LIB}help-dev \
+ ${QT_BASE_LIB}clucene-dev \
+ ${QT_BASE_LIB}webkit-dev \
+ ${QT_BASE_LIB}phonon-dev \
+ "
+
+DBG_PACKAGES += "${QT_BASE_LIB}core4-dbg \
+ ${QT_BASE_LIB}gui4-dbg \
+ ${QT_BASE_LIB}network4-dbg \
+ ${QT_BASE_LIB}sql4-dbg \
+ ${QT_BASE_LIB}svg4-dbg \
+ ${QT_BASE_LIB}test4-dbg \
+ ${QT_BASE_LIB}xml4-dbg \
+ ${QT_BASE_LIB}designer4-dbg \
+ ${QT_BASE_LIB}designercomponents4-dbg \
+ ${QT_BASE_LIB}3support4-dbg \
+ ${QT_BASE_LIB}assistantclient4-dbg \
+ ${QT_BASE_LIB}script4-dbg \
+ ${QT_BASE_LIB}dbus4-dbg \
+ ${QT_BASE_LIB}opengl4-dbg \
+ ${QT_BASE_LIB}help-dbg \
+ ${QT_BASE_LIB}clucene-dbg \
+ ${QT_BASE_LIB}webkit-dbg \
+ ${QT_BASE_LIB}phonon-dbg \
+ "
+
+
+PACKAGES += "${DEV_PACKAGES} ${NONDEV_PACKAGES} ${DBG_PACKAGES}"
+PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-*"
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN} = ""
+FILES_${PN}-dev = " ${includedir}/${QT_DIR_NAME}/Qt/*"
+FILES_${PN}-dbg = "${bindir}/*/.debug "
+RRECOMMENDS_${PN} = "${NONDEV_PACKAGES}"
+RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}"
+RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}"
+
+def qt_default_dev(name):
+ return """${libdir}/libQt%(name)s${QT_LIBINFIX}.la
+ ${libdir}/libQt%(name)s${QT_LIBINFIX}.prl
+ ${libdir}/libQt%(name)s${QT_LIBINFIX}.so
+ ${includedir}/${QT_DIR_NAME}/Qt%(name)s*
+ ${libdir}/pkgconfig/Qt%(name)s${QT_LIBINFIX}.pc""" % locals()
+
+
+FILES_${QT_BASE_LIB}core4 = "${libdir}/libQtCore${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}core4-dev = "${@qt_default_dev('Core')}"
+FILES_${QT_BASE_LIB}core4-dbg = "${libdir}/.debug/libQtCore*"
+FILES_${QT_BASE_LIB}gui4 = "${libdir}/libQtGui${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}gui4-dev = "${@qt_default_dev('Gui')}"
+FILES_${QT_BASE_LIB}gui4-dbg = "${libdir}/.debug/libQtGui*"
+FILES_${QT_BASE_LIB}network4 = "${libdir}/libQtNetwork${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}network4-dev = "${@qt_default_dev('Network')}"
+FILES_${QT_BASE_LIB}network4-dbg = "${libdir}/.debug/libQtNetwork${QT_LIBINFIX}*"
+FILES_${QT_BASE_LIB}sql4 = "${libdir}/libQtSql${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}sql4-dev = "${@qt_default_dev('Sql')}"
+FILES_${QT_BASE_LIB}sql4-dbg = "${libdir}/.debug/libQtSql*"
+FILES_${QT_BASE_LIB}svg4 = "${libdir}/libQtSvg${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}svg4-dev = "${@qt_default_dev('Svg')}"
+FILES_${QT_BASE_LIB}svg4-dbg = "${libdir}/.debug/libQtSvg*"
+FILES_${QT_BASE_LIB}test4 = "${libdir}/libQtTest${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}test4-dev = "${@qt_default_dev('Test')}"
+FILES_${QT_BASE_LIB}test4-dbg = "${libdir}/.debug/libQtTest*"
+FILES_${QT_BASE_LIB}xml4 = "${libdir}/libQtXml${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}xml4-dev = "${@qt_default_dev('Xml')}"
+FILES_${QT_BASE_LIB}xml4-dbg = "${libdir}/.debug/libQtXml*"
+FILES_${QT_BASE_LIB}designer4 = "${libdir}/libQtDesigner${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}designer4-dev = "${@qt_default_dev('Designer')}"
+FILES_${QT_BASE_LIB}designer4-dbg = "${libdir}/.debug/libQtDesigner*"
+FILES_${QT_BASE_LIB}designercomponents4 = "${libdir}/libQtDesignerComponents${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}designercomponents4-dev = "${@qt_default_dev('DesignerComponents')}"
+FILES_${QT_BASE_LIB}designercomponents4-dbg = "${libdir}/.debug/libQtDesignerComponents*"
+FILES_${QT_BASE_LIB}3support4 = "${libdir}/libQt3Support${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}3support4-dev = "${@qt_default_dev('3Support')}"
+FILES_${QT_BASE_LIB}3support4-dbg = "${libdir}/.debug/libQt3Support*"
+FILES_${QT_BASE_LIB}assistantclient4 = "${libdir}/libQtAssistantClient${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}assistantclient4-dev = "${@qt_default_dev('AssistantClient')} ${includedir}/${QT_DIR_NAME}/QtAssistant*"
+FILES_${QT_BASE_LIB}assistantclient4-dbg = "${libdir}/.debug/libQtAssistantClient*"
+FILES_${QT_BASE_LIB}script4 = "${libdir}/libQtScript${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}script4-dev = "${@qt_default_dev('Script')}"
+FILES_${QT_BASE_LIB}script4-dbg = "${libdir}/.debug/libQtScript*"
+FILES_${QT_BASE_LIB}dbus4 = "${libdir}/libQtDBus${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}dbus4-dev = "${@qt_default_dev('DBus')}"
+FILES_${QT_BASE_LIB}dbus4-dbg = "${libdir}/.debug/libQtDBus*"
+FILES_${QT_BASE_LIB}opengl4 = "${libdir}/libQtOpenGL${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}opengl4-dev = "${@qt_default_dev('OpenGL')}"
+FILES_${QT_BASE_LIB}opengl4-dbg = "${libdir}/.debug/libQtOpenGL*"
+FILES_${QT_BASE_LIB}uitools4-dev = "${libdir}/libQtUiTools* ${includedir}/${QT_DIR_NAME}/QtUiTools* ${libdir}/pkgconfig/QtUiTools${QT_LIBINFIX}.pc"
+FILES_${QT_BASE_LIB}help = "${libdir}/libQtHelp${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}help-dev = "${@qt_default_dev('Help')}"
+FILES_${QT_BASE_LIB}help-dbg = "${libdir}/.debug/libQtHelp*"
+FILES_${QT_BASE_LIB}clucene = "${libdir}/libQtCLucene${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}clucene-dev = "${@qt_default_dev('CLucene')}"
+FILES_${QT_BASE_LIB}clucene-dbg = "${libdir}/.debug/libQtCLucene*"
+FILES_${QT_BASE_LIB}webkit = "${libdir}/libQtWebKit${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}webkit-dev = "${@qt_default_dev('WebKit')}"
+FILES_${QT_BASE_LIB}webkit-dbg = "${libdir}/.debug/libQtWebKit*"
+FILES_${QT_BASE_LIB}phonon = "${libdir}/libphonon${QT_LIBINFIX}.so.*"
+FILES_${QT_BASE_LIB}phonon-dev = "${libdir}/libphonon${QT_LIBINFIX}.la \
+ ${libdir}/libphonon${QT_LIBINFIX}.prl \
+ ${libdir}/libphonon${QT_LIBINFIX}.so \
+ ${includedir}/${QT_DIR_NAME}/phonon \
+ ${libdir}/pkgconfig/phonon${QT_LIBINFIX}.pc"
+FILES_${QT_BASE_LIB}phonon-dbg = "${libdir}/.debug/libphonon*"
+
+FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant*"
+FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*"
+FILES_${QT_BASE_NAME}-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/qm2ts"
+FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool"
+FILES_${QT_BASE_NAME}-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer"
+
+FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig"
+FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*"
+FILES_${QT_BASE_NAME}-demos = "${bindir}/qtdemo ${bindir}/${QT_DIR_NAME}/demos/*"
+
+FILES_${QT_BASE_NAME}-fonts = "${libdir}/fonts"
+
+python populate_packages_prepend() {
+ translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d)
+ translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d)
+ do_split_packages(d, translation_dir, '^qt_(.*)\.qm$', translation_name, '${PN} translation for %s', extra_depends='' )
+
+ phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
+ phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
+ do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
+
+ # Package all the plugins and their -dbg version and create a meta package
+ import os
+ def qtopia_split(path, name, glob):
+ """
+ Split the package into a normal and -dbg package and then add the
+ new packages to the meta package.
+ """
+ plugin_dir = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/' % path, d)
+ if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)):
+ bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir)
+ return
+
+ plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d)
+ dev_packages = []
+ dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg))
+ do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook)
+ # Create a -dbg package as well
+ plugin_dir_dbg = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path, d)
+ packages = bb.data.getVar('PACKAGES',d)
+ for (file,package) in dev_packages:
+ packages = "%s %s-dbg" % (packages, package)
+ file_name = os.path.join(plugin_dir_dbg, os.path.basename(file))
+ bb.data.setVar("FILES_%s-dbg" % package, file_name, d)
+ bb.data.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package), d)
+
+ bb.data.setVar('PACKAGES', packages, d)
+
+ qtopia_split('accessible', 'accessible', '^libq(.*)\.so$')
+ qtopia_split('codecs', 'codec', '^libq(.*)\.so$')
+ qtopia_split('decorations', 'decoration', '^libqdecoration(.*)\.so$')
+ qtopia_split('designer', 'designer', '^lib(.*)\.so$')
+ qtopia_split('gfxdrivers', 'gfxdriver', '^libqgfx(.*)\.so$')
+ qtopia_split('mousedrivers','mousedriver', '^libq(.*)mousedriver\.so$')
+ qtopia_split('iconengines', 'iconengine', '^libq(.*)\.so$')
+ qtopia_split('imageformats','imageformat', '^libq(.*)\.so$')
+ qtopia_split('inputmethods','inputmethod', '^libq(.*)\.so$')
+ qtopia_split('sqldrivers', 'sqldriver', '^libq(.*)\.so$')
+ qtopia_split('script', 'script', '^libqtscript(.*)\.so$')
+ qtopia_split('styles', 'style', '^libq(.*)\.so$')
+ qtopia_split('phonon_backend', 'phonon-backend', '^libphonon_(.*)\.so$')
+}
+
+
+do_install() {
+ oe_runmake install INSTALL_ROOT=${D}
+
+ # These are host binaries, we should only use them in staging
+ rm -rf ${D}/${bindir}/qmake
+
+ # XXX, FIXME, TODO: package the demos and examples properly
+ rm -rf ${D}/${bindir}/${QT_DIR_NAME}
+ rm -rf ${D}/${datadir}/${QT_DIR_NAME}/mkspecs
+
+ # fix some .la and .pc files
+ sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"#"moc_location=${bindir}/moc4"# ${D}/${libdir}/pkgconfig/Qt*.pc
+ sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"#"uic_location=${bindir}/uic4"# ${D}/${libdir}/pkgconfig/Qt*.pc
+ sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g ${D}/${libdir}/pkgconfig/Qt*.pc
+ sed -i s#-L${STAGING_LIBDIR}##g ${D}${libdir}/pkgconfig/Qt*.pc
+
+ sed -i s#-L${STAGING_LIBDIR}#-L${libdir}#g ${D}${libdir}/libQt*.la
+ sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g ${D}/${libdir}/libQt*.la
+
+ install -d ${D}/${libdir}/fonts
+ touch ${D}/${libdir}/fonts/fontdir
+}
diff --git a/recipes/qt4/qt_staging.inc b/recipes/qt4/qt_staging.inc
new file mode 100644
index 0000000000..3bbcdcde22
--- /dev/null
+++ b/recipes/qt4/qt_staging.inc
@@ -0,0 +1,58 @@
+# Fixing up some Qt .pc files
+do_stage_append() {
+ cd ${STAGING_LIBDIR}/pkgconfig
+ sed -i s#"-L${S}/lib"##g Qt*.pc
+ sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"## Qt*.pc
+ sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"## Qt*.pc
+ sed -i s#"-L${STAGING_LIBDIR}"##g Qt*.pc
+ sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g Qt*.pc
+ sed -i s#"-L${S}/lib"##g phonon*.pc
+ sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"## phonon*.pc
+ sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"## phonon*.pc
+ sed -i s#"-L${STAGING_LIBDIR}"##g phonon*.pc
+ sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g phonon*.pc
+
+ cd ${STAGING_LIBDIR}
+ sed -i s#"-L${S}/lib"##g libQt*.la
+ sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g libQt*.la
+
+ install -d ${STAGING_DIR_TARGET}/qt4/bin
+ cp ${STAGING_DIR_NATIVE}/qt4/bin/* ${STAGING_DIR_TARGET}/qt4/bin/ || true
+ cp ${STAGING_DIR_NATIVE}/${bindir}/{rcc*,uic*,moc*} ${STAGING_DIR_TARGET}/qt4/bin/ || true
+ for qttool in ${STAGING_DIR_TARGET}/qt4/bin/*4 ; do
+ ln -sf $qttool ${STAGING_DIR_TARGET}/qt4/bin/$(basename $qttool |sed s:4::g)
+ done
+}
+
+STAGE_TEMP = "${WORKDIR}/temp-staging"
+do_stage() {
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ oe_runmake install INSTALL_ROOT=${STAGE_TEMP}
+
+ install -d ${STAGING_INCDIR}/
+ install -d ${STAGING_LIBDIR}
+ cp -pPRf ${STAGE_TEMP}/$includedir/* ${STAGING_INCDIR}/
+
+ for i in ${STAGE_TEMP}/${libdir}/*.la
+ do
+ sed -i s,installed=yes,installed=no, $i
+ sed -i -e "/^dependency_libs=/s,-L${libdir},-L${STAGING_LIBDIR},g" $i
+ sed -i -e "s,-L${libdir},-L${STAGING_LIBDIR},g" ${STAGE_TEMP}/${libdir}/$(basename $i .la).prl
+ cp -fpPR $i ${STAGING_LIBDIR}
+ cp -fpPR ${STAGE_TEMP}/${libdir}/$(basename $i .la).prl ${STAGING_LIBDIR}
+ oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $(basename $i .la) ${STAGING_LIBDIR}
+ done
+
+ for i in libQtAssistantClient${QT_LIBINFIX} libQtDesignerComponents${QT_LIBINFIX} libQtUiTools${QT_LIBINFIX} libQtDesigner${QT_LIBINFIX}
+ do
+ sed -i -e "s,-L${libdir},-L${STAGING_LIBDIR},g" $i.prl || true
+ cp ${STAGE_TEMP}/${libdir}/$i.prl ${STAGING_LIBDIR} || true
+ sed -i -e "/^dependency_libs=/s,-L${libdir},-L${STAGING_LIBDIR},g" $i.la || true
+ cp ${STAGE_TEMP}/${libdir}/$i.la ${STAGING_LIBDIR} || true
+ oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $i ${STAGING_LIBDIR} || true
+ oe_libinstall -C ${STAGE_TEMP}/${libdir} -a $i ${STAGING_LIBDIR} || true
+ done
+
+ rm -rf ${STAGE_TEMP}
+}