summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-qt/qt4
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2011-03-17 21:41:22 +0100
committerKoen Kooi <koen@dominion.thruhere.net>2011-03-17 21:41:22 +0100
commitc58cc7d3796dcee6e93885c835ed04cb566abeb2 (patch)
tree3eea4d4ef6a4ef79e0f4e025d7012c1a5cc38835 /meta-oe/recipes-qt/qt4
parenteec6ab97f712e06eb52c9f7c99e19ffab3ce9d74 (diff)
downloadmeta-openembedded-c58cc7d3796dcee6e93885c835ed04cb566abeb2.tar.gz
move layer into meta-oe in preparation for future splits
As per TSC decision Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe/recipes-qt/qt4')
-rw-r--r--meta-oe/recipes-qt/qt4/files/0001-cross-compile.patch36
-rw-r--r--meta-oe/recipes-qt/qt4/files/0001-fix-mkspecs.patch102
-rw-r--r--meta-oe/recipes-qt/qt4/files/0002-fix-resinit-declaration.patch22
-rw-r--r--meta-oe/recipes-qt/qt4/files/0004-no-qmake.patch26
-rw-r--r--meta-oe/recipes-qt/qt4/files/0006-freetype-host-includes.patch24
-rw-r--r--meta-oe/recipes-qt/qt4/files/0008-qt-lib-infix.patch36
-rw-r--r--meta-oe/recipes-qt/qt4/files/0009-support-2bpp.patch299
-rw-r--r--meta-oe/recipes-qt/qt4/files/0010-no-simpledecoration-example.patch14
-rw-r--r--meta-oe/recipes-qt/qt4/files/common.pro108
-rw-r--r--meta-oe/recipes-qt/qt4/files/compile.test-lflags.patch13
-rw-r--r--meta-oe/recipes-qt/qt4/files/configure-lflags.patch13
-rw-r--r--meta-oe/recipes-qt/qt4/files/configure-paths.patch21
-rw-r--r--meta-oe/recipes-qt/qt4/files/fix-config-tests.patch36
-rw-r--r--meta-oe/recipes-qt/qt4/files/g++.conf53
-rw-r--r--meta-oe/recipes-qt/qt4/files/hack-out-pg_config.patch30
-rw-r--r--meta-oe/recipes-qt/qt4/files/linux-oe-qmake.conf82
-rw-r--r--meta-oe/recipes-qt/qt4/files/linux.conf54
-rw-r--r--meta-oe/recipes-qt/qt4/files/mips-relocate.patch28
-rw-r--r--meta-oe/recipes-qt/qt4/files/qmake-exists-check.patch18
-rw-r--r--meta-oe/recipes-qt/qt4/files/qmake-hack.diff15
-rw-r--r--meta-oe/recipes-qt/qt4/files/qt-config.patch24
-rw-r--r--meta-oe/recipes-qt/qt4/files/qte.sh7
-rw-r--r--meta-oe/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch86
-rw-r--r--meta-oe/recipes-qt/qt4/files/use-lflags-last.patch22
-rw-r--r--meta-oe/recipes-qt/qt4/qmake2-sdk/linux-oe-qmake.conf1
-rw-r--r--meta-oe/recipes-qt/qt4/qmake2.inc69
-rw-r--r--meta-oe/recipes-qt/qt4/qmake2/linux-oe-qmake.conf1
-rw-r--r--meta-oe/recipes-qt/qt4/qmake2_2.10a.bb60
-rw-r--r--meta-oe/recipes-qt/qt4/qt-4.6.0/.1165-NEON-configure-detection-and-initial-blend-function-.patch.swpbin0 -> 16384 bytes
-rw-r--r--meta-oe/recipes-qt/qt4/qt-4.6.3.inc56
-rw-r--r--meta-oe/recipes-qt/qt4/qt-4.7.1.inc58
-rw-r--r--meta-oe/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch44
-rw-r--r--meta-oe/recipes-qt/qt4/qt-4.7.1/g++.conf60
-rw-r--r--meta-oe/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch19
-rw-r--r--meta-oe/recipes-qt/qt4/qt-4.7.1/linux.conf66
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0006-freetype-host-includes.patch20
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0008-qt-lib-infix.patch32
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0010-no-simpledecoration-example.patch11
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/linux.conf54
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-embedded.inc34
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-embedded/0006-freetype-host-includes.patch20
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-embedded_4.6.3.bb9
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-embedded_4.7.1.bb10
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-tools-native.inc77
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-tools-native_4.6.3.bb11
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-tools-native_4.7.1.bb13
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-tools-nativesdk.inc111
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb6
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb6
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-tools-sdk.inc88
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-tools-sdk_4.6.3.bb90
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-tools-sdk_4.7.1.bb8
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-x11-free-4.6.3/linux.conf54
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-x11-free.inc20
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-x11-free/0003-no-tools.patch18
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-x11-free/0006-freetype-host-includes.patch20
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-x11-free/0007-openssl-host-includes.patch20
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-x11-free/0008-qt-lib-infix.patch34
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-x11-free_4.6.3.bb6
-rw-r--r--meta-oe/recipes-qt/qt4/qt4-x11-free_4.7.1.bb12
-rw-r--r--meta-oe/recipes-qt/qt4/qt4.inc314
-rw-r--r--meta-oe/recipes-qt/qt4/qt4_arch.inc25
62 files changed, 2726 insertions, 0 deletions
diff --git a/meta-oe/recipes-qt/qt4/files/0001-cross-compile.patch b/meta-oe/recipes-qt/qt4/files/0001-cross-compile.patch
new file mode 100644
index 000000000..053be06e5
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/0001-cross-compile.patch
@@ -0,0 +1,36 @@
1Add configure option "crossarch" for cross compiling
2
3Ported from OE by: Yu Ke <ke.yu@intel.com>
4
5Index: qt-embedded-linux-opensource-src-4.4.3/configure
6===================================================================
7--- qt-embedded-linux-opensource-src-4.4.3.orig/configure 2009-03-26 17:02:45.000000000 +0100
8+++ qt-embedded-linux-opensource-src-4.4.3/configure 2009-03-26 17:03:43.000000000 +0100
9@@ -726,7 +726,7 @@
10 UNKNOWN_ARG=yes
11 fi
12 ;;
13- -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
14+ -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch)
15 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
16 shift
17 VAL="$1"
18@@ -1143,6 +1143,9 @@
19 xplatform)
20 XPLATFORM="$VAL"
21 ;;
22+ crossarch)
23+ CROSSARCH="$VAL"
24+ ;;
25 debug-and-release)
26 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
27 CFG_DEBUG_RELEASE="$VAL"
28@@ -2405,6 +2408,8 @@
29 CFG_ARCH=$CFG_HOST_ARCH
30 fi
31
32+CFG_ARCH="$CROSSARCH"
33+
34 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
35 if [ "$OPT_VERBOSE" = "yes" ]; then
36 echo " '$CFG_ARCH' is supported"
diff --git a/meta-oe/recipes-qt/qt4/files/0001-fix-mkspecs.patch b/meta-oe/recipes-qt/qt4/files/0001-fix-mkspecs.patch
new file mode 100644
index 000000000..0fccb57c0
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/0001-fix-mkspecs.patch
@@ -0,0 +1,102 @@
1--- /tmp/g++.conf 2008-07-08 10:32:18.000000000 +0200
2+++ qt-embedded-linux-opensource-src-4.4.0/mkspecs/common/g++.conf 2008-07-08 10:34:15.000000000 +0200
3@@ -2,12 +2,12 @@
4 # qmake configuration for common gcc
5 #
6
7-QMAKE_CC = gcc
8-QMAKE_CFLAGS += -pipe
9+QMAKE_CC = $(OE_QMAKE_CC)
10+QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
11 QMAKE_CFLAGS_DEPS += -M
12 QMAKE_CFLAGS_WARN_ON += -Wall -W
13 QMAKE_CFLAGS_WARN_OFF += -w
14-QMAKE_CFLAGS_RELEASE += -O2
15+QMAKE_CFLAGS_RELEASE +=
16 QMAKE_CFLAGS_DEBUG += -g
17 QMAKE_CFLAGS_SHLIB += -fPIC
18 QMAKE_CFLAGS_STATIC_LIB += -fPIC
19@@ -16,8 +16,8 @@
20 QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
21 QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
22
23-QMAKE_CXX = g++
24-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
25+QMAKE_CXX = $(OE_QMAKE_CXX)
26+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
27 QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
28 QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
29 QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
30@@ -30,9 +30,9 @@
31 QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
32 QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
33
34-QMAKE_LINK = g++
35-QMAKE_LINK_SHLIB = g++
36-QMAKE_LFLAGS +=
37+QMAKE_LINK = $(OE_QMAKE_LINK)
38+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
39+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
40 QMAKE_LFLAGS_RELEASE +=
41 QMAKE_LFLAGS_DEBUG +=
42 QMAKE_LFLAGS_APP +=
43@@ -41,7 +41,7 @@
44 QMAKE_LFLAGS_SONAME += -Wl,-soname,
45 QMAKE_LFLAGS_THREAD +=
46 QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
47-QMAKE_RPATH = -Wl,-rpath,
48+QMAKE_RPATH = -Wl,-rpath-link,
49
50 QMAKE_PCH_OUTPUT_EXT = .gch
51
52--- /tmp/linux.conf 2008-07-08 10:32:18.000000000 +0200
53+++ qt-embedded-linux-opensource-src-4.4.0/mkspecs/common/linux.conf 2008-07-08 10:38:37.000000000 +0200
54@@ -7,26 +7,28 @@
55
56 QMAKE_INCDIR =
57 QMAKE_LIBDIR =
58-QMAKE_INCDIR_X11 = /usr/X11R6/include
59-QMAKE_LIBDIR_X11 = /usr/X11R6/lib
60-QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
61-QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
62-QMAKE_INCDIR_OPENGL = /usr/X11R6/include
63-QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
64+QMAKE_INCDIR_X11 =
65+QMAKE_LIBDIR_X11 =
66+QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
67+QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
68+QMAKE_INCDIR_OPENGL =
69+QMAKE_LIBDIR_OPENGL =
70+
71
72 QMAKE_LIBS =
73 QMAKE_LIBS_DYNLOAD = -ldl
74-QMAKE_LIBS_X11 = -lXext -lX11 -lm
75-QMAKE_LIBS_X11SM = -lSM -lICE
76+QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
77+QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
78 QMAKE_LIBS_NIS = -lnsl
79 QMAKE_LIBS_OPENGL = -lGLU -lGL
80 QMAKE_LIBS_OPENGL_QT = -lGL
81 QMAKE_LIBS_THREAD = -lpthread
82
83-QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
84-QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
85+QMAKE_MOC = $(OE_QMAKE_MOC)
86+QMAKE_UIC = $(OE_QMAKE_UIC)
87+QMAKE_RCC = $(OE_QMAKE_RCC)
88
89-QMAKE_AR = ar cqs
90+QMAKE_AR = $(OE_QMAKE_AR) cqs
91 QMAKE_OBJCOPY = objcopy
92 QMAKE_RANLIB =
93
94@@ -39,7 +40,7 @@
95 QMAKE_MOVE = mv -f
96 QMAKE_DEL_FILE = rm -f
97 QMAKE_DEL_DIR = rmdir
98-QMAKE_STRIP = strip
99+QMAKE_STRIP = $(OE_QMAKE_STRIP)
100 QMAKE_STRIPFLAGS_LIB += --strip-unneeded
101 QMAKE_CHK_DIR_EXISTS = test -d
102 QMAKE_MKDIR = mkdir -p
diff --git a/meta-oe/recipes-qt/qt4/files/0002-fix-resinit-declaration.patch b/meta-oe/recipes-qt/qt4/files/0002-fix-resinit-declaration.patch
new file mode 100644
index 000000000..be4d5c0e2
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/0002-fix-resinit-declaration.patch
@@ -0,0 +1,22 @@
1From acfeb18aa94bad6b2066e91cd15570889baaa252 Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net>
3Date: Sat, 2 Jun 2007 16:04:01 +0200
4Subject: [PATCH] fix resinit declaration
5
6---
7 src/qt3support/network/q3dns.cpp | 2 +-
8 1 files changed, 1 insertions(+), 1 deletions(-)
9
10Index: qt-embedded-linux-opensource-src-4.4.3/src/qt3support/network/q3dns.cpp
11===================================================================
12--- qt-embedded-linux-opensource-src-4.4.3.orig/src/qt3support/network/q3dns.cpp 2008-09-27 11:01:28.000000000 +0200
13+++ qt-embedded-linux-opensource-src-4.4.3/src/qt3support/network/q3dns.cpp 2009-03-26 17:04:05.000000000 +0100
14@@ -44,7 +44,7 @@
15 # include <netinet/in.h>
16 # include <arpa/nameser.h>
17 # include <resolv.h>
18-extern "C" int res_init();
19+extern "C" int res_init() throw();
20 #endif
21
22 // POSIX Large File Support redefines open -> open64
diff --git a/meta-oe/recipes-qt/qt4/files/0004-no-qmake.patch b/meta-oe/recipes-qt/qt4/files/0004-no-qmake.patch
new file mode 100644
index 000000000..a58b19f90
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/0004-no-qmake.patch
@@ -0,0 +1,26 @@
1From f5a73ce944240de9013cc23288c115e8213add5e Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net>
3Date: Sat, 2 Jun 2007 16:06:59 +0200
4Subject: [PATCH] no qmake
5
6qmake is already built in qt4-tools-native, so disable it
7
8Ported from OE by: Yu Ke <ke.yu@intel.com>
9
10---
11 configure | 2 +-
12 1 files changed, 1 insertions(+), 1 deletions(-)
13
14Index: qt-embedded-linux-opensource-src-4.4.3/configure
15===================================================================
16--- qt-embedded-linux-opensource-src-4.4.3.orig/configure 2009-03-26 17:03:43.000000000 +0100
17+++ qt-embedded-linux-opensource-src-4.4.3/configure 2009-03-26 17:04:17.000000000 +0100
18@@ -3786,7 +3786,7 @@
19 }
20
21 # build qmake
22-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
23+if false; then ###[ '!' -f "$outpath/bin/qmake" ];
24 echo "Creating qmake. Please wait..."
25
26 OLD_QCONFIG_H=
diff --git a/meta-oe/recipes-qt/qt4/files/0006-freetype-host-includes.patch b/meta-oe/recipes-qt/qt4/files/0006-freetype-host-includes.patch
new file mode 100644
index 000000000..081d8992e
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/0006-freetype-host-includes.patch
@@ -0,0 +1,24 @@
1From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net>
3Date: Mon, 4 Jun 2007 14:48:50 +0200
4Subject: [PATCH] freetype host includes
5
6Host include path should not be used in corss compiling case.
7
8Ported from OE by: Yu Ke <ke.yu@intel.com>
9
10---
11 config.tests/unix/freetype/freetype.pri | 2 +-
12 1 files changed, 1 insertions(+), 1 deletions(-)
13
14Index: qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri
15===================================================================
16--- qt-embedded-linux-opensource-src-4.5.0.orig/config.tests/unix/freetype/freetype.pri 2009-02-25 22:32:32.000000000 +0100
17+++ qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri 2009-03-26 17:14:16.000000000 +0100
18@@ -1,5 +1,5 @@
19 !cross_compile {
20- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
21+ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
22 # LSB doesn't allow using headers from /include or /usr/include
23 linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
24 for(p, TRY_INCLUDEPATHS) {
diff --git a/meta-oe/recipes-qt/qt4/files/0008-qt-lib-infix.patch b/meta-oe/recipes-qt/qt4/files/0008-qt-lib-infix.patch
new file mode 100644
index 000000000..a1b89124d
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/0008-qt-lib-infix.patch
@@ -0,0 +1,36 @@
1Add lib infix to distinguish different qt compile version: e.g. "E" for embedded, "" for X11
2
3Ported from OE by: Yu Ke <ke.yu@intel.com>
4
5--- /tmp/uitools.prf 2009-12-01 18:38:22.000000000 +0100
6+++ qt-everywhere-opensource-src-4.6.0/mkspecs/features/uitools.prf 2009-12-01 18:58:16.000000000 +0100
7@@ -3,11 +3,11 @@
8
9 # Include the correct version of the UiLoader library
10 symbian: QTUITOOLS_LINKAGE = -lQtUiTools.lib
11-else: QTUITOOLS_LINKAGE = -lQtUiTools
12+else: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}
13
14 CONFIG(debug, debug|release) {
15- mac: QTUITOOLS_LINKAGE = -lQtUiTools_debug
16- win32: QTUITOOLS_LINKAGE = -lQtUiToolsd
17+ mac: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}_debug
18+ win32: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}d
19 }
20 LIBS += $$QTUITOOLS_LINKAGE
21
22--- /tmp/uitools.pro 2009-12-01 18:40:28.000000000 +0100
23+++ qt-everywhere-opensource-src-4.6.0/tools/designer/src/uitools/uitools.pro 2009-12-01 18:59:18.000000000 +0100
24@@ -1,5 +1,5 @@
25 TEMPLATE = lib
26-TARGET = $$qtLibraryTarget(QtUiTools)
27+TARGET = QtUiTools
28 QT += xml
29 CONFIG += qt staticlib
30 DESTDIR = ../../../../lib
31@@ -43,3 +43,5 @@
32 QMAKE_PKGCONFIG_DESTDIR = pkgconfig
33 QMAKE_PKGCONFIG_REQUIRES += QtXml
34 }
35+
36+TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
diff --git a/meta-oe/recipes-qt/qt4/files/0009-support-2bpp.patch b/meta-oe/recipes-qt/qt4/files/0009-support-2bpp.patch
new file mode 100644
index 000000000..cf44ea821
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/0009-support-2bpp.patch
@@ -0,0 +1,299 @@
1Add 2bpp support
2
3Ported from OE by: Yu Ke <ke.yu@intel.com>
4
5diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/configure qt-embedded-linux-opensource-src-4.4.3/configure
6--- qt-embedded-linux-opensource-src-4.4.3.orig/configure 2008-09-27 11:01:23.000000000 +0200
7+++ qt-embedded-linux-opensource-src-4.4.3/configure 2009-01-14 14:30:53.000000000 +0100
8@@ -5045,6 +5045,7 @@
9 echo "Choose pixel-depths to support:"
10 echo
11 echo " 1. 1bpp, black/white"
12+ echo " 2. 2bpp, grayscale"
13 echo " 4. 4bpp, grayscale"
14 echo " 8. 8bpp, paletted"
15 echo " 12. 12bpp, rgb 4-4-4"
16@@ -5063,11 +5064,11 @@
17 fi
18 if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
19 if [ "$CFG_QWS_DEPTHS" = "all" ]; then
20- CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
21+ CFG_QWS_DEPTHS="1 2 4 8 12 15 16 18 24 32 generic"
22 fi
23 for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
24 case $D in
25- 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
26+ 1|2|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
27 generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
28 esac
29 done
30diff -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
31--- qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreenlinuxfb_qws.cpp 2008-09-27 11:01:28.000000000 +0200
32+++ qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreenlinuxfb_qws.cpp 2009-01-14 17:22:34.000000000 +0100
33@@ -404,8 +404,8 @@
34 setupOffScreen();
35
36 // Now read in palette
37- if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4)) {
38- screencols= (vinfo.bits_per_pixel==8) ? 256 : 16;
39+ if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4) || (vinfo.bits_per_pixel==2)) {
40+ screencols= 1 << vinfo.bits_per_pixel;
41 int loopc;
42 fb_cmap startcmap;
43 startcmap.start=0;
44diff -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
45--- qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreen_qws.cpp 2008-09-27 11:01:28.000000000 +0200
46+++ qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreen_qws.cpp 2009-01-14 17:22:44.000000000 +0100
47@@ -444,6 +444,58 @@
48 }
49 #endif // QT_QWS_DEPTH_4
50
51+#ifdef QT_QWS_DEPTH_2
52+static inline void qt_rectfill_gray2(quint8 *dest, quint8 value,
53+ int x, int y, int width, int height,
54+ int stride)
55+{
56+ const int pixelsPerByte = 4;
57+ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
58+ const int doAlign = (alignWidth > 0 ? 1 : 0);
59+ const int alignStart = pixelsPerByte - 1 - (x & 3);
60+ const int alignStop = alignStart - (alignWidth - 1);
61+ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
62+ const int tailWidth = (width - alignWidth) & 3;
63+ const int doTail = (tailWidth > 0 ? 1 : 0);
64+ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
65+ const int width8 = (width - alignWidth) / pixelsPerByte;
66+
67+ dest += y * stride + x / pixelsPerByte;
68+ stride -= (doAlign + width8);
69+
70+ for (int j = 0; j < height; ++j) {
71+ if (doAlign) {
72+ *dest = (*dest & ~alignMask) | (value & alignMask);
73+ ++dest;
74+ }
75+ if (width8) {
76+ qt_memfill<quint8>(dest, value, width8);
77+ dest += width8;
78+ }
79+ if (doTail)
80+ *dest = (*dest & tailMask) | (value & ~tailMask);
81+ dest += stride;
82+ }
83+}
84+
85+static void solidFill_gray2(QScreen *screen, const QColor &color,
86+ const QRegion &region)
87+{
88+ quint8 *dest = reinterpret_cast<quint8*>(screen->base());
89+ const quint8 c = qGray(color.rgba()) >> 6;
90+ const quint8 c8 = (c << 6) | (c << 4) | (c << 2) | c;
91+
92+ const int stride = screen->linestep();
93+ const QVector<QRect> rects = region.rects();
94+
95+ for (int i = 0; i < rects.size(); ++i) {
96+ const QRect r = rects.at(i);
97+ qt_rectfill_gray2(dest, c8, r.x(), r.y(), r.width(), r.height(),
98+ stride);
99+ }
100+}
101+#endif // QT_QWS_DEPTH_2
102+
103 #ifdef QT_QWS_DEPTH_1
104 static inline void qt_rectfill_mono(quint8 *dest, quint8 value,
105 int x, int y, int width, int height,
106@@ -551,6 +603,11 @@
107 screen->d_ptr->solidFill = solidFill_gray4;
108 break;
109 #endif
110+#ifdef QT_QWS_DEPTH_2
111+ case 2:
112+ screen->d_ptr->solidFill = solidFill_gray2;
113+ break;
114+#endif
115 #ifdef QT_QWS_DEPTH_1
116 case 1:
117 screen->d_ptr->solidFill = solidFill_mono;
118@@ -958,6 +1015,149 @@
119 }
120 #endif // QT_QWS_DEPTH_4
121
122+#ifdef QT_QWS_DEPTH_2
123+
124+struct qgray2 { quint8 dummy; } Q_PACKED;
125+
126+template <typename SRC>
127+static inline quint8 qt_convertToGray2(SRC color);
128+
129+template <>
130+inline quint8 qt_convertToGray2(quint32 color)
131+{
132+ return qGray(color) >> 6;
133+}
134+
135+template <>
136+inline quint8 qt_convertToGray2(quint16 color)
137+{
138+ const int r = (color & 0xf800) >> 11;
139+ const int g = (color & 0x07e0) >> 6; // only keep 5 bit
140+ const int b = (color & 0x001f);
141+ return (r * 11 + g * 16 + b * 5) >> 8;
142+}
143+
144+template <>
145+inline quint8 qt_convertToGray2(qrgb444 color)
146+{
147+ return qt_convertToGray2(quint32(color));
148+}
149+
150+template <>
151+inline quint8 qt_convertToGray2(qargb4444 color)
152+{
153+ return qt_convertToGray2(quint32(color));
154+}
155+
156+template <typename SRC>
157+static inline void qt_rectconvert_gray2(qgray2 *dest2, const SRC *src,
158+ int x, int y, int width, int height,
159+ int dstStride, int srcStride)
160+{
161+ const int pixelsPerByte = 4;
162+ quint8 *dest8 = reinterpret_cast<quint8*>(dest2)
163+ + y * dstStride + x / pixelsPerByte;
164+ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
165+ const int doAlign = (alignWidth > 0 ? 1 : 0);
166+ const int alignStart = pixelsPerByte - 1 - (x & 3);
167+ const int alignStop = alignStart - (alignWidth - 1);
168+ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
169+ const int tailWidth = (width - alignWidth) & 3;
170+ const int doTail = (tailWidth > 0 ? 1 : 0);
171+ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
172+ const int width8 = (width - alignWidth) / pixelsPerByte;
173+
174+ srcStride = srcStride / sizeof(SRC) - (width8 * pixelsPerByte + alignWidth);
175+ dstStride -= (width8 + doAlign);
176+
177+ for (int j = 0; j < height; ++j) {
178+ if (doAlign) {
179+ quint8 d = *dest8 & ~alignMask;
180+ for (int i = alignStart; i >= alignStop; --i)
181+ d |= qt_convertToGray2<SRC>(*src++) << (2 * i);
182+ *dest8++ = d;
183+ }
184+ for (int i = 0; i < width8; ++i) {
185+ *dest8 = (qt_convertToGray2<SRC>(src[0]) << 6)
186+ | (qt_convertToGray2<SRC>(src[1]) << 4)
187+ | (qt_convertToGray2<SRC>(src[2]) << 2)
188+ | (qt_convertToGray2<SRC>(src[3]));
189+ src += 4;
190+ ++dest8;
191+ }
192+ if (doTail) {
193+ quint8 d = *dest8 & tailMask;
194+ switch (tailWidth) {
195+ case 3: d |= qt_convertToGray2<SRC>(src[2]) << 2;
196+ case 2: d |= qt_convertToGray2<SRC>(src[1]) << 4;
197+ case 1: d |= qt_convertToGray2<SRC>(src[0]) << 6;
198+ }
199+ *dest8 = d;
200+ }
201+
202+ dest8 += dstStride;
203+ src += srcStride;
204+ }
205+}
206+
207+template <>
208+void qt_rectconvert(qgray2 *dest, const quint32 *src,
209+ int x, int y, int width, int height,
210+ int dstStride, int srcStride)
211+{
212+ qt_rectconvert_gray2<quint32>(dest, src, x, y, width, height,
213+ dstStride, srcStride);
214+}
215+
216+template <>
217+void qt_rectconvert(qgray2 *dest, const quint16 *src,
218+ int x, int y, int width, int height,
219+ int dstStride, int srcStride)
220+{
221+ qt_rectconvert_gray2<quint16>(dest, src, x, y, width, height,
222+ dstStride, srcStride);
223+}
224+
225+template <>
226+void qt_rectconvert(qgray2 *dest, const qrgb444 *src,
227+ int x, int y, int width, int height,
228+ int dstStride, int srcStride)
229+{
230+ qt_rectconvert_gray2<qrgb444>(dest, src, x, y, width, height,
231+ dstStride, srcStride);
232+}
233+
234+template <>
235+void qt_rectconvert(qgray2 *dest, const qargb4444 *src,
236+ int x, int y, int width, int height,
237+ int dstStride, int srcStride)
238+{
239+ qt_rectconvert_gray2<qargb4444>(dest, src, x, y, width, height,
240+ dstStride, srcStride);
241+}
242+
243+static void blit_2(QScreen *screen, const QImage &image,
244+ const QPoint &topLeft, const QRegion &region)
245+{
246+ switch (image.format()) {
247+ case QImage::Format_ARGB32_Premultiplied:
248+ blit_template<qgray2, quint32>(screen, image, topLeft, region);
249+ return;
250+ case QImage::Format_RGB16:
251+ blit_template<qgray2, quint16>(screen, image, topLeft, region);
252+ return;
253+ case QImage::Format_RGB444:
254+ blit_template<qgray2, qrgb444>(screen, image, topLeft, region);
255+ return;
256+ case QImage::Format_ARGB4444_Premultiplied:
257+ blit_template<qgray2, qargb4444>(screen, image, topLeft, region);
258+ return;
259+ default:
260+ qCritical("blit_2(): Image format %d not supported!", image.format());
261+ }
262+}
263+#endif // QT_QWS_DEPTH_2
264+
265 #ifdef QT_QWS_DEPTH_1
266
267 struct qmono { quint8 dummy; } Q_PACKED;
268@@ -1206,6 +1406,11 @@
269 screen->d_ptr->blit = blit_4;
270 break;
271 #endif
272+#ifdef QT_QWS_DEPTH_2
273+ case 2:
274+ screen->d_ptr->blit = blit_2;
275+ break;
276+#endif
277 #ifdef QT_QWS_DEPTH_1
278 case 1:
279 screen->d_ptr->blit = blit_1;
280@@ -2056,6 +2261,8 @@
281 }
282 } else if (d == 4) {
283 ret = qGray(r, g, b) >> 4;
284+ } else if (d == 2) {
285+ ret = qGray(r, g, b) >> 6;
286 } else if (d == 1) {
287 ret = qGray(r, g, b) >= 128;
288 } else {
289@@ -2126,6 +2333,10 @@
290 } else if(d==1) {
291 return true;
292 #endif
293+#ifdef QT_QWS_DEPTH_2
294+ } else if(d==2) {
295+ return true;
296+#endif
297 #ifdef QT_QWS_DEPTH_4
298 } else if(d==4) {
299 return true;
diff --git a/meta-oe/recipes-qt/qt4/files/0010-no-simpledecoration-example.patch b/meta-oe/recipes-qt/qt4/files/0010-no-simpledecoration-example.patch
new file mode 100644
index 000000000..e52736926
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/0010-no-simpledecoration-example.patch
@@ -0,0 +1,14 @@
1
2Ported from OE by: Yu Ke <ke.yu@intel.com>
3
4--- /tmp/qws.pro 2009-12-10 19:30:08.000000000 +0100
5+++ qt-everywhere-opensource-src-4.6.0/examples/qws/qws.pro 2009-12-10 19:30:21.000000000 +0100
6@@ -1,7 +1,7 @@
7 TEMPLATE = subdirs
8 # no /dev/fbX
9 !qnx:!vxworks:SUBDIRS = framebuffer
10-SUBDIRS += mousecalibration simpledecoration
11+SUBDIRS += mousecalibration
12
13 # install
14 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS README *.pro
diff --git a/meta-oe/recipes-qt/qt4/files/common.pro b/meta-oe/recipes-qt/qt4/files/common.pro
new file mode 100644
index 000000000..382d93f5d
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/common.pro
@@ -0,0 +1,108 @@
1#====================================================================================
2# common.pro (C) 2004 Michael 'Mickey' Lauer <mickey@Vanille.de>
3#====================================================================================
4#
5# Purpose: This file contains qmake scope rules of common usage
6#
7# Example: When building a qmake based application using libsdl,
8# use CONFIG+=sdl to add the proper include and library
9# paths and definitions to the resulting Makefile
10#
11#
12# General problem: One has to decide between evaluation at makefile generation time
13# and evaluation at makefile processing time.
14# The following example illustrates the difference:
15#
16# Evaluation at makefile processing time:
17#
18# sdl {
19# QMAKE_CFLAGS += `sdl-config --cflags`
20# LIBS += `sdl-config --libs`
21# }
22#
23# Evalutation at makefile generation time:
24#
25# sdl {
26# QMAKE_CFLAGS += $$system( sdl-config --cflags )
27# LIBS += `sdl-config --libs`
28# }
29#
30# For now I use version 2 which is a bit faster
31# See the fine qmake manual for more details
32#
33#
34
35#=============================================================================
36# pthread scope for multithreaded applications
37#
38
39pthread {
40 LIBS += -lpthread
41}
42
43#=============================================================================
44# sdl scopes for applications using the Simple Direct Media Layer (SDL)
45#
46
47sdl {
48 QMAKE_CXXFLAGS += $$system( sdl-config --cflags )
49 DEFINES += USE_SDL QTOPIA
50 LIBS += $$system( sdl-config --libs )
51}
52
53sdl-mixer {
54 LIBS += -lSDL_mixer
55}
56
57sdl-image {
58 LIBS += -lSDL_image
59}
60
61sdl-font {
62 LIBS += -lSDL_ttf
63}
64
65#=============================================================================
66#
67#
68
69opie {
70 DEFINES += QWS
71}
72
73opiecore {
74 LIBS += -lopiecore2
75}
76
77opieui {
78 CONFIG += opiecore
79 LIBS += -lopieui2
80}
81
82opienet {
83 CONFIG += opiecore
84 LIBS += -lopienet2
85}
86
87opiepim {
88 CONFIG += opiecore
89 LIBS += -lopiepim2
90}
91
92opiedb {
93 CONFIG += opiecore
94 LIBS += -lopiedb2
95}
96
97opiemm {
98 CONFIG += opiecore
99 LIBS += -lopiemm2
100}
101
102#=============================================================================
103#
104#
105
106#=============================================================================
107#
108#
diff --git a/meta-oe/recipes-qt/qt4/files/compile.test-lflags.patch b/meta-oe/recipes-qt/qt4/files/compile.test-lflags.patch
new file mode 100644
index 000000000..e4b256b0c
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/compile.test-lflags.patch
@@ -0,0 +1,13 @@
1Index: qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test
2===================================================================
3--- qt-everywhere-opensource-src-4.6.3.orig/config.tests/unix/compile.test 2010-06-02 06:03:18.000000000 +0400
4+++ qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test 2010-10-04 17:35:07.587783460 +0400
5@@ -11,7 +11,7 @@
6 EXE=`basename "$6"`
7 DESCRIPTION=$7
8 shift 7
9-LFLAGS=""
10+LFLAGS="$LDFLAGS"
11 INCLUDEPATH=""
12 CXXFLAGS=""
13 MAC_ARCH_CXXFLAGS=""
diff --git a/meta-oe/recipes-qt/qt4/files/configure-lflags.patch b/meta-oe/recipes-qt/qt4/files/configure-lflags.patch
new file mode 100644
index 000000000..df195494e
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/configure-lflags.patch
@@ -0,0 +1,13 @@
1Index: qtopia-core-opensource-src-4.3.3/configure
2===================================================================
3--- qtopia-core-opensource-src-4.3.3.orig/configure 2008-01-14 08:53:51.000000000 +0000
4+++ qtopia-core-opensource-src-4.3.3/configure 2008-01-14 08:54:07.000000000 +0000
5@@ -447,7 +447,7 @@
6 # initalize variables
7 #-------------------------------------------------------------------------------
8
9-SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
10+SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS"
11 for varname in $SYSTEM_VARIABLES; do
12 cmd=`echo \
13 'if [ -n "\$'${varname}'" ]; then
diff --git a/meta-oe/recipes-qt/qt4/files/configure-paths.patch b/meta-oe/recipes-qt/qt4/files/configure-paths.patch
new file mode 100644
index 000000000..c9259a115
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/configure-paths.patch
@@ -0,0 +1,21 @@
1Index: qt-everywhere-opensource-src-4.6.3/configure
2===================================================================
3--- qt-everywhere-opensource-src-4.6.3.orig/configure 2011-01-10 15:47:37.100607001 +0000
4+++ qt-everywhere-opensource-src-4.6.3/configure 2011-01-10 15:49:14.576606999 +0000
5@@ -7198,11 +7198,11 @@
6 QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
7
8 #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
9-QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
10-QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
11-QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
12-QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
13-QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
14+QMAKE_MOC = \${OE_QMAKE_MOC}
15+QMAKE_UIC = \${OE_QMAKE_UIC}
16+QMAKE_UIC3 = \${OE_QMAKE_UIC3}
17+QMAKE_RCC = \${OE_QMAKE_RCC}
18+QMAKE_QDBUSXML2CPP = \${OE_QMAKE_QDBUSXML2CPP}
19 QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
20 QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
21
diff --git a/meta-oe/recipes-qt/qt4/files/fix-config-tests.patch b/meta-oe/recipes-qt/qt4/files/fix-config-tests.patch
new file mode 100644
index 000000000..21054555b
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/fix-config-tests.patch
@@ -0,0 +1,36 @@
1Fix invocation in case of "ccache some-compiler-gcc". As the command "ccache some-compiler-gcc" will not exist but "ccache" will.
2
3both visibility and relocs were affected.
4
5Ported from OE by: Yu Ke <ke.yu@intel.com>
6
7Index: qt-x11-opensource-src-4.5.2/config.tests/unix/bsymbolic_functions.test
8===================================================================
9--- qt-x11-opensource-src-4.5.2.orig/config.tests/unix/bsymbolic_functions.test 2009-08-01 08:01:11.000000000 +0200
10+++ qt-x11-opensource-src-4.5.2/config.tests/unix/bsymbolic_functions.test 2009-08-01 08:01:16.000000000 +0200
11@@ -8,7 +8,7 @@
12 int main() { return 0; }
13 EOF
14
15-"$COMPILER" -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
16+$COMPILER -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
17 rm -f bsymbolic_functions.c libtest.so
18
19 # done
20Index: qt-x11-opensource-src-4.5.2/config.tests/unix/fvisibility.test
21===================================================================
22--- qt-x11-opensource-src-4.5.2.orig/config.tests/unix/fvisibility.test 2009-06-20 06:57:50.000000000 +0200
23+++ qt-x11-opensource-src-4.5.2/config.tests/unix/fvisibility.test 2009-08-01 07:59:05.000000000 +0200
24@@ -15,9 +15,9 @@
25 EOF
26
27 if [ "$VERBOSE" = "yes" ] ; then
28- "$COMPILER" -c -fvisibility=hidden fvisibility.c && FVISIBILITY_SUPPORT=yes
29+ $COMPILER -c -fvisibility=hidden fvisibility.c && FVISIBILITY_SUPPORT=yes
30 else
31- "$COMPILER" -c -fvisibility=hidden fvisibility.c >/dev/null 2>&1 && FVISIBILITY_SUPPORT=yes
32+ $COMPILER -c -fvisibility=hidden fvisibility.c >/dev/null 2>&1 && FVISIBILITY_SUPPORT=yes
33 fi
34 rm -f fvisibility.c fvisibility.o
35 }
36
diff --git a/meta-oe/recipes-qt/qt4/files/g++.conf b/meta-oe/recipes-qt/qt4/files/g++.conf
new file mode 100644
index 000000000..4cd76e62e
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/g++.conf
@@ -0,0 +1,53 @@
1#
2# qmake configuration for common gcc
3#
4
5QMAKE_CC = $(OE_QMAKE_CC)
6QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
7QMAKE_CFLAGS_DEPS += -M
8QMAKE_CFLAGS_WARN_ON += -Wall -W
9QMAKE_CFLAGS_WARN_OFF += -w
10QMAKE_CFLAGS_RELEASE +=
11QMAKE_CFLAGS_DEBUG += -g
12QMAKE_CFLAGS_SHLIB += -fPIC
13QMAKE_CFLAGS_STATIC_LIB += -fPIC
14QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
15QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
16QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
17QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
18
19QMAKE_CXX = $(OE_QMAKE_CXX)
20QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
21QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
22QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
23QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
24QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
25QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
26QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
27QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
28QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
29QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
30QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
31QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
32
33QMAKE_LINK = $(OE_QMAKE_LINK)
34QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
35QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
36QMAKE_LFLAGS_RELEASE +=
37QMAKE_LFLAGS_DEBUG +=
38QMAKE_LFLAGS_APP +=
39QMAKE_LFLAGS_SHLIB += -shared
40QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
41QMAKE_LFLAGS_SONAME += -Wl,-soname,
42QMAKE_LFLAGS_THREAD +=
43QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
44QMAKE_RPATH = -Wl,-rpath-link,
45
46QMAKE_PCH_OUTPUT_EXT = .gch
47
48# -Bsymbolic-functions (ld) support
49QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
50QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
51
52# for the SDK
53isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
diff --git a/meta-oe/recipes-qt/qt4/files/hack-out-pg_config.patch b/meta-oe/recipes-qt/qt4/files/hack-out-pg_config.patch
new file mode 100644
index 000000000..650ed7745
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/hack-out-pg_config.patch
@@ -0,0 +1,30 @@
1Hack to not use the pg_config of the host system which will add /usr/include
2
3pg_config is a native binary so using that when cross compiling
4will always fail. The commented out fix would do, but for OE
5our -platform and -xplatform is the same so we are actually not
6really cross compiling. Just comment out the test, we are passing
7the location to the postgres headers and if they are okay we
8will padd.
9
10Ported from OE by: Yu Ke <ke.yu@intel.com>
11
12Index: qt-embedded-linux-opensource-src-4.5.2/configure
13===================================================================
14--- qt-embedded-linux-opensource-src-4.5.2.orig/configure 2009-08-10 03:03:04.000000000 +0200
15+++ qt-embedded-linux-opensource-src-4.5.2/configure 2009-08-10 03:58:11.000000000 +0200
16@@ -4401,10 +4402,10 @@
17 ;;
18 psql)
19 if [ "$CFG_SQL_psql" != "no" ]; then
20- if "$WHICH" pg_config >/dev/null 2>&1; then
21- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
22- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
23- fi
24+# if [ "$QT_CROSS_COMPILE" = "no" ] && "$WHICH" pg_config >/dev/null 2>&1; then
25+# QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
26+# QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
27+# fi
28 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
29 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
30 if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
diff --git a/meta-oe/recipes-qt/qt4/files/linux-oe-qmake.conf b/meta-oe/recipes-qt/qt4/files/linux-oe-qmake.conf
new file mode 100644
index 000000000..205b693fd
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/linux-oe-qmake.conf
@@ -0,0 +1,82 @@
1#
2# qmake configuration for linux-oe-g++ / OpenEmbedded Build System / http://openembedded.org
3#
4
5MAKEFILE_GENERATOR = UNIX
6TEMPLATE = app
7CONFIG += qt warn_on release
8
9QMAKE_CC = $(OE_QMAKE_CC)
10QMAKE_LEX = flex
11QMAKE_LEXFLAGS =
12QMAKE_YACC = yacc
13QMAKE_YACCFLAGS = -d
14QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS) $(CFLAGS_EXTRA)
15QMAKE_CFLAGS_WARN_ON = -Wall -W
16QMAKE_CFLAGS_WARN_OFF =
17QMAKE_CFLAGS_RELEASE = $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2)
18QMAKE_CFLAGS_DEBUG = -g
19QMAKE_CFLAGS_SHLIB = -fPIC
20QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
21QMAKE_CFLAGS_THREAD = -D_REENTRANT
22
23QMAKE_CXX = $(OE_QMAKE_CXX)
24QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) $(CXXFLAGS_EXTRA)
25QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
26QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
27QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
28QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
29QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
30QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
31QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
32
33QMAKE_INCDIR =
34QMAKE_LIBDIR =
35QMAKE_INCDIR_X11 =
36QMAKE_LIBDIR_X11 =
37QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
38QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
39QMAKE_INCDIR_OPENGL =
40QMAKE_LIBDIR_OPENGL =
41
42QMAKE_LINK = $(OE_QMAKE_LINK)
43QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
44QMAKE_LFLAGS = $(OE_QMAKE_LDFLAGS) $(LFLAGS_EXTRA)
45QMAKE_LFLAGS_RELEASE =
46QMAKE_LFLAGS_DEBUG =
47QMAKE_LFLAGS_SHLIB = -shared
48QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
49QMAKE_LFLAGS_SONAME = -Wl,-soname,
50QMAKE_LFLAGS_THREAD =
51QMAKE_RPATH = -Wl,-rpath-link,
52
53QMAKE_LIBS = $(LIBS_EXTRA)
54QMAKE_LIBS_DYNLOAD = -ldl
55QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
56QMAKE_LIBS_X11SM =
57QMAKE_LIBS_QT = -l$(OE_QMAKE_LIBS_QT)
58QMAKE_LIBS_QT_THREAD = -l$(OE_QMAKE_LIBS_QT)-mt
59QMAKE_LIBS_OPENGL = $(OE_QMAKE_LIBS_OPENGL)
60QMAKE_LIBS_OPENGL_QT = $(OE_QMAKE_LIBS_OPENGL_QT)
61QMAKE_LIBS_THREAD = -lpthread
62
63QMAKE_MOC = $(OE_QMAKE_MOC)
64QMAKE_UIC = $(OE_QMAKE_UIC)
65
66QMAKE_AR = $(OE_QMAKE_AR) cqs
67QMAKE_RANLIB =
68
69QMAKE_TAR = tar -cf
70QMAKE_GZIP = gzip -9f
71
72QMAKE_COPY = cp -f
73QMAKE_COPY_FILE = $(COPY)
74QMAKE_COPY_DIR = $(COPY) -r
75QMAKE_MOVE = mv -f
76QMAKE_DEL_FILE = rm -f
77QMAKE_DEL_DIR = rmdir
78QMAKE_STRIP = $(OE_QMAKE_STRIP)
79QMAKE_STRIPFLAGS_LIB += --strip-unneeded
80QMAKE_CHK_DIR_EXISTS = test -d
81QMAKE_MKDIR = mkdir -p
82
diff --git a/meta-oe/recipes-qt/qt4/files/linux.conf b/meta-oe/recipes-qt/qt4/files/linux.conf
new file mode 100644
index 000000000..90b8d65ab
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/linux.conf
@@ -0,0 +1,54 @@
1#
2# qmake configuration for common linux
3#
4
5QMAKE_CFLAGS_THREAD += -D_REENTRANT
6QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
7
8QMAKE_INCDIR =
9QMAKE_LIBDIR =
10QMAKE_INCDIR_X11 =
11QMAKE_LIBDIR_X11 =
12QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
13QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
14QMAKE_INCDIR_OPENGL =
15QMAKE_LIBDIR_OPENGL =
16
17
18QMAKE_LIBS =
19QMAKE_LIBS_DYNLOAD = -ldl
20QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
21QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
22QMAKE_LIBS_NIS = -lnsl
23QMAKE_LIBS_OPENGL = -lGLU -lGL
24QMAKE_LIBS_OPENGL_QT = -lGL
25QMAKE_LIBS_THREAD = -lpthread
26
27QMAKE_MOC = $(OE_QMAKE_MOC)
28QMAKE_UIC = $(OE_QMAKE_UIC)
29QMAKE_UIC3 = $(OE_QMAKE_UIC3)
30QMAKE_RCC = $(OE_QMAKE_RCC)
31QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
32QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
33
34QMAKE_AR = $(OE_QMAKE_AR) cqs
35QMAKE_OBJCOPY = objcopy
36QMAKE_RANLIB =
37
38QMAKE_TAR = tar -cf
39QMAKE_GZIP = gzip -9f
40
41QMAKE_COPY = cp -f
42QMAKE_COPY_FILE = $(COPY)
43QMAKE_COPY_DIR = $(COPY) -r
44QMAKE_MOVE = mv -f
45QMAKE_DEL_FILE = rm -f
46QMAKE_DEL_DIR = rmdir
47QMAKE_STRIP = $(OE_QMAKE_STRIP)
48QMAKE_STRIPFLAGS_LIB += --strip-unneeded
49QMAKE_CHK_DIR_EXISTS = test -d
50QMAKE_MKDIR = mkdir -p
51QMAKE_INSTALL_FILE = install -m 644 -p
52QMAKE_INSTALL_PROGRAM = install -m 755 -p
53
54include(unix.conf)
diff --git a/meta-oe/recipes-qt/qt4/files/mips-relocate.patch b/meta-oe/recipes-qt/qt4/files/mips-relocate.patch
new file mode 100644
index 000000000..2fde9a0dc
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/mips-relocate.patch
@@ -0,0 +1,28 @@
1Disable the LDFLAGS "-Bsymbolic-functions" for mips
2
3"-Bsymbolic-functions" flag makes ld to bind the global function symbol of shared library at compiling time, thus reduce the runtime relocation cost.
4
5However, this flag in binutil 2.20 cause QT4 mips building failure, which is "final link failed: Bad value" error in libQtWebKit.so linking stage. If downgrad to binutil 2.19, this error disappears. further investigation showes commit http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/scripttempl/mips.sc.diff?r1=1.2&r2=1.3&cvsroot=src cause this error.
6
7So this patch disable this flag for QT4 mips. If future binutils version fix this issue, this patch can be safely removed.
8
9Signed-off-by: Yu Ke <ke.yu@intel.com>
10
11diff --git a/configure b/configure
12index ca14279..5db9926 100755
13--- a/configure
14+++ b/configure
15@@ -3035,6 +3035,13 @@ if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
16 fi
17 fi
18
19+# Temporily disable -Bsymbolic-functions for mips, because libQtWebKit can not pass the build
20+# if has -Bsymbolic-functions and binutil 2.20
21+# -Bsymbolic-functions is OK in binutil 2.19
22+if [ "$CFG_ARCH" = "mips" ]; then
23+ CFG_REDUCE_RELOCATIONS=no
24+fi
25+
26 # auto-detect GNU make support
27 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
28 CFG_USE_GNUMAKE=yes
diff --git a/meta-oe/recipes-qt/qt4/files/qmake-exists-check.patch b/meta-oe/recipes-qt/qt4/files/qmake-exists-check.patch
new file mode 100644
index 000000000..cc73837e5
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/qmake-exists-check.patch
@@ -0,0 +1,18 @@
1qt4-tools-nativesdk: avoid rebuilding qmake
2
3qt4-tools-nativesdk patch to avoids building qmake in configure if it already exists
4(as it will, since we symlink it in from the native sysroot in do_configure)
5
6Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
7
8--- qt-everywhere-opensource-src-4.6.3.orig/configure 2011-01-10 12:01:56.260607001 +0000
9+++ qt-everywhere-opensource-src-4.6.3/configure 2011-01-10 12:02:20.584607015 +0000
10@@ -4286,7 +4286,7 @@
11 }
12
13 # build qmake
14-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
15+if [ '!' -f "$outpath/bin/qmake" ]; then
16 echo "Creating qmake. Please wait..."
17
18 OLD_QCONFIG_H=
diff --git a/meta-oe/recipes-qt/qt4/files/qmake-hack.diff b/meta-oe/recipes-qt/qt4/files/qmake-hack.diff
new file mode 100644
index 000000000..290f54052
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/qmake-hack.diff
@@ -0,0 +1,15 @@
1--- /tmp/configure 2010-02-10 15:41:58.000000000 +0100
2+++ qt-embedded-linux-opensource-src-4.4.3/configure 2010-02-10 15:42:01.000000000 +0100
3@@ -3946,6 +3946,12 @@
4 [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
5 [ '!' -z "$OLD_QCONFIG_H" ] && mv -f "${OLD_QCONFIG_H}.old" "$OLD_QCONFIG_H" #put back qconfig.h
6 [ "$QMAKE_BUILD_ERROR" = "yes" ] && exit 2
7+
8+# OE
9+if [ x$CROSSHACK = xtrue ] ; then
10+ echo "Exiting now, since we have what we want: a qmake binary"
11+ exit 0
12+fi
13 fi # Build qmake
14
15 #-------------------------------------------------------------------------------
diff --git a/meta-oe/recipes-qt/qt4/files/qt-config.patch b/meta-oe/recipes-qt/qt4/files/qt-config.patch
new file mode 100644
index 000000000..a31e7b3e2
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/qt-config.patch
@@ -0,0 +1,24 @@
1
2Ported from OE by: Yu Ke <ke.yu@intel.com>
3
4--- /tmp/qlibraryinfo.cpp 2008-08-02 17:16:41.000000000 +0200
5+++ qt-embedded-linux-opensource-src-4.4.1/src/corelib/global/qlibraryinfo.cpp 2008-08-02 17:17:42.000000000 +0200
6@@ -47,6 +47,7 @@
7 QT_BEGIN_NAMESPACE
8 extern QString qmake_libraryInfoFile();
9 QT_END_NAMESPACE
10+#include <stdlib.h>
11 #else
12 # include "qcoreapplication.h"
13 #endif
14@@ -113,6 +114,10 @@
15 #ifdef QT_BUILD_QMAKE
16 if(!QFile::exists(qtconfig))
17 qtconfig = qmake_libraryInfoFile();
18+ if (!QFile::exists(qtconfig)) {
19+ QByteArray config = getenv("QT_CONF_PATH");
20+ qtconfig = QFile::decodeName(config);
21+ }
22 #else
23 if (!QFile::exists(qtconfig) && QCoreApplication::instance()) {
24 #ifdef Q_OS_MAC
diff --git a/meta-oe/recipes-qt/qt4/files/qte.sh b/meta-oe/recipes-qt/qt4/files/qte.sh
new file mode 100644
index 000000000..21d6ecbd6
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/qte.sh
@@ -0,0 +1,7 @@
1#!/bin/sh
2
3if [ -e /dev/input/touchscreen0 ]
4then
5 QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0
6 export QWS_MOUSE_PROTO
7fi
diff --git a/meta-oe/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch b/meta-oe/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch
new file mode 100644
index 000000000..1d250d8a9
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch
@@ -0,0 +1,86 @@
1qt-embedded: fix linker error in do_compile
2
3This patch ensures that we link to libQtCLucene where required (i.e. when
4linking to libQtHelp) avoiding a linker error.
5
6Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
7
8Index: qt-everywhere-opensource-src-4.6.3/demos/qtdemo/qtdemo.pro
9===================================================================
10--- qt-everywhere-opensource-src-4.6.3.orig/demos/qtdemo/qtdemo.pro 2011-01-11 16:06:47.382828004 +0000
11+++ qt-everywhere-opensource-src-4.6.3/demos/qtdemo/qtdemo.pro 2011-01-11 16:10:06.906828001 +0000
12@@ -76,3 +76,10 @@
13 sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES qtdemo.pro images xml *.ico *.icns *.rc *.plist
14 sources.path = $$[QT_INSTALL_DEMOS]/qtdemo
15
16+qclucene = QtCLucene$${QT_LIBINFIX}
17+if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
18+ mac:qclucene = $${qclucene}_debug
19+ win32:qclucene = $${qclucene}d
20+}
21+linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
22+LIBS_PRIVATE += -l$$qclucene
23Index: qt-everywhere-opensource-src-4.6.3/examples/help/contextsensitivehelp/contextsensitivehelp.pro
24===================================================================
25--- qt-everywhere-opensource-src-4.6.3.orig/examples/help/contextsensitivehelp/contextsensitivehelp.pro 2011-01-11 16:05:56.598828002 +0000
26+++ qt-everywhere-opensource-src-4.6.3/examples/help/contextsensitivehelp/contextsensitivehelp.pro 2011-01-11 16:09:57.762828002 +0000
27@@ -18,3 +18,11 @@
28 INSTALLS += target sources
29
30 symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
31+
32+qclucene = QtCLucene$${QT_LIBINFIX}
33+if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
34+ mac:qclucene = $${qclucene}_debug
35+ win32:qclucene = $${qclucene}d
36+}
37+linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
38+LIBS_PRIVATE += -l$$qclucene
39Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/assistant/assistant.pro
40===================================================================
41--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/assistant/assistant.pro 2011-01-11 14:56:50.902828001 +0000
42+++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/assistant/assistant.pro 2011-01-11 16:09:39.914828003 +0000
43@@ -85,3 +85,11 @@
44 DEFINES += USE_STATIC_SQLITE_PLUGIN
45 }
46 }
47+
48+qclucene = QtCLucene$${QT_LIBINFIX}
49+if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
50+ mac:qclucene = $${qclucene}_debug
51+ win32:qclucene = $${qclucene}d
52+}
53+linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
54+LIBS_PRIVATE += -l$$qclucene
55Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro
56===================================================================
57--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro 2011-01-11 14:56:50.918828002 +0000
58+++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro 2011-01-11 16:09:44.538828001 +0000
59@@ -12,3 +12,11 @@
60 main.cpp
61
62 HEADERS += ../shared/helpgenerator.h
63+
64+qclucene = QtCLucene$${QT_LIBINFIX}
65+if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
66+ mac:qclucene = $${qclucene}_debug
67+ win32:qclucene = $${qclucene}d
68+}
69+linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
70+LIBS_PRIVATE += -l$$qclucene
71Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro
72===================================================================
73--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro 2011-01-11 14:56:50.930828002 +0000
74+++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro 2011-01-11 16:09:50.274828003 +0000
75@@ -12,3 +12,11 @@
76 main.cpp
77
78 HEADERS += ../shared/helpgenerator.h
79+
80+qclucene = QtCLucene$${QT_LIBINFIX}
81+if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
82+ mac:qclucene = $${qclucene}_debug
83+ win32:qclucene = $${qclucene}d
84+}
85+linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
86+LIBS_PRIVATE += -l$$qclucene
diff --git a/meta-oe/recipes-qt/qt4/files/use-lflags-last.patch b/meta-oe/recipes-qt/qt4/files/use-lflags-last.patch
new file mode 100644
index 000000000..4197dbbf6
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/files/use-lflags-last.patch
@@ -0,0 +1,22 @@
1Index: qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp
2===================================================================
3--- qtopia-core-opensource-src-4.3.1.orig/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:45:26.000000000 +0200
4+++ qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:57:09.000000000 +0200
5@@ -416,7 +416,7 @@
6 t << "\n\t" << mkdir_p_asstring(destdir) << "\n\t";
7 if(!project->isEmpty("QMAKE_PRE_LINK"))
8 t << var("QMAKE_PRE_LINK") << "\n\t";
9- t << "$(LINK) $(LFLAGS) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS)";
10+ t << "$(LINK) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS) $(LFLAGS)";
11 if(!project->isEmpty("QMAKE_POST_LINK"))
12 t << "\n\t" << var("QMAKE_POST_LINK");
13 t << endl << endl;
14@@ -430,7 +430,7 @@
15 t << mkdir_p_asstring(destdir) << "\n\t";
16 if(!project->isEmpty("QMAKE_PRE_LINK"))
17 t << var("QMAKE_PRE_LINK") << "\n\t";
18- t << "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)";
19+ t << "$(LINK) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) $(LFLAGS)";
20 if(!project->isEmpty("QMAKE_POST_LINK"))
21 t << "\n\t" << var("QMAKE_POST_LINK");
22 t << endl << endl;
diff --git a/meta-oe/recipes-qt/qt4/qmake2-sdk/linux-oe-qmake.conf b/meta-oe/recipes-qt/qt4/qmake2-sdk/linux-oe-qmake.conf
new file mode 100644
index 000000000..f58481a69
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qmake2-sdk/linux-oe-qmake.conf
@@ -0,0 +1 @@
include(../linux-g++/qmake.conf)
diff --git a/meta-oe/recipes-qt/qt4/qmake2.inc b/meta-oe/recipes-qt/qt4/qmake2.inc
new file mode 100644
index 000000000..f2631b5f7
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qmake2.inc
@@ -0,0 +1,69 @@
1DESCRIPTION = "TrollTech Makefile Generator"
2PRIORITY = "optional"
3HOMEPAGE = "http://www.trolltech.com"
4SECTION = "devel"
5LICENSE = "GPL"
6PR = "r12"
7
8# We call 'moc' during the build
9DEPENDS = "qt4-tools-native"
10
11QTVER = "qt-embedded-linux-opensource-src-${QTVERSION}"
12
13SRC_URI = "ftp://ftp.trolltech.com/qt/source/${QTVER}.tar.bz2 \
14 file://0001-fix-mkspecs.patch \
15 file://qt-config.patch \
16 file://use-lflags-last.patch \
17 file://linux-oe-qmake.conf"
18S = "${WORKDIR}/${QTVER}"
19
20inherit autotools
21
22CROSSHACK = "true"
23CROSSHACK_virtclass-native = ""
24CROSSHACK_virtclass-nativesdk = ""
25
26export CROSSHACK
27export QTDIR = "${S}"
28EXTRA_OEMAKE = "-e"
29
30TARGET_CC_ARCH += "${LDFLAGS}"
31
32do_configure() {
33
34 # Make sure we regenerate all Makefiles
35 find ${S} -name "Makefile" | xargs rm
36 # Install the OE build templates
37 for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++ linux-uclibceabi-oe-g++
38 do
39 install -d ${S}/mkspecs/$template
40 install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf
41 ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h
42 done
43
44 QMAKESPEC=
45 PLATFORM=${HOST_OS}-oe-g++
46 export PLATFORM
47 export OE_QMAKE_CC="${CC}"
48 export OE_QMAKE_CFLAGS="${CFLAGS}"
49 export OE_QMAKE_CXX="${CXX}"
50 export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}"
51 export OE_QMAKE_LDFLAGS="${LDFLAGS}"
52 export OE_QMAKE_LINK="${CCLD}"
53 export OE_QMAKE_AR="${AR}"
54 export OE_QMAKE_STRIP="${STRIP}"
55 export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic4"
56 export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc4"
57 export QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc4"
58 export OE_QMAKE_RCC="${STAGING_BINDIR_NATIVE}/rcc4"
59 export QMAKE_RCC="${STAGING_BINDIR_NATIVE}/rcc4"
60 export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake"
61 export OE_QMAKE_RPATH="-Wl,-rpath-link,"
62 echo yes | ./configure -prefix ${STAGING_DIR_NATIVE}/qt4 ${EXTRA_OECONF} || die "Configuring qt failed"
63}
64
65do_compile() {
66 :
67}
68
69FILES_${PN} += "${datadir}/qt4/"
diff --git a/meta-oe/recipes-qt/qt4/qmake2/linux-oe-qmake.conf b/meta-oe/recipes-qt/qt4/qmake2/linux-oe-qmake.conf
new file mode 100644
index 000000000..f58481a69
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qmake2/linux-oe-qmake.conf
@@ -0,0 +1 @@
include(../linux-g++/qmake.conf)
diff --git a/meta-oe/recipes-qt/qt4/qmake2_2.10a.bb b/meta-oe/recipes-qt/qt4/qmake2_2.10a.bb
new file mode 100644
index 000000000..3602a7f24
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qmake2_2.10a.bb
@@ -0,0 +1,60 @@
1QTVERSION="4.4.3"
2FILESDIR += "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qmake2"
3
4BBCLASSEXTEND = "native nativesdk"
5
6require ${PN}.inc
7
8SRC_URI += "file://qmake-hack.diff"
9
10do_install() {
11 install -d ${D}/${bindir}
12 install -m 0755 bin/qmake ${D}/${bindir}/qmake2
13 install -m 0755 bin/qmake ${D}/${bindir}/qmake-qt4
14 install -d ${D}/${datadir}/qt4
15 install -d ${D}/${datadir}/qtopia
16
17 script="${D}/${datadir}/qtopia/environment-setup"
18 touch $script
19 echo 'export QT_DIR_NAME=qtopia' >> $script
20 echo 'export QT_LIBINFIX=E' >> $script
21 echo 'export OE_QMAKE_AR=ar' >> $script
22 echo 'export OE_QMAKE_CC=gcc' >> $script
23 echo 'export OE_QMAKE_CXX=g++' >> $script
24 echo 'export OE_QMAKE_LINK=g++' >> $script
25 echo 'export OE_QMAKE_LIBDIR_QT=${libdir}' >> $script
26 echo 'export OE_QMAKE_INCDIR_QT=${includedir}/qtopia' >> $script
27 echo 'export OE_QMAKE_MOC=${bindir}/moc' >> $script
28 echo 'export OE_QMAKE_UIC=${bindir}/uic' >> $script
29 echo 'export OE_QMAKE_UIC3=${bindir}/uic3' >> $script
30 echo 'export OE_QMAKE_RCC=${bindir}/rcc' >> $script
31 echo 'export OE_QMAKE_QDBUSCPP2XML=${bindir}/qdbuscpp2xml' >> $script
32 echo 'export OE_QMAKE_QDBUSXML2CPP=${bindir}/qdbusxml2cpp' >> $script
33 echo 'export OE_QMAKE_QT_CONFIG=${datadir}/qtopia/mkspecs/qconfig.pri' >> $script
34 echo 'export QMAKESPEC=${datadir}/qtopia/mkspecs/linux-g++' >> $script
35
36 script="${D}/${datadir}/qt4/environment-setup"
37 touch $script
38 echo 'export OE_QMAKE_AR=ar' >> $script
39 echo 'export OE_QMAKE_CC=gcc' >> $script
40 echo 'export OE_QMAKE_CXX=g++' >> $script
41 echo 'export OE_QMAKE_LINK=g++' >> $script
42 echo 'export OE_QMAKE_LIBDIR_QT=${libdir}' >> $script
43 echo 'export OE_QMAKE_INCDIR_QT=${includedir}/qt4' >> $script
44 echo 'export OE_QMAKE_MOC=${bindir}/moc' >> $script
45 echo 'export OE_QMAKE_UIC=${bindir}/uic' >> $script
46 echo 'export OE_QMAKE_UIC3=${bindir}/uic3' >> $script
47 echo 'export OE_QMAKE_RCC=${bindir}/rcc' >> $script
48 echo 'export OE_QMAKE_QDBUSCPP2XML=${bindir}/qdbuscpp2xml' >> $script
49 echo 'export OE_QMAKE_QDBUSXML2CPP=${bindir}/qdbusxml2cpp' >> $script
50 echo 'export OE_QMAKE_QT_CONFIG=${datadir}/qt4/mkspecs/qconfig.pri' >> $script
51 echo 'export QMAKESPEC=${datadir}/qt4/mkspecs/linux-g++' >> $script
52
53 chmod 0755 ${D}${datadir}/qt*/environment-setup
54}
55
56FILES_${PN} += "${datadir}/qt*/environment-setup"
57
58
59SRC_URI[md5sum] = "9a639aec44a1e4c70040117183d247a3"
60SRC_URI[sha256sum] = "05d06b93f95092f1318634fca24f0c2d0a1252c9f1dc2fbb427b07e8ecbb4f39"
diff --git a/meta-oe/recipes-qt/qt4/qt-4.6.0/.1165-NEON-configure-detection-and-initial-blend-function-.patch.swp b/meta-oe/recipes-qt/qt4/qt-4.6.0/.1165-NEON-configure-detection-and-initial-blend-function-.patch.swp
new file mode 100644
index 000000000..5a11254f6
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt-4.6.0/.1165-NEON-configure-detection-and-initial-blend-function-.patch.swp
Binary files differ
diff --git a/meta-oe/recipes-qt/qt4/qt-4.6.3.inc b/meta-oe/recipes-qt/qt4/qt-4.6.3.inc
new file mode 100644
index 000000000..a41b48318
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt-4.6.3.inc
@@ -0,0 +1,56 @@
1LICENSE = "LGPLv2.1 | GPLv3"
2LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
3 file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
4 file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
5
6SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
7 file://0001-cross-compile.patch \
8 file://0002-fix-resinit-declaration.patch \
9 file://0004-no-qmake.patch \
10 file://0006-freetype-host-includes.patch \
11 file://0008-qt-lib-infix.patch \
12 file://0009-support-2bpp.patch \
13 file://0010-no-simpledecoration-example.patch \
14 file://fix-config-tests.patch \
15 file://qt-config.patch \
16 file://g++.conf \
17 file://linux.conf \
18 file://hack-out-pg_config.patch \
19 file://mips-relocate.patch \
20 "
21
22SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
23SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
24
25S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
26
27do_configure_prepend() {
28 for pro in $(find ${S} -name "*.pro") ; do
29 sed -i 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' $pro
30 done
31
32 sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
33 sed -i \
34 -e /QMAKE_MOC\ /d \
35 -e /QMAKE_UIC\ /d \
36 -e /QMAKE_UIC3\ /d \
37 -e /QMAKE_RCC\ /d \
38 ${S}/configure
39}
40
41do_configure_append() {
42 sed -e '/QMAKE_TARGET /d' -e '/TARGET /d' -i ${S}/translations/Makefile
43}
44
45QT_GLFLAGS ?= ""
46QT_CONFIG_FLAGS += " -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}"
47
48do_compile() {
49 # Fixup missing wsegl header in some SGX SDKs
50 if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
51 cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
52 fi
53
54 unset CFLAGS CXXFLAGS
55 oe_runmake ${EXTRA_ENV}
56}
diff --git a/meta-oe/recipes-qt/qt4/qt-4.7.1.inc b/meta-oe/recipes-qt/qt4/qt-4.7.1.inc
new file mode 100644
index 000000000..70ee59697
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt-4.7.1.inc
@@ -0,0 +1,58 @@
1LICENSE = "LGPLv2.1 | GPLv3"
2LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
3 file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
4 file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
5
6FILESPATH =. "${FILE_DIRNAME}/qt-${PV}:"
7
8SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
9 file://0004-no-qmake.patch \
10 file://hack-out-pg2-4.7.0.patch \
11 file://0006-freetype-host-includes.patch \
12 file://0001-Added-Openembedded-crossarch-option.patch \
13 file://g++.conf \
14 file://linux.conf \
15 "
16
17SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
18SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
19
20S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
21
22FILES_${QT_BASE_NAME}-tools += "${bindir}/qml"
23
24do_configure_prepend() {
25 for pro in $(find ${S} -name "*.pro") ; do
26 sed -i 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' $pro
27 done
28
29 sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
30 sed -i \
31 -e /QMAKE_MOC\ /d \
32 -e /QMAKE_UIC\ /d \
33 -e /QMAKE_UIC3\ /d \
34 -e /QMAKE_RCC\ /d \
35 ${S}/configure
36}
37
38do_configure_append() {
39 sed -e '/QMAKE_TARGET /d' -e '/TARGET /d' -i ${S}/translations/Makefile
40}
41
42QT_GLFLAGS ?= ""
43QT_CONFIG_FLAGS += " -xmlpatterns -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}"
44
45do_compile() {
46 # Fixup missing wsegl header in some SGX SDKs
47 if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
48 cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
49 fi
50
51 unset CFLAGS CXXFLAGS
52 install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
53 install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
54 install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
55 install -m 0755 ${STAGING_BINDIR_NATIVE}/lrelease4 ${S}/bin/lrelease
56
57 oe_runmake ${EXTRA_ENV}
58}
diff --git a/meta-oe/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch b/meta-oe/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch
new file mode 100644
index 000000000..71a04a59d
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch
@@ -0,0 +1,44 @@
1From b1ba119f6a824dc01bd42ee00dba4a1653867b72 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Matthias=20G=C3=BCnther?= <matgnt@gmail.com>
3Date: Wed, 12 May 2010 16:52:45 +0200
4Subject: [PATCH 1/9] Added Openembedded "-crossarch" option
5
6---
7 configure | 7 ++++++-
8 1 files changed, 6 insertions(+), 1 deletions(-)
9
10diff --git a/configure b/configure
11index facd192..9d15136 100755
12--- a/configure
13+++ b/configure
14@@ -954,7 +954,7 @@ while [ "$#" -gt 0 ]; do
15 shift
16 VAL=$1
17 ;;
18- -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
19+ -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch)
20 VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
21 shift
22 VAL="$1"
23@@ -1443,6 +1443,9 @@ while [ "$#" -gt 0 ]; do
24 xplatform)
25 XPLATFORM="$VAL"
26 ;;
27+ crossarch)
28+ CROSSARCH="$VAL"
29+ ;;
30 debug-and-release)
31 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
32 CFG_DEBUG_RELEASE="$VAL"
33@@ -2918,6 +2921,8 @@ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
34 CFG_ARCH=$CFG_HOST_ARCH
35 fi
36
37+CFG_ARCH="$CROSSARCH"
38+
39 if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
40 if [ "$OPT_VERBOSE" = "yes" ]; then
41 echo " '$CFG_ARCH' is supported"
42--
431.7.0.4
44
diff --git a/meta-oe/recipes-qt/qt4/qt-4.7.1/g++.conf b/meta-oe/recipes-qt/qt4/qt-4.7.1/g++.conf
new file mode 100644
index 000000000..80f925cc5
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt-4.7.1/g++.conf
@@ -0,0 +1,60 @@
1#
2# qmake configuration for common gcc
3#
4
5QMAKE_CC = $(OE_QMAKE_CC)
6QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
7QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
8QMAKE_CFLAGS_DEPS += -M
9QMAKE_CFLAGS_WARN_ON += -Wall -W
10QMAKE_CFLAGS_WARN_OFF += -w
11QMAKE_CFLAGS_RELEASE +=
12QMAKE_CFLAGS_DEBUG += -g
13QMAKE_CFLAGS_SHLIB += -fPIC
14QMAKE_CFLAGS_STATIC_LIB += -fPIC
15QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
16QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
17QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
18QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
19
20QMAKE_CXX = $(OE_QMAKE_CXX)
21QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
22QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
23QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
24QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
25QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
26QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
27QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
28QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
29QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
30QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
31QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
32QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
33QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
34
35QMAKE_LINK = $(OE_QMAKE_LINK)
36QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
37QMAKE_LINK_C = $(OE_QMAKE_LINK)
38QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
39QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
40QMAKE_LFLAGS_RELEASE +=
41QMAKE_LFLAGS_DEBUG +=
42QMAKE_LFLAGS_APP +=
43QMAKE_LFLAGS_SHLIB += -shared
44QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
45QMAKE_LFLAGS_SONAME += -Wl,-soname,
46QMAKE_LFLAGS_THREAD +=
47QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
48QMAKE_LFLAGS_RPATH = -Wl,-rpath-link,
49
50QMAKE_PCH_OUTPUT_EXT = .gch
51
52# -Bsymbolic-functions (ld) support
53QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
54QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
55
56# some linking helper...
57CONFIG += rpath_libdirs
58
59# for the SDK
60isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
diff --git a/meta-oe/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch b/meta-oe/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch
new file mode 100644
index 000000000..5c588ff0f
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch
@@ -0,0 +1,19 @@
1Index: qt-everywhere-opensource-src-4.7.0/configure
2===================================================================
3--- qt-everywhere-opensource-src-4.7.0.orig/configure 2010-09-22 15:43:51.191162141 -0400
4+++ qt-everywhere-opensource-src-4.7.0/configure 2010-09-22 15:44:35.179981232 -0400
5@@ -4921,10 +4921,10 @@
6 psql)
7 if [ "$CFG_SQL_psql" != "no" ]; then
8 # Be careful not to use native pg_config when cross building.
9- if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
10- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
11- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
12- fi
13+# if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
14+# QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
15+# QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
16+# fi
17 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
18 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
19 # But, respect PSQL_LIBS if set
diff --git a/meta-oe/recipes-qt/qt4/qt-4.7.1/linux.conf b/meta-oe/recipes-qt/qt4/qt-4.7.1/linux.conf
new file mode 100644
index 000000000..a54135513
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt-4.7.1/linux.conf
@@ -0,0 +1,66 @@
1#
2# qmake configuration for common linux
3#
4
5QMAKE_CFLAGS_THREAD += -D_REENTRANT
6QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
7
8QMAKE_INCDIR =
9QMAKE_LIBDIR =
10QMAKE_INCDIR_X11 =
11QMAKE_LIBDIR_X11 =
12QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
13QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
14QMAKE_INCDIR_OPENGL =
15QMAKE_LIBDIR_OPENGL =
16QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
17QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
18QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
19QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
20QMAKE_INCDIR_EGL =
21QMAKE_LIBDIR_EGL =
22QMAKE_INCDIR_OPENVG =
23QMAKE_LIBDIR_OPENVG =
24
25
26QMAKE_LIBS =
27QMAKE_LIBS_DYNLOAD = -ldl
28QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
29QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
30QMAKE_LIBS_NIS = -lnsl
31QMAKE_LIBS_EGL = -lEGL
32QMAKE_LIBS_OPENGL = -lGLU -lGL
33QMAKE_LIBS_OPENGL_QT = -lGL
34QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
35QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
36QMAKE_LIBS_OPENVG = -lOpenVG
37QMAKE_LIBS_THREAD = -lpthread
38
39QMAKE_MOC = $(OE_QMAKE_MOC)
40QMAKE_UIC = $(OE_QMAKE_UIC)
41QMAKE_UIC3 = $(OE_QMAKE_UIC3)
42QMAKE_RCC = $(OE_QMAKE_RCC)
43QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
44QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
45
46QMAKE_AR = $(OE_QMAKE_AR) cqs
47QMAKE_OBJCOPY = objcopy
48QMAKE_RANLIB =
49
50QMAKE_TAR = tar -cf
51QMAKE_GZIP = gzip -9f
52
53QMAKE_COPY = cp -f
54QMAKE_COPY_FILE = $(COPY)
55QMAKE_COPY_DIR = $(COPY) -r
56QMAKE_MOVE = mv -f
57QMAKE_DEL_FILE = rm -f
58QMAKE_DEL_DIR = rmdir
59QMAKE_STRIP = $(OE_QMAKE_STRIP)
60QMAKE_STRIPFLAGS_LIB += --strip-unneeded
61QMAKE_CHK_DIR_EXISTS = test -d
62QMAKE_MKDIR = mkdir -p
63QMAKE_INSTALL_FILE = install -m 644 -p
64QMAKE_INSTALL_PROGRAM = install -m 755 -p
65
66include(unix.conf)
diff --git a/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0006-freetype-host-includes.patch b/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0006-freetype-host-includes.patch
new file mode 100644
index 000000000..987c42513
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0006-freetype-host-includes.patch
@@ -0,0 +1,20 @@
1From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net>
3Date: Mon, 4 Jun 2007 14:48:50 +0200
4Subject: [PATCH] freetype host includes
5
6---
7 config.tests/unix/freetype/freetype.pri | 2 +-
8 1 files changed, 1 insertions(+), 1 deletions(-)
9
10Index: qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri
11===================================================================
12--- qt-embedded-linux-opensource-src-4.5.0.orig/config.tests/unix/freetype/freetype.pri 2009-02-25 22:32:32.000000000 +0100
13+++ qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri 2009-03-26 17:14:16.000000000 +0100
14@@ -1,5 +1,5 @@
15 !cross_compile {
16- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
17+ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
18 # LSB doesn't allow using headers from /include or /usr/include
19 linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
20 for(p, TRY_INCLUDEPATHS) {
diff --git a/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0008-qt-lib-infix.patch b/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0008-qt-lib-infix.patch
new file mode 100644
index 000000000..61e60a0eb
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0008-qt-lib-infix.patch
@@ -0,0 +1,32 @@
1--- /tmp/uitools.prf 2009-12-01 18:38:22.000000000 +0100
2+++ qt-everywhere-opensource-src-4.6.0/mkspecs/features/uitools.prf 2009-12-01 18:58:16.000000000 +0100
3@@ -3,11 +3,11 @@
4
5 # Include the correct version of the UiLoader library
6 symbian: QTUITOOLS_LINKAGE = -lQtUiTools.lib
7-else: QTUITOOLS_LINKAGE = -lQtUiTools
8+else: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}
9
10 CONFIG(debug, debug|release) {
11- mac: QTUITOOLS_LINKAGE = -lQtUiTools_debug
12- win32: QTUITOOLS_LINKAGE = -lQtUiToolsd
13+ mac: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}_debug
14+ win32: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}d
15 }
16 LIBS += $$QTUITOOLS_LINKAGE
17
18--- /tmp/uitools.pro 2009-12-01 18:40:28.000000000 +0100
19+++ qt-everywhere-opensource-src-4.6.0/tools/designer/src/uitools/uitools.pro 2009-12-01 18:59:18.000000000 +0100
20@@ -1,5 +1,5 @@
21 TEMPLATE = lib
22-TARGET = $$qtLibraryTarget(QtUiTools)
23+TARGET = QtUiTools
24 QT += xml
25 CONFIG += qt staticlib
26 DESTDIR = ../../../../lib
27@@ -43,3 +43,5 @@
28 QMAKE_PKGCONFIG_DESTDIR = pkgconfig
29 QMAKE_PKGCONFIG_REQUIRES += QtXml
30 }
31+
32+TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
diff --git a/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0010-no-simpledecoration-example.patch b/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0010-no-simpledecoration-example.patch
new file mode 100644
index 000000000..fce5bba93
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/0010-no-simpledecoration-example.patch
@@ -0,0 +1,11 @@
1--- /tmp/qws.pro 2009-12-10 19:30:08.000000000 +0100
2+++ qt-everywhere-opensource-src-4.6.0/examples/qws/qws.pro 2009-12-10 19:30:21.000000000 +0100
3@@ -1,7 +1,7 @@
4 TEMPLATE = subdirs
5 # no /dev/fbX
6 !qnx:!vxworks:SUBDIRS = framebuffer
7-SUBDIRS += mousecalibration simpledecoration
8+SUBDIRS += mousecalibration
9
10 # install
11 sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS README *.pro
diff --git a/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/linux.conf b/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/linux.conf
new file mode 100644
index 000000000..68ae80b92
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-embedded-4.6.3/linux.conf
@@ -0,0 +1,54 @@
1#
2# qmake configuration for common linux
3#
4
5QMAKE_CFLAGS_THREAD += -D_REENTRANT
6QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
7
8QMAKE_INCDIR =
9QMAKE_LIBDIR =
10QMAKE_INCDIR_X11 =
11QMAKE_LIBDIR_X11 =
12QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
13QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
14QMAKE_INCDIR_OPENGL =
15QMAKE_LIBDIR_OPENGL =
16
17
18QMAKE_LIBS = -Wl,-rpath-link,SEDME/lib -lglib-2.0
19QMAKE_LIBS_DYNLOAD = -ldl
20QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
21QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
22QMAKE_LIBS_NIS = -lnsl
23QMAKE_LIBS_OPENGL = -lGLU -lGL
24QMAKE_LIBS_OPENGL_QT = -lGL
25QMAKE_LIBS_THREAD = -lpthread
26
27QMAKE_MOC = $(OE_QMAKE_MOC)
28QMAKE_UIC = $(OE_QMAKE_UIC)
29QMAKE_UIC3 = $(OE_QMAKE_UIC3)
30QMAKE_RCC = $(OE_QMAKE_RCC)
31QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
32QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
33
34QMAKE_AR = $(OE_QMAKE_AR) cqs
35QMAKE_OBJCOPY = ${OBJCOPY}
36QMAKE_RANLIB =
37
38QMAKE_TAR = tar -cf
39QMAKE_GZIP = gzip -9f
40
41QMAKE_COPY = cp -f
42QMAKE_COPY_FILE = $(COPY)
43QMAKE_COPY_DIR = $(COPY) -r
44QMAKE_MOVE = mv -f
45QMAKE_DEL_FILE = rm -f
46QMAKE_DEL_DIR = rmdir
47QMAKE_STRIP = $(OE_QMAKE_STRIP)
48QMAKE_STRIPFLAGS_LIB += --strip-unneeded
49QMAKE_CHK_DIR_EXISTS = test -d
50QMAKE_MKDIR = mkdir -p
51QMAKE_INSTALL_FILE = install -m 644 -p
52QMAKE_INSTALL_PROGRAM = install -m 755 -p
53
54include(unix.conf)
diff --git a/meta-oe/recipes-qt/qt4/qt4-embedded.inc b/meta-oe/recipes-qt/qt4/qt4-embedded.inc
new file mode 100644
index 000000000..2ed1819f6
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-embedded.inc
@@ -0,0 +1,34 @@
1DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the embedded version."
2SECTION = "libs"
3LICENSE = "LGPLv2.1 | GPLv3"
4PRIORITY = "optional"
5HOMEPAGE = "http://qt.nokia.com"
6DEPENDS += "directfb tslib"
7INC_PR = "r26"
8
9QT_BASE_NAME ?= "qt4-embedded"
10QT_BASE_LIB ?= "libqt-embedded"
11
12# Set necessary variables in the profile
13SRC_URI += "file://qte.sh"
14
15QT_CONFIG_FLAGS += " \
16 -embedded ${QT_ARCH} \
17 -qtlibinfix ${QT_LIBINFIX} \
18 -plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc -plugin-gfx-directfb \
19 -plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb -qt-mouse-linuxinput \
20 -qt-kbd-tty \
21 -DQT_KEYPAD_NAVIGATION \
22 "
23
24require qt4.inc
25
26do_install_append() {
27 install -d ${D}${sysconfdir}/profile.d/
28 install -m 0755 ${WORKDIR}/qte.sh ${D}${sysconfdir}/profile.d/
29}
30
31FILES_${PN} += " ${sysconfdir}/profile.d/qte.sh"
32
33inherit qt4e
34
diff --git a/meta-oe/recipes-qt/qt4/qt4-embedded/0006-freetype-host-includes.patch b/meta-oe/recipes-qt/qt4/qt4-embedded/0006-freetype-host-includes.patch
new file mode 100644
index 000000000..987c42513
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-embedded/0006-freetype-host-includes.patch
@@ -0,0 +1,20 @@
1From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net>
3Date: Mon, 4 Jun 2007 14:48:50 +0200
4Subject: [PATCH] freetype host includes
5
6---
7 config.tests/unix/freetype/freetype.pri | 2 +-
8 1 files changed, 1 insertions(+), 1 deletions(-)
9
10Index: qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri
11===================================================================
12--- qt-embedded-linux-opensource-src-4.5.0.orig/config.tests/unix/freetype/freetype.pri 2009-02-25 22:32:32.000000000 +0100
13+++ qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri 2009-03-26 17:14:16.000000000 +0100
14@@ -1,5 +1,5 @@
15 !cross_compile {
16- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
17+ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
18 # LSB doesn't allow using headers from /include or /usr/include
19 linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
20 for(p, TRY_INCLUDEPATHS) {
diff --git a/meta-oe/recipes-qt/qt4/qt4-embedded_4.6.3.bb b/meta-oe/recipes-qt/qt4/qt4-embedded_4.6.3.bb
new file mode 100644
index 000000000..dd662aa3d
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-embedded_4.6.3.bb
@@ -0,0 +1,9 @@
1require qt-${PV}.inc
2require qt4-embedded.inc
3
4SRC_URI += "file://qthelp-lib-qtclucene.patch"
5
6PR = "${INC_PR}.1"
7
8QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
9
diff --git a/meta-oe/recipes-qt/qt4/qt4-embedded_4.7.1.bb b/meta-oe/recipes-qt/qt4/qt4-embedded_4.7.1.bb
new file mode 100644
index 000000000..c3f671319
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-embedded_4.7.1.bb
@@ -0,0 +1,10 @@
1require qt-${PV}.inc
2require qt4-embedded.inc
3
4PR = "${INC_PR}.1"
5
6QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
7
8QT_CONFIG_FLAGS += " \
9 -exceptions \
10"
diff --git a/meta-oe/recipes-qt/qt4/qt4-tools-native.inc b/meta-oe/recipes-qt/qt4/qt4-tools-native.inc
new file mode 100644
index 000000000..9114e7df6
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-tools-native.inc
@@ -0,0 +1,77 @@
1DESCRIPTION = "Native tools for Qt/[X11|Mac|Embedded] version 4.x"
2DEPENDS = "zlib-native dbus-native"
3SECTION = "libs"
4HOMEPAGE = "http://qt.nokia.com"
5PRIORITY = "optional"
6
7LICENSE = "LGPLv2.1 | GPLv3"
8LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
9 file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
10 file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
11
12INC_PR = "r11"
13
14inherit native
15
16SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
17 file://qt-config.patch \
18 file://g++.conf \
19 file://linux.conf"
20S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
21
22EXTRA_OECONF = "-prefix ${prefix} \
23 -L ${STAGING_LIBDIR_NATIVE} \
24 -I ${STAGING_INCDIR_NATIVE} \
25 -qt-libjpeg -qt-gif -system-zlib \
26 -no-libjpeg -no-libpng -no-libmng -no-libtiff \
27 -no-accessibility \
28 -no-cups \
29 -no-exceptions \
30 -no-nas-sound \
31 -no-nis -no-openssl \
32 -verbose -release -static \
33 -embedded -no-freetype -no-glib -no-iconv \
34 -qt3support"
35
36# yank default -e, otherwise we get the following error:
37# moc_qbuffer.cpp: No such file or directory
38EXTRA_OEMAKE = " "
39
40do_configure() {
41 (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
42}
43
44TOBUILD = "\
45 src/tools/moc \
46 src/corelib \
47 src/sql \
48 src/dbus \
49 src/qt3support \
50 src/xml \
51 src/tools/uic \
52 src/tools/rcc \
53 src/network \
54 tools/linguist/lrelease \
55 tools/linguist/lupdate \
56"
57
58do_compile() {
59 for i in ${TOBUILD}; do
60 cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
61 done
62}
63
64do_install() {
65 install -d ${D}${bindir}/
66 install -m 0755 bin/qmake ${D}${bindir}/qmake2
67 for i in moc uic rcc lrelease lupdate; do
68 install -m 0755 bin/${i} ${D}${bindir}/${i}4
69 done
70
71 install -d ${D}${datadir}/qt4/
72 cp -PfR mkspecs ${D}${datadir}/qt4/
73 ln -sf linux-g++ ${D}${datadir}/qt4/mkspecs/${BUILD_OS}-oe-g++
74 cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf ${D}${datadir}/qt4/mkspecs/common/
75
76 install -m 0644 tools/porting/src/q3porting.xml ${D}${datadir}/qt4/
77}
diff --git a/meta-oe/recipes-qt/qt4/qt4-tools-native_4.6.3.bb b/meta-oe/recipes-qt/qt4/qt4-tools-native_4.6.3.bb
new file mode 100644
index 000000000..dae8cd19e
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-tools-native_4.6.3.bb
@@ -0,0 +1,11 @@
1require qt4-tools-native.inc
2
3PR = "${INC_PR}.0"
4
5EXTRA_OECONF += " -no-fast -silent -no-rpath"
6
7TOBUILD := "src/tools/bootstrap ${TOBUILD}"
8
9SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
10SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
11
diff --git a/meta-oe/recipes-qt/qt4/qt4-tools-native_4.7.1.bb b/meta-oe/recipes-qt/qt4/qt4-tools-native_4.7.1.bb
new file mode 100644
index 000000000..e9de510fe
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-tools-native_4.7.1.bb
@@ -0,0 +1,13 @@
1require qt4-tools-native.inc
2
3PR = "${INC_PR}.0"
4
5# Find the g++.conf/linux.conf in the right directory.
6FILESPATHPKG =. "qt-${PV}:"
7
8EXTRA_OECONF += " -no-fast -silent -no-rpath"
9
10TOBUILD := "src/tools/bootstrap ${TOBUILD}"
11
12SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
13SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
diff --git a/meta-oe/recipes-qt/qt4/qt4-tools-nativesdk.inc b/meta-oe/recipes-qt/qt4/qt4-tools-nativesdk.inc
new file mode 100644
index 000000000..f273c9fab
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-tools-nativesdk.inc
@@ -0,0 +1,111 @@
1DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x"
2DEPENDS = "zlib-nativesdk dbus-nativesdk libx11-nativesdk qt4-tools-native"
3SECTION = "libs"
4HOMEPAGE = "http://qt.nokia.com"
5PRIORITY = "optional"
6LICENSE = "LGPLv2.1 | GPLv3"
7
8INC_PR = "r3"
9
10FILESPATHPKG =. "qt-${PV}:"
11inherit nativesdk qmake2
12
13SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
14 file://configure-lflags.patch \
15 file://compile.test-lflags.patch \
16 file://qt-config.patch \
17 file://qmake-exists-check.patch \
18 file://configure-paths.patch \
19 file://g++.conf \
20 file://linux.conf"
21
22S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
23
24LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
25 file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
26 file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
27
28# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
29EXTRA_OECONF = "-prefix ${prefix} \
30 -qt-libjpeg -qt-gif -system-zlib \
31 -no-libjpeg -no-libpng -no-libmng -no-libtiff \
32 -no-accessibility \
33 -no-cups \
34 -no-exceptions \
35 -no-nas-sound \
36 -no-nis -no-openssl \
37 -verbose -release -fast -static \
38 -platform ${TARGET_OS}-oe-g++ \
39 -xplatform ${TARGET_OS}-oe-g++ \
40 -embedded -no-freetype -no-glib -no-iconv \
41 -qt3support \
42 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include \
43 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/freetype2 \
44 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \
45 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib/dbus-1.0/include \
46 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++ \
47 -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++/${TARGET_SYS} \
48 -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/lib \
49 -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib"
50
51# yank default -e, otherwise we get the following error:
52# moc_qbuffer.cpp: No such file or directory
53EXTRA_OEMAKE = " "
54
55do_configure() {
56 if [ ! -e bin/qmake ]; then
57 ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
58 fi
59
60 if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
61 ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
62 fi
63
64 cp ../g++.conf mkspecs/common
65 cp ../linux.conf mkspecs/common
66
67 (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
68}
69
70TOBUILD = "\
71 src/tools/bootstrap \
72 src/tools/moc \
73 src/corelib \
74 src/sql \
75 src/dbus \
76 src/qt3support \
77 src/xml \
78 src/tools/uic \
79 src/tools/rcc \
80 src/network \
81 src/gui \
82 src/tools/uic3 \
83 tools/linguist/lrelease \
84 tools/linguist/lupdate \
85 tools/qdbus \
86"
87
88do_compile() {
89 for i in ${TOBUILD}; do
90 cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
91 done
92}
93
94do_install() {
95 install -d ${D}${bindir}
96 install -m 0755 bin/qmake ${D}${bindir}/qmake2
97 for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
98 install -m 0755 bin/${i} ${D}${bindir}/${i}4
99 done
100
101 (cd ${D}${bindir}; \
102 ln -s qmake2 qmake; \
103 for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \
104 ln -s ${i}4 ${i}; \
105 done)
106
107 # make a symbolic link to mkspecs for compatibility with Nokia's SDK
108 # and QTCreator
109 (cd ${D}${bindir}/..; ln -s ${TARGET_SYS}/usr/share/qtopia/mkspecs mkspecs;)
110}
111
diff --git a/meta-oe/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb b/meta-oe/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
new file mode 100644
index 000000000..d64542b5f
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
@@ -0,0 +1,6 @@
1require qt4-tools-nativesdk.inc
2
3PR = "${INC_PR}.0"
4
5SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
6SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
diff --git a/meta-oe/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb b/meta-oe/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
new file mode 100644
index 000000000..091a53927
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
@@ -0,0 +1,6 @@
1require qt4-tools-nativesdk.inc
2
3PR = "${INC_PR}.0"
4
5SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
6SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
diff --git a/meta-oe/recipes-qt/qt4/qt4-tools-sdk.inc b/meta-oe/recipes-qt/qt4/qt4-tools-sdk.inc
new file mode 100644
index 000000000..1bcfed060
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-tools-sdk.inc
@@ -0,0 +1,88 @@
1DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x"
2DEPENDS = "zlib-native dbus-native"
3SECTION = "libs"
4HOMEPAGE = "http://www.trolltech.com"
5PRIORITY = "optional"
6LICENSE = "LGPLv2.1 GPLv3"
7
8INC_PR = "r2"
9
10FILESPATHPKG =. "qt-${PV}:"
11inherit nativesdk
12
13SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
14 file://configure-lflags.patch \
15 file://compile.test-lflags.patch \
16 file://qt-config.patch \
17 file://g++.conf \
18 file://linux.conf"
19
20S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
21
22
23# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
24EXTRA_OECONF = "-prefix ${prefix} \
25 -qt-libjpeg -qt-gif -system-zlib \
26 -no-libjpeg -no-libpng -no-libmng -no-libtiff \
27 -no-accessibility \
28 -no-cups \
29 -no-exceptions \
30 -no-nas-sound \
31 -no-nis -no-openssl \
32 -verbose -release -fast -static \
33 -embedded -no-freetype -no-glib -no-iconv \
34 -qt3support \
35 -I${STAGING_DIR_NATIVE}/usr/include \
36 -I${STAGING_DIR_NATIVE}/usr/include/dbus-1.0 \
37 -I${STAGING_DIR_NATIVE}/usr/lib/dbus-1.0/include"
38
39# yank default -e, otherwise we get the following error:
40# moc_qbuffer.cpp: No such file or directory
41EXTRA_OEMAKE = " "
42
43do_configure() {
44 (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
45}
46
47TOBUILD = "\
48 src/tools/bootstrap \
49 src/tools/moc \
50 src/corelib \
51 src/sql \
52 src/dbus \
53 src/qt3support \
54 src/xml \
55 src/tools/uic \
56 src/tools/rcc \
57 src/network \
58 src/gui \
59 src/tools/uic3 \
60 tools/linguist/lrelease \
61 tools/linguist/lupdate \
62 tools/qdbus \
63"
64
65do_compile() {
66 for i in ${TOBUILD}; do
67 cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
68 done
69}
70
71do_install() {
72 install -d ${D}${bindir}
73 install -m 0755 bin/qmake ${D}${bindir}/qmake2
74 for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
75 install -m 0755 bin/${i} ${D}${bindir}/${i}4
76 done
77
78 (cd ${D}${bindir}; \
79 ln -s qmake2 qmake; \
80 for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \
81 ln -s ${i}4 ${i}; \
82 done)
83
84 # make a symbolic link to mkspecs for compatibility with Nokia's SDK
85 # and QTCreator
86 (cd ${D}${bindir}/..; ln -s ${TARGET_SYS}/usr/share/qtopia/mkspecs mkspecs;)
87}
88
diff --git a/meta-oe/recipes-qt/qt4/qt4-tools-sdk_4.6.3.bb b/meta-oe/recipes-qt/qt4/qt4-tools-sdk_4.6.3.bb
new file mode 100644
index 000000000..591350717
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-tools-sdk_4.6.3.bb
@@ -0,0 +1,90 @@
1DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x"
2DEPENDS = "zlib-native dbus-native"
3SECTION = "libs"
4HOMEPAGE = "http://www.trolltech.com"
5PRIORITY = "optional"
6LICENSE = "LGPLv2.1 GPLv3"
7
8PR = "r1"
9
10DEFAULT_PREFERENCE = "-1"
11inherit nativesdk
12
13SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
14 file://configure-lflags.patch \
15 file://compile.test-lflags.patch \
16 file://qt-config.patch \
17 file://g++.conf \
18 file://linux.conf"
19
20S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
21
22
23# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
24EXTRA_OECONF = "-prefix ${prefix} \
25 -qt-libjpeg -qt-gif -system-zlib \
26 -no-libjpeg -no-libpng \
27 -no-accessibility \
28 -no-cups \
29 -no-exceptions \
30 -no-nas-sound \
31 -no-nis \
32 -verbose -release -fast -static \
33 -qt3support \
34 -I${STAGING_DIR_NATIVE}/usr/include \
35 -I${STAGING_DIR_NATIVE}/usr/include/freetype2 \
36 -I${STAGING_DIR_NATIVE}/usr/include/dbus-1.0 \
37 -I${STAGING_DIR_NATIVE}/usr/lib/dbus-1.0/include"
38
39# yank default -e, otherwise we get the following error:
40# moc_qbuffer.cpp: No such file or directory
41EXTRA_OEMAKE = " "
42
43do_configure() {
44 (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
45}
46
47TOBUILD = "\
48 src/tools/bootstrap \
49 src/tools/moc \
50 src/corelib \
51 src/sql \
52 src/dbus \
53 src/qt3support \
54 src/xml \
55 src/tools/uic \
56 src/tools/rcc \
57 src/network \
58 src/gui \
59 src/tools/uic3 \
60 tools/linguist/lrelease \
61 tools/linguist/lupdate \
62 tools/qdbus \
63"
64
65do_compile() {
66 for i in ${TOBUILD}; do
67 cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
68 done
69}
70
71do_install() {
72 install -d ${D}${bindir}
73 install -m 0755 bin/qmake ${D}${bindir}/qmake2
74 for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
75 install -m 0755 bin/${i} ${D}${bindir}/${i}4
76 done
77
78 (cd ${D}${bindir}; \
79 ln -s qmake2 qmake; \
80 for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \
81 ln -s ${i}4 ${i}; \
82 done)
83
84 # make a symbolic link to mkspecs for compatibility with Nokia's SDK
85 # and QTCreator
86 (cd ${D}${bindir}/..; ln -s ${TARGET_SYS}/usr/share/qtopia/mkspecs mkspecs;)
87}
88
89SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
90SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
diff --git a/meta-oe/recipes-qt/qt4/qt4-tools-sdk_4.7.1.bb b/meta-oe/recipes-qt/qt4/qt4-tools-sdk_4.7.1.bb
new file mode 100644
index 000000000..1018f74c3
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-tools-sdk_4.7.1.bb
@@ -0,0 +1,8 @@
1require qt4-tools-sdk.inc
2
3PR = "${INC_PR}.0"
4
5DEFAULT_PREFERENCE = "-1"
6
7SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
8SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
diff --git a/meta-oe/recipes-qt/qt4/qt4-x11-free-4.6.3/linux.conf b/meta-oe/recipes-qt/qt4/qt4-x11-free-4.6.3/linux.conf
new file mode 100644
index 000000000..68ae80b92
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-x11-free-4.6.3/linux.conf
@@ -0,0 +1,54 @@
1#
2# qmake configuration for common linux
3#
4
5QMAKE_CFLAGS_THREAD += -D_REENTRANT
6QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
7
8QMAKE_INCDIR =
9QMAKE_LIBDIR =
10QMAKE_INCDIR_X11 =
11QMAKE_LIBDIR_X11 =
12QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
13QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
14QMAKE_INCDIR_OPENGL =
15QMAKE_LIBDIR_OPENGL =
16
17
18QMAKE_LIBS = -Wl,-rpath-link,SEDME/lib -lglib-2.0
19QMAKE_LIBS_DYNLOAD = -ldl
20QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
21QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
22QMAKE_LIBS_NIS = -lnsl
23QMAKE_LIBS_OPENGL = -lGLU -lGL
24QMAKE_LIBS_OPENGL_QT = -lGL
25QMAKE_LIBS_THREAD = -lpthread
26
27QMAKE_MOC = $(OE_QMAKE_MOC)
28QMAKE_UIC = $(OE_QMAKE_UIC)
29QMAKE_UIC3 = $(OE_QMAKE_UIC3)
30QMAKE_RCC = $(OE_QMAKE_RCC)
31QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
32QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
33
34QMAKE_AR = $(OE_QMAKE_AR) cqs
35QMAKE_OBJCOPY = ${OBJCOPY}
36QMAKE_RANLIB =
37
38QMAKE_TAR = tar -cf
39QMAKE_GZIP = gzip -9f
40
41QMAKE_COPY = cp -f
42QMAKE_COPY_FILE = $(COPY)
43QMAKE_COPY_DIR = $(COPY) -r
44QMAKE_MOVE = mv -f
45QMAKE_DEL_FILE = rm -f
46QMAKE_DEL_DIR = rmdir
47QMAKE_STRIP = $(OE_QMAKE_STRIP)
48QMAKE_STRIPFLAGS_LIB += --strip-unneeded
49QMAKE_CHK_DIR_EXISTS = test -d
50QMAKE_MKDIR = mkdir -p
51QMAKE_INSTALL_FILE = install -m 644 -p
52QMAKE_INSTALL_PROGRAM = install -m 755 -p
53
54include(unix.conf)
diff --git a/meta-oe/recipes-qt/qt4/qt4-x11-free.inc b/meta-oe/recipes-qt/qt4/qt4-x11-free.inc
new file mode 100644
index 000000000..057a129ec
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-x11-free.inc
@@ -0,0 +1,20 @@
1require qt4.inc
2
3DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version."
4HOMEPAGE = "http://qt.nokia.com"
5SECTION = "x11/libs"
6PRIORITY = "optional"
7DEPENDS += "virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
8
9INC_PR = "r21"
10
11QT_GLFLAGS ?= "-no-opengl"
12QT_GLFLAGS_qemux86 = "-opengl"
13QT_GLFLAGS_emenlow = "-opengl"
14QT_GLFLAGS_atom-pc = "-opengl"
15QT_CONFIG_FLAGS += "-no-xinerama -no-xkb ${QT_GLFLAGS}"
16QT_BASE_NAME ?= "qt4"
17QT_BASE_LIB ?= "libqt"
18
19inherit qt4x11
20
diff --git a/meta-oe/recipes-qt/qt4/qt4-x11-free/0003-no-tools.patch b/meta-oe/recipes-qt/qt4/qt4-x11-free/0003-no-tools.patch
new file mode 100644
index 000000000..3829ffcdc
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-x11-free/0003-no-tools.patch
@@ -0,0 +1,18 @@
1Index: qt-embedded-linux-opensource-src-4.5.0/src/src.pro
2===================================================================
3--- qt-embedded-linux-opensource-src-4.5.0.orig/src/src.pro 2009-02-25 22:32:41.000000000 +0100
4+++ qt-embedded-linux-opensource-src-4.5.0/src/src.pro 2009-03-26 17:11:07.000000000 +0100
5@@ -6,12 +6,9 @@
6 wince*:{
7 SRC_SUBDIRS += src_corelib src_xml src_gui src_sql src_network src_script src_testlib
8 } else {
9- SRC_SUBDIRS += src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_uic src_corelib src_xml src_network src_gui src_sql src_script src_testlib
10+ SRC_SUBDIRS += src_corelib src_xml src_network src_gui src_sql src_script src_testlib
11 contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
12 contains(QT_CONFIG, dbus):SRC_SUBDIRS += src_dbus
13- !cross_compile {
14- contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_tools_uic3
15- }
16 }
17 win32:!contains(QT_EDITION, OpenSource|Console): {
18 SRC_SUBDIRS += src_activeqt
diff --git a/meta-oe/recipes-qt/qt4/qt4-x11-free/0006-freetype-host-includes.patch b/meta-oe/recipes-qt/qt4/qt4-x11-free/0006-freetype-host-includes.patch
new file mode 100644
index 000000000..987c42513
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-x11-free/0006-freetype-host-includes.patch
@@ -0,0 +1,20 @@
1From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net>
3Date: Mon, 4 Jun 2007 14:48:50 +0200
4Subject: [PATCH] freetype host includes
5
6---
7 config.tests/unix/freetype/freetype.pri | 2 +-
8 1 files changed, 1 insertions(+), 1 deletions(-)
9
10Index: qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri
11===================================================================
12--- qt-embedded-linux-opensource-src-4.5.0.orig/config.tests/unix/freetype/freetype.pri 2009-02-25 22:32:32.000000000 +0100
13+++ qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri 2009-03-26 17:14:16.000000000 +0100
14@@ -1,5 +1,5 @@
15 !cross_compile {
16- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
17+ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
18 # LSB doesn't allow using headers from /include or /usr/include
19 linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
20 for(p, TRY_INCLUDEPATHS) {
diff --git a/meta-oe/recipes-qt/qt4/qt4-x11-free/0007-openssl-host-includes.patch b/meta-oe/recipes-qt/qt4/qt4-x11-free/0007-openssl-host-includes.patch
new file mode 100644
index 000000000..3409cc0bf
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-x11-free/0007-openssl-host-includes.patch
@@ -0,0 +1,20 @@
1From d45943adb443ad4b85ca4504952dee743c675e1e Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net>
3Date: Mon, 4 Jun 2007 14:58:34 +0200
4Subject: [PATCH] openssl host includes
5
6---
7 config.tests/unix/openssl/openssl.pri | 2 +-
8 1 files changed, 1 insertions(+), 1 deletions(-)
9
10Index: qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/openssl/openssl.pri
11===================================================================
12--- qt-embedded-linux-opensource-src-4.5.0.orig/config.tests/unix/openssl/openssl.pri 2009-02-25 22:32:32.000000000 +0100
13+++ qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/openssl/openssl.pri 2009-03-26 17:16:28.000000000 +0100
14@@ -1,5 +1,5 @@
15 !cross_compile {
16- TRY_INCLUDEPATHS = /include /usr/include /usr/local/include $$QMAKE_INCDIR $$INCLUDEPATH
17+ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$INCLUDEPATH
18 # LSB doesn't allow using headers from /include or /usr/include
19 linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$INCLUDEPATH
20 for(p, TRY_INCLUDEPATHS) {
diff --git a/meta-oe/recipes-qt/qt4/qt4-x11-free/0008-qt-lib-infix.patch b/meta-oe/recipes-qt/qt4/qt4-x11-free/0008-qt-lib-infix.patch
new file mode 100644
index 000000000..3efaff37d
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-x11-free/0008-qt-lib-infix.patch
@@ -0,0 +1,34 @@
1Index: qt-embedded-linux-opensource-src-4.5.0/mkspecs/features/uitools.prf
2===================================================================
3--- qt-embedded-linux-opensource-src-4.5.0.orig/mkspecs/features/uitools.prf 2009-02-25 22:32:34.000000000 +0100
4+++ qt-embedded-linux-opensource-src-4.5.0/mkspecs/features/uitools.prf 2009-03-26 17:17:27.000000000 +0100
5@@ -2,10 +2,10 @@
6 qt:load(qt)
7
8 # Include the correct version of the UiLoader library
9-QTUITOOLS_LINKAGE = -lQtUiTools
10+QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}
11 CONFIG(debug, debug|release) {
12- mac: QTUITOOLS_LINKAGE = -lQtUiTools_debug
13- win32: QTUITOOLS_LINKAGE = -lQtUiToolsd
14+ mac: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}_debug
15+ win32: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}d
16 }
17 LIBS += $$QTUITOOLS_LINKAGE
18
19Index: qt-embedded-linux-opensource-src-4.5.0/tools/designer/src/uitools/uitools.pro
20===================================================================
21--- qt-embedded-linux-opensource-src-4.5.0.orig/tools/designer/src/uitools/uitools.pro 2009-02-25 22:32:42.000000000 +0100
22+++ qt-embedded-linux-opensource-src-4.5.0/tools/designer/src/uitools/uitools.pro 2009-03-26 17:17:27.000000000 +0100
23@@ -1,5 +1,5 @@
24 TEMPLATE = lib
25-TARGET = $$qtLibraryTarget(QtUiTools)
26+TARGET = QtUiTools
27 QT += xml
28 CONFIG += qt staticlib
29 DESTDIR = ../../../../lib
30@@ -39,3 +39,4 @@
31 QMAKE_PKGCONFIG_REQUIRES += QtXml
32 }
33
34+TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
diff --git a/meta-oe/recipes-qt/qt4/qt4-x11-free_4.6.3.bb b/meta-oe/recipes-qt/qt4/qt4-x11-free_4.6.3.bb
new file mode 100644
index 000000000..8cf544925
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-x11-free_4.6.3.bb
@@ -0,0 +1,6 @@
1require qt-${PV}.inc
2require qt4-x11-free.inc
3
4PR = "${INC_PR}.0"
5
6QT_CONFIG_FLAGS += " -xrandr "
diff --git a/meta-oe/recipes-qt/qt4/qt4-x11-free_4.7.1.bb b/meta-oe/recipes-qt/qt4/qt4-x11-free_4.7.1.bb
new file mode 100644
index 000000000..75c6314e7
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4-x11-free_4.7.1.bb
@@ -0,0 +1,12 @@
1require qt4-x11-free.inc
2require qt-${PV}.inc
3
4PR = "${INC_PR}.1"
5
6QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
7
8QT_CONFIG_FLAGS += " \
9 -no-embedded \
10 -xrandr \
11 -x11"
12
diff --git a/meta-oe/recipes-qt/qt4/qt4.inc b/meta-oe/recipes-qt/qt4/qt4.inc
new file mode 100644
index 000000000..98d55b1be
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4.inc
@@ -0,0 +1,314 @@
1inherit qmake_base
2
3DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base mysql5 postgresql sqlite sqlite3"
4
5require qt4_arch.inc
6QT_ARCH := "${@qt_arch(d)}"
7QT_ENDIAN = "${@qt_endian(d)}"
8
9QT_DISTRO_FLAGS ?= "-no-accessibility -no-sm"
10QT_DISTRO_FLAGS_poky-lsb = "-sm"
11
12QT_CONFIG_FLAGS += "-release -no-cups -reduce-relocations \
13 -shared -no-nas-sound -no-nis \
14 -qt-gif -system-libjpeg -system-libpng -system-zlib \
15 -no-sql-ibase -plugin-sql-mysql -no-sql-odbc -plugin-sql-psql -plugin-sql-sqlite -plugin-sql-sqlite3 \
16 -no-pch -qdbus -stl -glib -phonon -webkit \
17 ${QT_DISTRO_FLAGS} "
18
19EXTRA_OEMAKE = "-e"
20
21EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
22 INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
23 QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
24 AR="${TARGET_PREFIX}ar cqs" \
25 MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
26
27export QT_CONF_PATH="${WORKDIR}/qt.conf"
28
29# Library packages
30QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns phonon QtMultimedia QtOpenVG QtMediaServices QtDeclarative"
31
32QT_EXTRA_LIBS = "pvrQWSWSEGL"
33
34python __anonymous () {
35 import bb
36
37 lib_packages = []
38 dev_packages = []
39 dbg_packages = []
40 for name in bb.data.getVar("QT_LIB_NAMES", d, 1).split():
41 pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "").replace("_", "-") + "4"
42 # NOTE: the headers for QtAssistantClient are different
43 incname = name.replace("QtAssistantClient", "QtAssistant")
44 bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d)
45 bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s${QT_LIBINFIX}.prl
46 ${libdir}/lib%(name)s${QT_LIBINFIX}.a
47 ${libdir}/lib%(name)s${QT_LIBINFIX}.la
48 ${libdir}/lib%(name)s${QT_LIBINFIX}.so
49 ${includedir}/${QT_DIR_NAME}/%(incname)s
50 ${libdir}/pkgconfig/%(name)s${QT_LIBINFIX}.pc""" % locals(), d)
51 bb.data.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d)
52 lib_packages.append(pkg)
53 dev_packages.append("%s-dev" % pkg)
54 dbg_packages.append("%s-dbg" % pkg)
55 for name in bb.data.getVar("OTHER_PACKAGES", d, 1).split():
56 dbg_packages.append("%s-dbg" % name)
57
58 for name in bb.data.getVar("QT_EXTRA_LIBS", d, 1).split():
59 pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "").replace("_", "-") + "4"
60 bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s.so.*" % locals(), d)
61 bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s.prl
62 ${libdir}/lib%(name)s.a
63 ${libdir}/lib%(name)s.la
64 ${libdir}/lib%(name)s.so
65 ${includedir}/${QT_DIR_NAME}/%(incname)s
66 ${libdir}/pkgconfig/%(name)s.pc""" % locals(), d)
67 bb.data.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s.so.*" % locals(), d)
68 lib_packages.append(pkg)
69 dev_packages.append("%s-dev" % pkg)
70 dbg_packages.append("%s-dbg" % pkg)
71
72 bb.data.setVar("LIB_PACKAGES", " ".join(lib_packages), d)
73 bb.data.setVar("DEV_PACKAGES", " ".join(dev_packages), d)
74 bb.data.setVar("DBG_PACKAGES", " ".join(dbg_packages), d)
75}
76
77OTHER_PACKAGES = "\
78 ${QT_BASE_NAME}-tools \
79 ${QT_BASE_NAME}-assistant \
80 ${QT_BASE_NAME}-common \
81 ${QT_BASE_NAME}-dbus \
82 ${QT_BASE_NAME}-demos \
83 ${QT_BASE_NAME}-designer \
84 ${QT_BASE_NAME}-examples \
85 ${QT_BASE_NAME}-fonts \
86 ${QT_BASE_NAME}-fonts-ttf-vera \
87 ${QT_BASE_NAME}-fonts-ttf-dejavu \
88 ${QT_BASE_NAME}-fonts-pfa \
89 ${QT_BASE_NAME}-fonts-pfb \
90 ${QT_BASE_NAME}-fonts-qpf \
91 ${QT_BASE_NAME}-linguist \
92 ${QT_BASE_NAME}-makeqpf \
93 ${QT_BASE_NAME}-mkspecs \
94 ${QT_BASE_NAME}-pixeltool \
95 ${QT_BASE_NAME}-qmlviewer \
96 ${QT_BASE_NAME}-xmlpatterns \
97 ${QT_BASE_NAME}-qt3to4"
98
99PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}"
100PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-* ${QT_BASE_NAME}-translation-* ${QT_BASE_NAME}-fonts-*"
101
102ALLOW_EMPTY_${PN} = "1"
103ALLOW_EMPTY_${QT_BASE_NAME}-fonts = "1"
104FILES_${PN} = ""
105FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*"
106FILES_${PN}-dbg = ""
107RRECOMMENDS_${PN} = "${LIB_PACKAGES} ${OTHER_PACKAGES}"
108RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}"
109RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}"
110RRECOMMENDS_${QT_BASE_NAME}-fonts = " \
111 ${QT_BASE_NAME}-fonts-ttf-vera \
112 ${QT_BASE_NAME}-fonts-ttf-dejavu \
113 ${QT_BASE_NAME}-fonts-pfa \
114 ${QT_BASE_NAME}-fonts-pfb \
115 ${QT_BASE_NAME}-fonts-qpf"
116RRECOMMENDS_${QT_BASE_NAME}-demos += " \
117 ${QT_BASE_NAME}-fonts \
118 ${QT_BASE_NAME}-examples \
119 ${QT_BASE_NAME}-plugin-sqldriver-sqlite \
120 ${QT_BASE_NAME}-plugin-imageformat-jpeg \
121 ${QT_BASE_NAME}-assistant \
122 ${PN}-doc"
123RRECOMMENDS_${QT_BASE_NAME}-examples += " \
124 ${QT_BASE_NAME}-plugin-sqldriver-sqlite \
125 ${QT_BASE_NAME}-plugin-imageformat-jpeg"
126
127FILES_${QT_BASE_NAME}-tools = "${bindir}/uic* ${bindir}/moc ${bindir}/rcc ${bindir}/qttracereplay ${bindir}/qdoc*"
128FILES_${QT_BASE_NAME}-tools-dbg = "${bindir}/.debug/uic* ${bindir}/.debug/moc ${bindir}/.debug/rcc ${bindir}/.debug/qttracereplay ${bindir}/.debug/qdoc*"
129FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant* ${bindir}/qcollectiongenerator ${bindir}/qhelpconverter ${bindir}/qhelpgenerator"
130FILES_${QT_BASE_NAME}-assistant-dbg = "${bindir}/.debug/*assistant* ${bindir}/.debug/qcollectiongenerator ${bindir}/.debug/qhelpconverter ${bindir}/.debug/qhelpgenerator"
131FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig"
132FILES_${QT_BASE_NAME}-common-dbg = "${bindir}/.debug/qtconfig"
133FILES_${QT_BASE_NAME}-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer"
134FILES_${QT_BASE_NAME}-dbus-dbg = "${bindir}/.debug/qdbus ${bindir}/.debug/qdbusxml2cpp ${bindir}/.debug/qdbuscpp2xml ${bindir}/.debug/qdbusviewer"
135FILES_${QT_BASE_NAME}-demos = "${bindir}/qtdemo* ${bindir}/${QT_DIR_NAME}/demos/*"
136FILES_${QT_BASE_NAME}-demos-dbg = "${bindir}/.debug/qtdemo* ${bindir}/${QT_DIR_NAME}/demos/.debug/* ${bindir}/${QT_DIR_NAME}/demos/*/.debug ${bindir}/${QT_DIR_NAME}/demos/*/*/.debug ${bindir}/${QT_DIR_NAME}/demos/*/*/*/.debug"
137FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*"
138FILES_${QT_BASE_NAME}-designer-dbg = "${bindir}/.debug/*designer*"
139FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*"
140FILES_${QT_BASE_NAME}-examples-dbg = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/*/.debug/* ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/.debug/*"
141FILES_${QT_BASE_NAME}-fonts-ttf-vera = "${libdir}/fonts/Vera*.ttf"
142FILES_${QT_BASE_NAME}-fonts-ttf-dejavu = "${libdir}/fonts/DejaVu*.ttf"
143FILES_${QT_BASE_NAME}-fonts-pfa = "${libdir}/fonts/*.pfa"
144FILES_${QT_BASE_NAME}-fonts-pfb = "${libdir}/fonts/*.pfb"
145FILES_${QT_BASE_NAME}-fonts-qpf = "${libdir}/fonts/*.qpf"
146FILES_${QT_BASE_NAME}-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/lconvert ${bindir}/qm2ts"
147FILES_${QT_BASE_NAME}-linguist-dbg = "${bindir}/.debug/*linguist* ${bindir}/.debug/lrelease ${bindir}/.debug/lupdate ${bindir}/.debug/lconvert ${bindir}/.debug/qm2ts"
148FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool"
149FILES_${QT_BASE_NAME}-pixeltool-dbg = "${bindir}/.debug/pixeltool"
150FILES_${QT_BASE_NAME}-qt3to4 = "${bindir}/qt3to4 ${datadir}/${QT_DIR_NAME}/q3porting.xml"
151FILES_${QT_BASE_NAME}-qt3to4-dbg = "${bindir}/.debug/qt3to4"
152FILES_${QT_BASE_NAME}-qmlviewer = "${bindir}/qmlviewer"
153FILES_${QT_BASE_NAME}-qmlviewer-dbg = "${bindir}/.debug/qmlviewer"
154FILES_${QT_BASE_NAME}-makeqpf = "${bindir}/makeqpf"
155FILES_${QT_BASE_NAME}-makeqpf-dbg = "${bindir}/.debug/makeqpf"
156FILES_${QT_BASE_NAME}-mkspecs = "${datadir}/${QT_DIR_NAME}/mkspecs/*"
157FILES_${QT_BASE_NAME}-xmlpatterns = "${bindir}/xmlpatterns*"
158FILES_${QT_BASE_NAME}-xmlpatterns-dbg = "${bindir}/.debug/xmlpatterns*"
159
160
161do_configure() {
162 unset QMAKESPEC
163 unset QTDIR
164
165 if [ ! -e bin/qmake ]; then
166 ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
167 fi
168
169 if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
170 ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
171 fi
172
173 cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf mkspecs/common/
174
175 echo "[Paths]" > $QT_CONF_PATH
176 echo "Prefix=${prefix}/" >> $QT_CONF_PATH
177 echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
178 echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
179 echo "Libraries=${libdir}" >> $QT_CONF_PATH
180 echo "Binaries=${bindir}" >> $QT_CONF_PATH
181 echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
182 echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
183 echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
184 echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
185 echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
186 echo "Demos=${bindir}/${QT_DIR_NAME}/demos" >> $QT_CONF_PATH
187
188 ${EXTRA_QMAKE_MUNGE}|| true
189
190 (echo o; echo yes) | ./configure -v \
191 -prefix ${prefix}/ \
192 -bindir ${bindir} \
193 -libdir ${libdir} \
194 -datadir ${datadir}/${QT_DIR_NAME} \
195 -sysconfdir ${sysconfdir}/${QT_DIR_NAME} \
196 -docdir ${docdir}/${QT_DIR_NAME} \
197 -headerdir ${includedir}/${QT_DIR_NAME} \
198 -plugindir ${libdir}/${QT_DIR_NAME}/plugins \
199 -translationdir ${datadir}/${QT_DIR_NAME}/translations \
200 -examplesdir ${bindir}/${QT_DIR_NAME}/examples \
201 -demosdir ${bindir}/${QT_DIR_NAME}/demos \
202 -platform ${TARGET_OS}-oe-g++ \
203 -xplatform ${TARGET_OS}-oe-g++ \
204 ${QT_ENDIAN} \
205 -crossarch ${QT_ARCH} \
206 ${QT_CONFIG_FLAGS} -no-fast \
207 -L${STAGING_LIBDIR} -I${STAGING_INCDIR} \
208 -I${STAGING_INCDIR}/freetype2 \
209 -I${STAGING_INCDIR}/mysql \
210 -I${STAGING_INCDIR}/postgresql
211}
212
213python populate_packages_prepend() {
214 translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d)
215 translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d)
216 do_split_packages(d, translation_dir, '^(assistant|designer|linguist|qt|qtconfig|qvfb)_(.*)\.qm$', translation_name, '${PN} translation for %s', extra_depends='' )
217
218 phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
219 phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
220 do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
221
222 # Package all the plugins and their -dbg version and create a meta package
223 import os
224 def qtopia_split(path, name, glob):
225 """
226 Split the package into a normal and -dbg package and then add the
227 new packages to the meta package.
228 """
229 plugin_dir = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/' % path, d)
230 if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)):
231 bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir)
232 return
233
234 plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d)
235 dev_packages = []
236 dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg))
237 do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook)
238 # Create a -dbg package as well
239 plugin_dir_dbg = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path, d)
240 packages = bb.data.getVar('PACKAGES',d)
241 for (file,package) in dev_packages:
242 packages = "%s %s-dbg" % (packages, package)
243 file_name = os.path.join(plugin_dir_dbg, os.path.basename(file))
244 bb.data.setVar("FILES_%s-dbg" % package, file_name, d)
245 bb.data.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package), d)
246
247 bb.data.setVar('PACKAGES', packages, d)
248
249 qtopia_split('accessible', 'accessible', '^libq(.*)\.so$')
250 qtopia_split('codecs', 'codec', '^libq(.*)\.so$')
251 qtopia_split('decorations', 'decoration', '^libqdecoration(.*)\.so$')
252 qtopia_split('designer', 'designer', '^lib(.*)\.so$')
253 qtopia_split('gfxdrivers', 'gfxdriver', '^libq(.*)\.so$')
254 qtopia_split('graphicssystems','graphicssystems', '^libq(.*)\.so$')
255 qtopia_split('mousedrivers', 'mousedriver', '^libq(.*)mousedriver\.so$')
256 qtopia_split('iconengines', 'iconengine', '^libq(.*)\.so$')
257 qtopia_split('imageformats', 'imageformat', '^libq(.*)\.so$')
258 qtopia_split('inputmethods', 'inputmethod', '^libq(.*)\.so$')
259 qtopia_split('sqldrivers', 'sqldriver', '^libq(.*)\.so$')
260 qtopia_split('script', 'script', '^libqtscript(.*)\.so$')
261 qtopia_split('styles', 'style', '^libq(.*)\.so$')
262 qtopia_split('phonon_backend','phonon-backend','^libphonon_(.*)\.so$')
263 qtopia_split('bearer', 'bearer', '^libq(.*)bearer\.so$')
264}
265
266do_install() {
267 oe_runmake install INSTALL_ROOT=${D}
268
269 # These are host binaries, we should only use them in staging
270 rm -rf ${D}/${bindir}/qmake
271
272 # fix pkgconfig, libtool and prl files
273 sed -i -e s#-L${S}/lib##g \
274 -e s#-L${STAGING_LIBDIR}##g \
275 -e 's#STAGING_LIBDIR}#libdir}'#g \
276 -e s#-L${libdir}##g \
277 -e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \
278 -e s#" -Wl,-rpath-link,${S}/lib"##g \
279 -e s#" -Wl,-rpath-link,${libdir}"##g \
280 -e 's#I/usr/include#Iincludedir}#g' \
281 -e 's#Iin#I${in#g' \
282 ${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc
283
284 sed -i -e s#" -Wl,-rpath-link,${S}/lib"##g \
285 ${D}${datadir}/${QT_DIR_NAME}/mkspecs/common/linux.conf
286
287 # fix pkgconfig files
288 sed -i -e s#"moc_location=.*$"#"moc_location=${bindir}/moc4"# \
289 -e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \
290 ${D}${libdir}/pkgconfig/*.pc
291 for name in ${QT_LIB_NAMES}; do
292 sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
293 done
294
295 # QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here:
296 for pc in ${D}${libdir}/pkgconfig/*.pc ; do
297 sed -i -e "s:prefix}include/${QT_BASE_NAME}/$(basename $pc .pc):prefix}/include:" \
298 -e "s,Cflags: ,Cflags: -IP{includedir}/${QT_BASE_NAME}/$(basename $pc .pc) ," \
299 -e 's:IP{:I${:g' $pc
300 done
301
302 install -d ${D}/${libdir}/fonts
303 touch ${D}/${libdir}/fonts/fontdir
304
305 install -d ${D}${bindir}
306 for i in rcc uic moc ; do
307 install -m 0755 ${S}/bin/$i ${D}${bindir}/
308 done
309
310 #Append an E to the qtdemo file
311 if [ -n "${QT_LIBINFIX}" ] ; then
312 mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
313 fi
314}
diff --git a/meta-oe/recipes-qt/qt4/qt4_arch.inc b/meta-oe/recipes-qt/qt4/qt4_arch.inc
new file mode 100644
index 000000000..7f4be63bc
--- /dev/null
+++ b/meta-oe/recipes-qt/qt4/qt4_arch.inc
@@ -0,0 +1,25 @@
1inherit siteinfo
2
3ARM_INSTRUCTION_SET = "arm"
4
5def qt_arch(d):
6 import bb, re
7 arch = bb.data.getVar('TARGET_ARCH', d, 1)
8 if re.match("^i.86$", arch):
9 arch = "i386"
10 elif re.match("^arm.*", arch):
11 arch = "arm"
12 elif arch == "x86_64":
13 arch = "x86"
14 elif arch == "mipsel":
15 arch = "mips"
16 return arch
17
18def qt_endian(d):
19 import bb
20 if bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "le":
21 return "-little-endian"
22 elif bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "be":
23 return "-big-endian"
24 else:
25 assert False