mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
qt4 core lib: add qt4 core library x11 version.
QT is a comprehensive cross-platform C++ application framework. this commit add QT4 library compiled with X11 options. The code is ported from OE version, with following changes: - remove the obsolate configure options, e.g. -embedded, -qdbus, etc - remove the poky unsupported configuree option, e.g. mysql, postgresql etc - revise the arch detection func, to support powerpc, x86_64 - other format cleanup Signed-off-by: Yu Ke <ke.yu@intel.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
|||||||
|
Add configure option "crossarch" for cross compiling
|
||||||
|
|
||||||
|
Ported from OE by: Yu Ke <ke.yu@intel.com>
|
||||||
|
|
||||||
|
Index: qt-embedded-linux-opensource-src-4.4.3/configure
|
||||||
|
===================================================================
|
||||||
|
--- qt-embedded-linux-opensource-src-4.4.3.orig/configure 2009-03-26 17:02:45.000000000 +0100
|
||||||
|
+++ qt-embedded-linux-opensource-src-4.4.3/configure 2009-03-26 17:03:43.000000000 +0100
|
||||||
|
@@ -726,7 +726,7 @@
|
||||||
|
UNKNOWN_ARG=yes
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
- -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
|
||||||
|
+ -prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch)
|
||||||
|
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
|
||||||
|
shift
|
||||||
|
VAL="$1"
|
||||||
|
@@ -1143,6 +1143,9 @@
|
||||||
|
xplatform)
|
||||||
|
XPLATFORM="$VAL"
|
||||||
|
;;
|
||||||
|
+ crossarch)
|
||||||
|
+ CROSSARCH="$VAL"
|
||||||
|
+ ;;
|
||||||
|
debug-and-release)
|
||||||
|
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
|
||||||
|
CFG_DEBUG_RELEASE="$VAL"
|
||||||
|
@@ -2405,6 +2408,8 @@
|
||||||
|
CFG_ARCH=$CFG_HOST_ARCH
|
||||||
|
fi
|
||||||
|
|
||||||
|
+CFG_ARCH="$CROSSARCH"
|
||||||
|
+
|
||||||
|
if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
|
||||||
|
if [ "$OPT_VERBOSE" = "yes" ]; then
|
||||||
|
echo " '$CFG_ARCH' is supported"
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
From acfeb18aa94bad6b2066e91cd15570889baaa252 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Krelin <hacker@klever.net>
|
||||||
|
Date: Sat, 2 Jun 2007 16:04:01 +0200
|
||||||
|
Subject: [PATCH] fix resinit declaration
|
||||||
|
|
||||||
|
---
|
||||||
|
src/qt3support/network/q3dns.cpp | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
Index: qt-embedded-linux-opensource-src-4.4.3/src/qt3support/network/q3dns.cpp
|
||||||
|
===================================================================
|
||||||
|
--- qt-embedded-linux-opensource-src-4.4.3.orig/src/qt3support/network/q3dns.cpp 2008-09-27 11:01:28.000000000 +0200
|
||||||
|
+++ qt-embedded-linux-opensource-src-4.4.3/src/qt3support/network/q3dns.cpp 2009-03-26 17:04:05.000000000 +0100
|
||||||
|
@@ -44,7 +44,7 @@
|
||||||
|
# include <netinet/in.h>
|
||||||
|
# include <arpa/nameser.h>
|
||||||
|
# include <resolv.h>
|
||||||
|
-extern "C" int res_init();
|
||||||
|
+extern "C" int res_init() throw();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// POSIX Large File Support redefines open -> open64
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
From f5a73ce944240de9013cc23288c115e8213add5e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Krelin <hacker@klever.net>
|
||||||
|
Date: Sat, 2 Jun 2007 16:06:59 +0200
|
||||||
|
Subject: [PATCH] no qmake
|
||||||
|
|
||||||
|
qmake is already built in qt4-tools-native, so disable it
|
||||||
|
|
||||||
|
Ported from OE by: Yu Ke <ke.yu@intel.com>
|
||||||
|
|
||||||
|
---
|
||||||
|
configure | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
Index: qt-embedded-linux-opensource-src-4.4.3/configure
|
||||||
|
===================================================================
|
||||||
|
--- qt-embedded-linux-opensource-src-4.4.3.orig/configure 2009-03-26 17:03:43.000000000 +0100
|
||||||
|
+++ qt-embedded-linux-opensource-src-4.4.3/configure 2009-03-26 17:04:17.000000000 +0100
|
||||||
|
@@ -3786,7 +3786,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
# build qmake
|
||||||
|
-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
|
||||||
|
+if false; then ###[ '!' -f "$outpath/bin/qmake" ];
|
||||||
|
echo "Creating qmake. Please wait..."
|
||||||
|
|
||||||
|
OLD_QCONFIG_H=
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
From c9ab62bd9a56643574b3ae6e59e0ca776d4860d2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Krelin <hacker@klever.net>
|
||||||
|
Date: Mon, 4 Jun 2007 14:48:50 +0200
|
||||||
|
Subject: [PATCH] freetype host includes
|
||||||
|
|
||||||
|
Host include path should not be used in corss compiling case.
|
||||||
|
|
||||||
|
Ported from OE by: Yu Ke <ke.yu@intel.com>
|
||||||
|
|
||||||
|
---
|
||||||
|
config.tests/unix/freetype/freetype.pri | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
Index: qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri
|
||||||
|
===================================================================
|
||||||
|
--- qt-embedded-linux-opensource-src-4.5.0.orig/config.tests/unix/freetype/freetype.pri 2009-02-25 22:32:32.000000000 +0100
|
||||||
|
+++ qt-embedded-linux-opensource-src-4.5.0/config.tests/unix/freetype/freetype.pri 2009-03-26 17:14:16.000000000 +0100
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
!cross_compile {
|
||||||
|
- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
|
||||||
|
+ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
|
||||||
|
# LSB doesn't allow using headers from /include or /usr/include
|
||||||
|
linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
|
||||||
|
for(p, TRY_INCLUDEPATHS) {
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
Add lib infix to distinguish different qt compile version: e.g. "E" for embedded, "" for X11
|
||||||
|
|
||||||
|
Ported from OE by: Yu Ke <ke.yu@intel.com>
|
||||||
|
|
||||||
|
--- /tmp/uitools.prf 2009-12-01 18:38:22.000000000 +0100
|
||||||
|
+++ qt-everywhere-opensource-src-4.6.0/mkspecs/features/uitools.prf 2009-12-01 18:58:16.000000000 +0100
|
||||||
|
@@ -3,11 +3,11 @@
|
||||||
|
|
||||||
|
# Include the correct version of the UiLoader library
|
||||||
|
symbian: QTUITOOLS_LINKAGE = -lQtUiTools.lib
|
||||||
|
-else: QTUITOOLS_LINKAGE = -lQtUiTools
|
||||||
|
+else: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}
|
||||||
|
|
||||||
|
CONFIG(debug, debug|release) {
|
||||||
|
- mac: QTUITOOLS_LINKAGE = -lQtUiTools_debug
|
||||||
|
- win32: QTUITOOLS_LINKAGE = -lQtUiToolsd
|
||||||
|
+ mac: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}_debug
|
||||||
|
+ win32: QTUITOOLS_LINKAGE = -lQtUiTools$${QT_LIBINFIX}d
|
||||||
|
}
|
||||||
|
LIBS += $$QTUITOOLS_LINKAGE
|
||||||
|
|
||||||
|
--- /tmp/uitools.pro 2009-12-01 18:40:28.000000000 +0100
|
||||||
|
+++ qt-everywhere-opensource-src-4.6.0/tools/designer/src/uitools/uitools.pro 2009-12-01 18:59:18.000000000 +0100
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
TEMPLATE = lib
|
||||||
|
-TARGET = $$qtLibraryTarget(QtUiTools)
|
||||||
|
+TARGET = QtUiTools
|
||||||
|
QT += xml
|
||||||
|
CONFIG += qt staticlib
|
||||||
|
DESTDIR = ../../../../lib
|
||||||
|
@@ -43,3 +43,5 @@
|
||||||
|
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
|
||||||
|
QMAKE_PKGCONFIG_REQUIRES += QtXml
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
|
||||||
@@ -0,0 +1,299 @@
|
|||||||
|
Add 2bpp support
|
||||||
|
|
||||||
|
Ported from OE by: Yu Ke <ke.yu@intel.com>
|
||||||
|
|
||||||
|
diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/configure qt-embedded-linux-opensource-src-4.4.3/configure
|
||||||
|
--- qt-embedded-linux-opensource-src-4.4.3.orig/configure 2008-09-27 11:01:23.000000000 +0200
|
||||||
|
+++ qt-embedded-linux-opensource-src-4.4.3/configure 2009-01-14 14:30:53.000000000 +0100
|
||||||
|
@@ -5045,6 +5045,7 @@
|
||||||
|
echo "Choose pixel-depths to support:"
|
||||||
|
echo
|
||||||
|
echo " 1. 1bpp, black/white"
|
||||||
|
+ echo " 2. 2bpp, grayscale"
|
||||||
|
echo " 4. 4bpp, grayscale"
|
||||||
|
echo " 8. 8bpp, paletted"
|
||||||
|
echo " 12. 12bpp, rgb 4-4-4"
|
||||||
|
@@ -5063,11 +5064,11 @@
|
||||||
|
fi
|
||||||
|
if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
|
||||||
|
if [ "$CFG_QWS_DEPTHS" = "all" ]; then
|
||||||
|
- CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
|
||||||
|
+ CFG_QWS_DEPTHS="1 2 4 8 12 15 16 18 24 32 generic"
|
||||||
|
fi
|
||||||
|
for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
|
||||||
|
case $D in
|
||||||
|
- 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
|
||||||
|
+ 1|2|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
|
||||||
|
generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreenlinuxfb_qws.cpp qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreenlinuxfb_qws.cpp
|
||||||
|
--- qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreenlinuxfb_qws.cpp 2008-09-27 11:01:28.000000000 +0200
|
||||||
|
+++ qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreenlinuxfb_qws.cpp 2009-01-14 17:22:34.000000000 +0100
|
||||||
|
@@ -404,8 +404,8 @@
|
||||||
|
setupOffScreen();
|
||||||
|
|
||||||
|
// Now read in palette
|
||||||
|
- if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4)) {
|
||||||
|
- screencols= (vinfo.bits_per_pixel==8) ? 256 : 16;
|
||||||
|
+ if((vinfo.bits_per_pixel==8) || (vinfo.bits_per_pixel==4) || (vinfo.bits_per_pixel==2)) {
|
||||||
|
+ screencols= 1 << vinfo.bits_per_pixel;
|
||||||
|
int loopc;
|
||||||
|
fb_cmap startcmap;
|
||||||
|
startcmap.start=0;
|
||||||
|
diff -urN qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreen_qws.cpp qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreen_qws.cpp
|
||||||
|
--- qt-embedded-linux-opensource-src-4.4.3.orig/src/gui/embedded/qscreen_qws.cpp 2008-09-27 11:01:28.000000000 +0200
|
||||||
|
+++ qt-embedded-linux-opensource-src-4.4.3/src/gui/embedded/qscreen_qws.cpp 2009-01-14 17:22:44.000000000 +0100
|
||||||
|
@@ -444,6 +444,58 @@
|
||||||
|
}
|
||||||
|
#endif // QT_QWS_DEPTH_4
|
||||||
|
|
||||||
|
+#ifdef QT_QWS_DEPTH_2
|
||||||
|
+static inline void qt_rectfill_gray2(quint8 *dest, quint8 value,
|
||||||
|
+ int x, int y, int width, int height,
|
||||||
|
+ int stride)
|
||||||
|
+{
|
||||||
|
+ const int pixelsPerByte = 4;
|
||||||
|
+ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
|
||||||
|
+ const int doAlign = (alignWidth > 0 ? 1 : 0);
|
||||||
|
+ const int alignStart = pixelsPerByte - 1 - (x & 3);
|
||||||
|
+ const int alignStop = alignStart - (alignWidth - 1);
|
||||||
|
+ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
|
||||||
|
+ const int tailWidth = (width - alignWidth) & 3;
|
||||||
|
+ const int doTail = (tailWidth > 0 ? 1 : 0);
|
||||||
|
+ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
|
||||||
|
+ const int width8 = (width - alignWidth) / pixelsPerByte;
|
||||||
|
+
|
||||||
|
+ dest += y * stride + x / pixelsPerByte;
|
||||||
|
+ stride -= (doAlign + width8);
|
||||||
|
+
|
||||||
|
+ for (int j = 0; j < height; ++j) {
|
||||||
|
+ if (doAlign) {
|
||||||
|
+ *dest = (*dest & ~alignMask) | (value & alignMask);
|
||||||
|
+ ++dest;
|
||||||
|
+ }
|
||||||
|
+ if (width8) {
|
||||||
|
+ qt_memfill<quint8>(dest, value, width8);
|
||||||
|
+ dest += width8;
|
||||||
|
+ }
|
||||||
|
+ if (doTail)
|
||||||
|
+ *dest = (*dest & tailMask) | (value & ~tailMask);
|
||||||
|
+ dest += stride;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void solidFill_gray2(QScreen *screen, const QColor &color,
|
||||||
|
+ const QRegion ®ion)
|
||||||
|
+{
|
||||||
|
+ quint8 *dest = reinterpret_cast<quint8*>(screen->base());
|
||||||
|
+ const quint8 c = qGray(color.rgba()) >> 6;
|
||||||
|
+ const quint8 c8 = (c << 6) | (c << 4) | (c << 2) | c;
|
||||||
|
+
|
||||||
|
+ const int stride = screen->linestep();
|
||||||
|
+ const QVector<QRect> rects = region.rects();
|
||||||
|
+
|
||||||
|
+ for (int i = 0; i < rects.size(); ++i) {
|
||||||
|
+ const QRect r = rects.at(i);
|
||||||
|
+ qt_rectfill_gray2(dest, c8, r.x(), r.y(), r.width(), r.height(),
|
||||||
|
+ stride);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+#endif // QT_QWS_DEPTH_2
|
||||||
|
+
|
||||||
|
#ifdef QT_QWS_DEPTH_1
|
||||||
|
static inline void qt_rectfill_mono(quint8 *dest, quint8 value,
|
||||||
|
int x, int y, int width, int height,
|
||||||
|
@@ -551,6 +603,11 @@
|
||||||
|
screen->d_ptr->solidFill = solidFill_gray4;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
+#ifdef QT_QWS_DEPTH_2
|
||||||
|
+ case 2:
|
||||||
|
+ screen->d_ptr->solidFill = solidFill_gray2;
|
||||||
|
+ break;
|
||||||
|
+#endif
|
||||||
|
#ifdef QT_QWS_DEPTH_1
|
||||||
|
case 1:
|
||||||
|
screen->d_ptr->solidFill = solidFill_mono;
|
||||||
|
@@ -958,6 +1015,149 @@
|
||||||
|
}
|
||||||
|
#endif // QT_QWS_DEPTH_4
|
||||||
|
|
||||||
|
+#ifdef QT_QWS_DEPTH_2
|
||||||
|
+
|
||||||
|
+struct qgray2 { quint8 dummy; } Q_PACKED;
|
||||||
|
+
|
||||||
|
+template <typename SRC>
|
||||||
|
+static inline quint8 qt_convertToGray2(SRC color);
|
||||||
|
+
|
||||||
|
+template <>
|
||||||
|
+inline quint8 qt_convertToGray2(quint32 color)
|
||||||
|
+{
|
||||||
|
+ return qGray(color) >> 6;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <>
|
||||||
|
+inline quint8 qt_convertToGray2(quint16 color)
|
||||||
|
+{
|
||||||
|
+ const int r = (color & 0xf800) >> 11;
|
||||||
|
+ const int g = (color & 0x07e0) >> 6; // only keep 5 bit
|
||||||
|
+ const int b = (color & 0x001f);
|
||||||
|
+ return (r * 11 + g * 16 + b * 5) >> 8;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <>
|
||||||
|
+inline quint8 qt_convertToGray2(qrgb444 color)
|
||||||
|
+{
|
||||||
|
+ return qt_convertToGray2(quint32(color));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <>
|
||||||
|
+inline quint8 qt_convertToGray2(qargb4444 color)
|
||||||
|
+{
|
||||||
|
+ return qt_convertToGray2(quint32(color));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <typename SRC>
|
||||||
|
+static inline void qt_rectconvert_gray2(qgray2 *dest2, const SRC *src,
|
||||||
|
+ int x, int y, int width, int height,
|
||||||
|
+ int dstStride, int srcStride)
|
||||||
|
+{
|
||||||
|
+ const int pixelsPerByte = 4;
|
||||||
|
+ quint8 *dest8 = reinterpret_cast<quint8*>(dest2)
|
||||||
|
+ + y * dstStride + x / pixelsPerByte;
|
||||||
|
+ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
|
||||||
|
+ const int doAlign = (alignWidth > 0 ? 1 : 0);
|
||||||
|
+ const int alignStart = pixelsPerByte - 1 - (x & 3);
|
||||||
|
+ const int alignStop = alignStart - (alignWidth - 1);
|
||||||
|
+ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
|
||||||
|
+ const int tailWidth = (width - alignWidth) & 3;
|
||||||
|
+ const int doTail = (tailWidth > 0 ? 1 : 0);
|
||||||
|
+ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
|
||||||
|
+ const int width8 = (width - alignWidth) / pixelsPerByte;
|
||||||
|
+
|
||||||
|
+ srcStride = srcStride / sizeof(SRC) - (width8 * pixelsPerByte + alignWidth);
|
||||||
|
+ dstStride -= (width8 + doAlign);
|
||||||
|
+
|
||||||
|
+ for (int j = 0; j < height; ++j) {
|
||||||
|
+ if (doAlign) {
|
||||||
|
+ quint8 d = *dest8 & ~alignMask;
|
||||||
|
+ for (int i = alignStart; i >= alignStop; --i)
|
||||||
|
+ d |= qt_convertToGray2<SRC>(*src++) << (2 * i);
|
||||||
|
+ *dest8++ = d;
|
||||||
|
+ }
|
||||||
|
+ for (int i = 0; i < width8; ++i) {
|
||||||
|
+ *dest8 = (qt_convertToGray2<SRC>(src[0]) << 6)
|
||||||
|
+ | (qt_convertToGray2<SRC>(src[1]) << 4)
|
||||||
|
+ | (qt_convertToGray2<SRC>(src[2]) << 2)
|
||||||
|
+ | (qt_convertToGray2<SRC>(src[3]));
|
||||||
|
+ src += 4;
|
||||||
|
+ ++dest8;
|
||||||
|
+ }
|
||||||
|
+ if (doTail) {
|
||||||
|
+ quint8 d = *dest8 & tailMask;
|
||||||
|
+ switch (tailWidth) {
|
||||||
|
+ case 3: d |= qt_convertToGray2<SRC>(src[2]) << 2;
|
||||||
|
+ case 2: d |= qt_convertToGray2<SRC>(src[1]) << 4;
|
||||||
|
+ case 1: d |= qt_convertToGray2<SRC>(src[0]) << 6;
|
||||||
|
+ }
|
||||||
|
+ *dest8 = d;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ dest8 += dstStride;
|
||||||
|
+ src += srcStride;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <>
|
||||||
|
+void qt_rectconvert(qgray2 *dest, const quint32 *src,
|
||||||
|
+ int x, int y, int width, int height,
|
||||||
|
+ int dstStride, int srcStride)
|
||||||
|
+{
|
||||||
|
+ qt_rectconvert_gray2<quint32>(dest, src, x, y, width, height,
|
||||||
|
+ dstStride, srcStride);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <>
|
||||||
|
+void qt_rectconvert(qgray2 *dest, const quint16 *src,
|
||||||
|
+ int x, int y, int width, int height,
|
||||||
|
+ int dstStride, int srcStride)
|
||||||
|
+{
|
||||||
|
+ qt_rectconvert_gray2<quint16>(dest, src, x, y, width, height,
|
||||||
|
+ dstStride, srcStride);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <>
|
||||||
|
+void qt_rectconvert(qgray2 *dest, const qrgb444 *src,
|
||||||
|
+ int x, int y, int width, int height,
|
||||||
|
+ int dstStride, int srcStride)
|
||||||
|
+{
|
||||||
|
+ qt_rectconvert_gray2<qrgb444>(dest, src, x, y, width, height,
|
||||||
|
+ dstStride, srcStride);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+template <>
|
||||||
|
+void qt_rectconvert(qgray2 *dest, const qargb4444 *src,
|
||||||
|
+ int x, int y, int width, int height,
|
||||||
|
+ int dstStride, int srcStride)
|
||||||
|
+{
|
||||||
|
+ qt_rectconvert_gray2<qargb4444>(dest, src, x, y, width, height,
|
||||||
|
+ dstStride, srcStride);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void blit_2(QScreen *screen, const QImage &image,
|
||||||
|
+ const QPoint &topLeft, const QRegion ®ion)
|
||||||
|
+{
|
||||||
|
+ switch (image.format()) {
|
||||||
|
+ case QImage::Format_ARGB32_Premultiplied:
|
||||||
|
+ blit_template<qgray2, quint32>(screen, image, topLeft, region);
|
||||||
|
+ return;
|
||||||
|
+ case QImage::Format_RGB16:
|
||||||
|
+ blit_template<qgray2, quint16>(screen, image, topLeft, region);
|
||||||
|
+ return;
|
||||||
|
+ case QImage::Format_RGB444:
|
||||||
|
+ blit_template<qgray2, qrgb444>(screen, image, topLeft, region);
|
||||||
|
+ return;
|
||||||
|
+ case QImage::Format_ARGB4444_Premultiplied:
|
||||||
|
+ blit_template<qgray2, qargb4444>(screen, image, topLeft, region);
|
||||||
|
+ return;
|
||||||
|
+ default:
|
||||||
|
+ qCritical("blit_2(): Image format %d not supported!", image.format());
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+#endif // QT_QWS_DEPTH_2
|
||||||
|
+
|
||||||
|
#ifdef QT_QWS_DEPTH_1
|
||||||
|
|
||||||
|
struct qmono { quint8 dummy; } Q_PACKED;
|
||||||
|
@@ -1206,6 +1406,11 @@
|
||||||
|
screen->d_ptr->blit = blit_4;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
+#ifdef QT_QWS_DEPTH_2
|
||||||
|
+ case 2:
|
||||||
|
+ screen->d_ptr->blit = blit_2;
|
||||||
|
+ break;
|
||||||
|
+#endif
|
||||||
|
#ifdef QT_QWS_DEPTH_1
|
||||||
|
case 1:
|
||||||
|
screen->d_ptr->blit = blit_1;
|
||||||
|
@@ -2056,6 +2261,8 @@
|
||||||
|
}
|
||||||
|
} else if (d == 4) {
|
||||||
|
ret = qGray(r, g, b) >> 4;
|
||||||
|
+ } else if (d == 2) {
|
||||||
|
+ ret = qGray(r, g, b) >> 6;
|
||||||
|
} else if (d == 1) {
|
||||||
|
ret = qGray(r, g, b) >= 128;
|
||||||
|
} else {
|
||||||
|
@@ -2126,6 +2333,10 @@
|
||||||
|
} else if(d==1) {
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
+#ifdef QT_QWS_DEPTH_2
|
||||||
|
+ } else if(d==2) {
|
||||||
|
+ return true;
|
||||||
|
+#endif
|
||||||
|
#ifdef QT_QWS_DEPTH_4
|
||||||
|
} else if(d==4) {
|
||||||
|
return true;
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
Ported from OE by: Yu Ke <ke.yu@intel.com>
|
||||||
|
|
||||||
|
--- /tmp/qws.pro 2009-12-10 19:30:08.000000000 +0100
|
||||||
|
+++ qt-everywhere-opensource-src-4.6.0/examples/qws/qws.pro 2009-12-10 19:30:21.000000000 +0100
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
TEMPLATE = subdirs
|
||||||
|
# no /dev/fbX
|
||||||
|
!qnx:!vxworks:SUBDIRS = framebuffer
|
||||||
|
-SUBDIRS += mousecalibration simpledecoration
|
||||||
|
+SUBDIRS += mousecalibration
|
||||||
|
|
||||||
|
# install
|
||||||
|
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS README *.pro
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
Fix invocation in case of "ccache some-compiler-gcc". As the command "ccache some-compiler-gcc" will not exist but "ccache" will.
|
||||||
|
|
||||||
|
both visibility and relocs were affected.
|
||||||
|
|
||||||
|
Ported from OE by: Yu Ke <ke.yu@intel.com>
|
||||||
|
|
||||||
|
Index: qt-x11-opensource-src-4.5.2/config.tests/unix/bsymbolic_functions.test
|
||||||
|
===================================================================
|
||||||
|
--- qt-x11-opensource-src-4.5.2.orig/config.tests/unix/bsymbolic_functions.test 2009-08-01 08:01:11.000000000 +0200
|
||||||
|
+++ qt-x11-opensource-src-4.5.2/config.tests/unix/bsymbolic_functions.test 2009-08-01 08:01:16.000000000 +0200
|
||||||
|
@@ -8,7 +8,7 @@
|
||||||
|
int main() { return 0; }
|
||||||
|
EOF
|
||||||
|
|
||||||
|
-"$COMPILER" -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
|
||||||
|
+$COMPILER -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c >/dev/null 2>&1 && BSYMBOLIC_FUNCTIONS_SUPPORT=yes
|
||||||
|
rm -f bsymbolic_functions.c libtest.so
|
||||||
|
|
||||||
|
# done
|
||||||
|
Index: qt-x11-opensource-src-4.5.2/config.tests/unix/fvisibility.test
|
||||||
|
===================================================================
|
||||||
|
--- qt-x11-opensource-src-4.5.2.orig/config.tests/unix/fvisibility.test 2009-06-20 06:57:50.000000000 +0200
|
||||||
|
+++ qt-x11-opensource-src-4.5.2/config.tests/unix/fvisibility.test 2009-08-01 07:59:05.000000000 +0200
|
||||||
|
@@ -15,9 +15,9 @@
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if [ "$VERBOSE" = "yes" ] ; then
|
||||||
|
- "$COMPILER" -c -fvisibility=hidden fvisibility.c && FVISIBILITY_SUPPORT=yes
|
||||||
|
+ $COMPILER -c -fvisibility=hidden fvisibility.c && FVISIBILITY_SUPPORT=yes
|
||||||
|
else
|
||||||
|
- "$COMPILER" -c -fvisibility=hidden fvisibility.c >/dev/null 2>&1 && FVISIBILITY_SUPPORT=yes
|
||||||
|
+ $COMPILER -c -fvisibility=hidden fvisibility.c >/dev/null 2>&1 && FVISIBILITY_SUPPORT=yes
|
||||||
|
fi
|
||||||
|
rm -f fvisibility.c fvisibility.o
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
#
|
||||||
|
# qmake configuration for common gcc
|
||||||
|
#
|
||||||
|
|
||||||
|
QMAKE_CC = $(OE_QMAKE_CC)
|
||||||
|
QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
|
||||||
|
QMAKE_CFLAGS_DEPS += -M
|
||||||
|
QMAKE_CFLAGS_WARN_ON += -Wall -W
|
||||||
|
QMAKE_CFLAGS_WARN_OFF += -w
|
||||||
|
QMAKE_CFLAGS_RELEASE +=
|
||||||
|
QMAKE_CFLAGS_DEBUG += -g
|
||||||
|
QMAKE_CFLAGS_SHLIB += -fPIC
|
||||||
|
QMAKE_CFLAGS_STATIC_LIB += -fPIC
|
||||||
|
QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
|
||||||
|
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
|
||||||
|
QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
||||||
|
QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
|
||||||
|
|
||||||
|
QMAKE_CXX = $(OE_QMAKE_CXX)
|
||||||
|
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
|
||||||
|
QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
|
||||||
|
QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
|
||||||
|
QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
|
||||||
|
QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
|
||||||
|
QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
|
||||||
|
QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
|
||||||
|
QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
|
||||||
|
QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
|
||||||
|
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
|
||||||
|
QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
||||||
|
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
|
||||||
|
|
||||||
|
QMAKE_LINK = $(OE_QMAKE_LINK)
|
||||||
|
QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
|
||||||
|
QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
|
||||||
|
QMAKE_LFLAGS_RELEASE +=
|
||||||
|
QMAKE_LFLAGS_DEBUG +=
|
||||||
|
QMAKE_LFLAGS_APP +=
|
||||||
|
QMAKE_LFLAGS_SHLIB += -shared
|
||||||
|
QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
|
||||||
|
QMAKE_LFLAGS_SONAME += -Wl,-soname,
|
||||||
|
QMAKE_LFLAGS_THREAD +=
|
||||||
|
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
|
||||||
|
QMAKE_RPATH = -Wl,-rpath-link,
|
||||||
|
|
||||||
|
QMAKE_PCH_OUTPUT_EXT = .gch
|
||||||
|
|
||||||
|
# -Bsymbolic-functions (ld) support
|
||||||
|
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
|
||||||
|
QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
|
||||||
|
|
||||||
|
# for the SDK
|
||||||
|
isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
Hack to not use the pg_config of the host system which will add /usr/include
|
||||||
|
|
||||||
|
pg_config is a native binary so using that when cross compiling
|
||||||
|
will always fail. The commented out fix would do, but for OE
|
||||||
|
our -platform and -xplatform is the same so we are actually not
|
||||||
|
really cross compiling. Just comment out the test, we are passing
|
||||||
|
the location to the postgres headers and if they are okay we
|
||||||
|
will padd.
|
||||||
|
|
||||||
|
Ported from OE by: Yu Ke <ke.yu@intel.com>
|
||||||
|
|
||||||
|
Index: qt-embedded-linux-opensource-src-4.5.2/configure
|
||||||
|
===================================================================
|
||||||
|
--- qt-embedded-linux-opensource-src-4.5.2.orig/configure 2009-08-10 03:03:04.000000000 +0200
|
||||||
|
+++ qt-embedded-linux-opensource-src-4.5.2/configure 2009-08-10 03:58:11.000000000 +0200
|
||||||
|
@@ -4401,10 +4402,10 @@
|
||||||
|
;;
|
||||||
|
psql)
|
||||||
|
if [ "$CFG_SQL_psql" != "no" ]; then
|
||||||
|
- if "$WHICH" pg_config >/dev/null 2>&1; then
|
||||||
|
- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
|
||||||
|
- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
|
||||||
|
- fi
|
||||||
|
+# if [ "$QT_CROSS_COMPILE" = "no" ] && "$WHICH" pg_config >/dev/null 2>&1; then
|
||||||
|
+# QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
|
||||||
|
+# QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
|
||||||
|
+# fi
|
||||||
|
[ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
|
||||||
|
[ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
|
||||||
|
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
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
#
|
||||||
|
# qmake configuration for common linux
|
||||||
|
#
|
||||||
|
|
||||||
|
QMAKE_CFLAGS_THREAD += -D_REENTRANT
|
||||||
|
QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
|
||||||
|
|
||||||
|
QMAKE_INCDIR =
|
||||||
|
QMAKE_LIBDIR =
|
||||||
|
QMAKE_INCDIR_X11 =
|
||||||
|
QMAKE_LIBDIR_X11 =
|
||||||
|
QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
|
||||||
|
QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
|
||||||
|
QMAKE_INCDIR_OPENGL =
|
||||||
|
QMAKE_LIBDIR_OPENGL =
|
||||||
|
|
||||||
|
|
||||||
|
QMAKE_LIBS =
|
||||||
|
QMAKE_LIBS_DYNLOAD = -ldl
|
||||||
|
QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
|
||||||
|
QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
|
||||||
|
QMAKE_LIBS_NIS = -lnsl
|
||||||
|
QMAKE_LIBS_OPENGL = -lGLU -lGL
|
||||||
|
QMAKE_LIBS_OPENGL_QT = -lGL
|
||||||
|
QMAKE_LIBS_THREAD = -lpthread
|
||||||
|
|
||||||
|
QMAKE_MOC = $(OE_QMAKE_MOC)
|
||||||
|
QMAKE_UIC = $(OE_QMAKE_UIC)
|
||||||
|
QMAKE_UIC3 = $(OE_QMAKE_UIC3)
|
||||||
|
QMAKE_RCC = $(OE_QMAKE_RCC)
|
||||||
|
QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
|
||||||
|
QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
|
||||||
|
|
||||||
|
QMAKE_AR = $(OE_QMAKE_AR) cqs
|
||||||
|
QMAKE_OBJCOPY = objcopy
|
||||||
|
QMAKE_RANLIB =
|
||||||
|
|
||||||
|
QMAKE_TAR = tar -cf
|
||||||
|
QMAKE_GZIP = gzip -9f
|
||||||
|
|
||||||
|
QMAKE_COPY = cp -f
|
||||||
|
QMAKE_COPY_FILE = $(COPY)
|
||||||
|
QMAKE_COPY_DIR = $(COPY) -r
|
||||||
|
QMAKE_MOVE = mv -f
|
||||||
|
QMAKE_DEL_FILE = rm -f
|
||||||
|
QMAKE_DEL_DIR = rmdir
|
||||||
|
QMAKE_STRIP = $(OE_QMAKE_STRIP)
|
||||||
|
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
|
||||||
|
QMAKE_CHK_DIR_EXISTS = test -d
|
||||||
|
QMAKE_MKDIR = mkdir -p
|
||||||
|
QMAKE_INSTALL_FILE = install -m 644 -p
|
||||||
|
QMAKE_INSTALL_PROGRAM = install -m 755 -p
|
||||||
|
|
||||||
|
include(unix.conf)
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
Ported from OE by: Yu Ke <ke.yu@intel.com>
|
||||||
|
|
||||||
|
--- /tmp/qlibraryinfo.cpp 2008-08-02 17:16:41.000000000 +0200
|
||||||
|
+++ qt-embedded-linux-opensource-src-4.4.1/src/corelib/global/qlibraryinfo.cpp 2008-08-02 17:17:42.000000000 +0200
|
||||||
|
@@ -47,6 +47,7 @@
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
extern QString qmake_libraryInfoFile();
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
+#include <stdlib.h>
|
||||||
|
#else
|
||||||
|
# include "qcoreapplication.h"
|
||||||
|
#endif
|
||||||
|
@@ -113,6 +114,10 @@
|
||||||
|
#ifdef QT_BUILD_QMAKE
|
||||||
|
if(!QFile::exists(qtconfig))
|
||||||
|
qtconfig = qmake_libraryInfoFile();
|
||||||
|
+ if (!QFile::exists(qtconfig)) {
|
||||||
|
+ QByteArray config = getenv("QT_CONF_PATH");
|
||||||
|
+ qtconfig = QFile::decodeName(config);
|
||||||
|
+ }
|
||||||
|
#else
|
||||||
|
if (!QFile::exists(qtconfig) && QCoreApplication::instance()) {
|
||||||
|
#ifdef Q_OS_MAC
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
LICENSE = "LGPLv2.1 | GPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
|
||||||
|
file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
|
||||||
|
file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
|
||||||
|
|
||||||
|
SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
|
||||||
|
file://0001-cross-compile.patch \
|
||||||
|
file://0002-fix-resinit-declaration.patch \
|
||||||
|
file://0004-no-qmake.patch \
|
||||||
|
file://0006-freetype-host-includes.patch \
|
||||||
|
file://0008-qt-lib-infix.patch \
|
||||||
|
file://0009-support-2bpp.patch \
|
||||||
|
file://0010-no-simpledecoration-example.patch \
|
||||||
|
file://fix-config-tests.patch \
|
||||||
|
file://qt-config.patch \
|
||||||
|
file://g++.conf \
|
||||||
|
file://linux.conf \
|
||||||
|
file://hack-out-pg_config.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
|
||||||
|
|
||||||
|
do_configure_prepend() {
|
||||||
|
for pro in $(find ${S} -name "*.pro") ; do
|
||||||
|
sed -i 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' $pro
|
||||||
|
done
|
||||||
|
|
||||||
|
sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
|
||||||
|
sed -i \
|
||||||
|
-e /QMAKE_MOC\ /d \
|
||||||
|
-e /QMAKE_UIC\ /d \
|
||||||
|
-e /QMAKE_UIC3\ /d \
|
||||||
|
-e /QMAKE_RCC\ /d \
|
||||||
|
${S}/configure
|
||||||
|
}
|
||||||
|
|
||||||
|
do_configure_append() {
|
||||||
|
sed -e '/QMAKE_TARGET /d' -e '/TARGET /d' -i ${S}/translations/Makefile
|
||||||
|
}
|
||||||
|
|
||||||
|
QT_GLFLAGS ?= ""
|
||||||
|
QT_CONFIG_FLAGS += " -no-rpath -qt3support -silent ${QT_GLFLAGS}"
|
||||||
|
|
||||||
|
do_compile() {
|
||||||
|
# Fixup missing wsegl header in some SGX SDKs
|
||||||
|
if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
|
||||||
|
cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset CFLAGS CXXFLAGS
|
||||||
|
oe_runmake ${EXTRA_ENV}
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install_append() {
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
for i in rcc uic moc ; do
|
||||||
|
install -m 0755 ${S}/bin/$i ${D}${bindir}/
|
||||||
|
done
|
||||||
|
|
||||||
|
#Append an E to the qtdemo file
|
||||||
|
if [ -n "${QT_LIBINFIX}" ] ; then
|
||||||
|
mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
#
|
||||||
|
# qmake configuration for common linux
|
||||||
|
#
|
||||||
|
|
||||||
|
QMAKE_CFLAGS_THREAD += -D_REENTRANT
|
||||||
|
QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
|
||||||
|
|
||||||
|
QMAKE_INCDIR =
|
||||||
|
QMAKE_LIBDIR =
|
||||||
|
QMAKE_INCDIR_X11 =
|
||||||
|
QMAKE_LIBDIR_X11 =
|
||||||
|
QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
|
||||||
|
QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
|
||||||
|
QMAKE_INCDIR_OPENGL =
|
||||||
|
QMAKE_LIBDIR_OPENGL =
|
||||||
|
|
||||||
|
|
||||||
|
QMAKE_LIBS = -Wl,-rpath-link,SEDME/lib -lglib-2.0
|
||||||
|
QMAKE_LIBS_DYNLOAD = -ldl
|
||||||
|
QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
|
||||||
|
QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
|
||||||
|
QMAKE_LIBS_NIS = -lnsl
|
||||||
|
QMAKE_LIBS_OPENGL = -lGLU -lGL
|
||||||
|
QMAKE_LIBS_OPENGL_QT = -lGL
|
||||||
|
QMAKE_LIBS_THREAD = -lpthread
|
||||||
|
|
||||||
|
QMAKE_MOC = $(OE_QMAKE_MOC)
|
||||||
|
QMAKE_UIC = $(OE_QMAKE_UIC)
|
||||||
|
QMAKE_UIC3 = $(OE_QMAKE_UIC3)
|
||||||
|
QMAKE_RCC = $(OE_QMAKE_RCC)
|
||||||
|
QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
|
||||||
|
QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
|
||||||
|
|
||||||
|
QMAKE_AR = $(OE_QMAKE_AR) cqs
|
||||||
|
QMAKE_OBJCOPY = ${OBJCOPY}
|
||||||
|
QMAKE_RANLIB =
|
||||||
|
|
||||||
|
QMAKE_TAR = tar -cf
|
||||||
|
QMAKE_GZIP = gzip -9f
|
||||||
|
|
||||||
|
QMAKE_COPY = cp -f
|
||||||
|
QMAKE_COPY_FILE = $(COPY)
|
||||||
|
QMAKE_COPY_DIR = $(COPY) -r
|
||||||
|
QMAKE_MOVE = mv -f
|
||||||
|
QMAKE_DEL_FILE = rm -f
|
||||||
|
QMAKE_DEL_DIR = rmdir
|
||||||
|
QMAKE_STRIP = $(OE_QMAKE_STRIP)
|
||||||
|
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
|
||||||
|
QMAKE_CHK_DIR_EXISTS = test -d
|
||||||
|
QMAKE_MKDIR = mkdir -p
|
||||||
|
QMAKE_INSTALL_FILE = install -m 644 -p
|
||||||
|
QMAKE_INSTALL_PROGRAM = install -m 755 -p
|
||||||
|
|
||||||
|
include(unix.conf)
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
require qt4.inc
|
||||||
|
|
||||||
|
SECTION = "x11/libs"
|
||||||
|
PRIORITY = "optional"
|
||||||
|
DEPENDS += "virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
|
||||||
|
|
||||||
|
QT_GLFLAGS ?= "-no-opengl"
|
||||||
|
QT_CONFIG_FLAGS += "-no-xinerama -no-xkb ${QT_GLFLAGS}"
|
||||||
|
QT_BASE_NAME ?= "qt4"
|
||||||
|
QT_BASE_LIB ?= "libqt"
|
||||||
|
QT_DIR_NAME = "qt4"
|
||||||
|
QT_LIBINFIX = ""
|
||||||
|
|
||||||
|
inherit qmake2
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
require qt4-x11-free.inc
|
||||||
|
require qt-4.6.3.inc
|
||||||
|
|
||||||
|
PR = "r0"
|
||||||
|
|
||||||
|
QT_CONFIG_FLAGS += " -xrandr "
|
||||||
@@ -0,0 +1,300 @@
|
|||||||
|
DESCRIPTION = "Qt is a comprehensive cross-platform C++ application framework"
|
||||||
|
HOMEPAGE = "http://qt.nokia.com"
|
||||||
|
|
||||||
|
DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base sqlite3"
|
||||||
|
|
||||||
|
inherit qmake_base
|
||||||
|
|
||||||
|
QT_CONFIG_FLAGS += "-release -no-cups -no-accessibility -reduce-relocations \
|
||||||
|
-shared -no-nas-sound -no-sm -no-nis \
|
||||||
|
-qt-gif -system-libjpeg -system-libpng -system-zlib \
|
||||||
|
-no-sql-ibase -no-sql-mysql -no-sql-psql -no-sql-odbc -plugin-sql-sqlite \
|
||||||
|
-no-pch -dbus -stl -glib -phonon -webkit"
|
||||||
|
|
||||||
|
EXTRA_OEMAKE = "-e"
|
||||||
|
|
||||||
|
EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
|
||||||
|
INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
|
||||||
|
QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
|
||||||
|
AR="${TARGET_PREFIX}ar cqs" \
|
||||||
|
MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
|
||||||
|
|
||||||
|
export QT_CONF_PATH="${WORKDIR}/qt.conf"
|
||||||
|
|
||||||
|
# Library packages
|
||||||
|
QT_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"
|
||||||
|
|
||||||
|
QT_EXTRA_LIBS = "pvrQWSWSEGL"
|
||||||
|
|
||||||
|
python __anonymous () {
|
||||||
|
import bb
|
||||||
|
|
||||||
|
lib_packages = []
|
||||||
|
dev_packages = []
|
||||||
|
dbg_packages = []
|
||||||
|
for name in bb.data.getVar("QT_LIB_NAMES", d, 1).split():
|
||||||
|
pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4"
|
||||||
|
# NOTE: the headers for QtAssistantClient are different
|
||||||
|
incname = name.replace("QtAssistantClient", "QtAssistant")
|
||||||
|
bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d)
|
||||||
|
bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s${QT_LIBINFIX}.prl
|
||||||
|
${libdir}/lib%(name)s${QT_LIBINFIX}.a
|
||||||
|
${libdir}/lib%(name)s${QT_LIBINFIX}.la
|
||||||
|
${libdir}/lib%(name)s${QT_LIBINFIX}.so
|
||||||
|
${includedir}/${QT_DIR_NAME}/%(incname)s
|
||||||
|
${libdir}/pkgconfig/%(name)s${QT_LIBINFIX}.pc""" % locals(), d)
|
||||||
|
bb.data.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d)
|
||||||
|
lib_packages.append(pkg)
|
||||||
|
dev_packages.append("%s-dev" % pkg)
|
||||||
|
dbg_packages.append("%s-dbg" % pkg)
|
||||||
|
for name in bb.data.getVar("OTHER_PACKAGES", d, 1).split():
|
||||||
|
dbg_packages.append("%s-dbg" % name)
|
||||||
|
|
||||||
|
for name in bb.data.getVar("QT_EXTRA_LIBS", d, 1).split():
|
||||||
|
pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4"
|
||||||
|
bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s.so.*" % locals(), d)
|
||||||
|
bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s.prl
|
||||||
|
${libdir}/lib%(name)s.a
|
||||||
|
${libdir}/lib%(name)s.la
|
||||||
|
${libdir}/lib%(name)s.so
|
||||||
|
${includedir}/${QT_DIR_NAME}/%(incname)s
|
||||||
|
${libdir}/pkgconfig/%(name)s.pc""" % locals(), d)
|
||||||
|
bb.data.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s.so.*" % locals(), d)
|
||||||
|
lib_packages.append(pkg)
|
||||||
|
dev_packages.append("%s-dev" % pkg)
|
||||||
|
dbg_packages.append("%s-dbg" % pkg)
|
||||||
|
|
||||||
|
bb.data.setVar("LIB_PACKAGES", " ".join(lib_packages), d)
|
||||||
|
bb.data.setVar("DEV_PACKAGES", " ".join(dev_packages), d)
|
||||||
|
bb.data.setVar("DBG_PACKAGES", " ".join(dbg_packages), d)
|
||||||
|
}
|
||||||
|
|
||||||
|
OTHER_PACKAGES = "\
|
||||||
|
${QT_BASE_NAME}-tools \
|
||||||
|
${QT_BASE_NAME}-assistant \
|
||||||
|
${QT_BASE_NAME}-common \
|
||||||
|
${QT_BASE_NAME}-dbus \
|
||||||
|
${QT_BASE_NAME}-demos \
|
||||||
|
${QT_BASE_NAME}-designer \
|
||||||
|
${QT_BASE_NAME}-examples \
|
||||||
|
${QT_BASE_NAME}-fonts \
|
||||||
|
${QT_BASE_NAME}-fonts-ttf-vera \
|
||||||
|
${QT_BASE_NAME}-fonts-ttf-dejavu \
|
||||||
|
${QT_BASE_NAME}-fonts-pfa \
|
||||||
|
${QT_BASE_NAME}-fonts-pfb \
|
||||||
|
${QT_BASE_NAME}-fonts-qpf \
|
||||||
|
${QT_BASE_NAME}-linguist \
|
||||||
|
${QT_BASE_NAME}-makeqpf \
|
||||||
|
${QT_BASE_NAME}-mkspecs \
|
||||||
|
${QT_BASE_NAME}-pixeltool \
|
||||||
|
${QT_BASE_NAME}-qt3to4"
|
||||||
|
|
||||||
|
PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}"
|
||||||
|
PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-* ${QT_BASE_NAME}-translation-* ${QT_BASE_NAME}-fonts-*"
|
||||||
|
|
||||||
|
ALLOW_EMPTY_${PN} = "1"
|
||||||
|
ALLOW_EMPTY_${QT_BASE_NAME}-fonts = "1"
|
||||||
|
FILES_${PN} = ""
|
||||||
|
FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*"
|
||||||
|
FILES_${PN}-dbg = ""
|
||||||
|
RRECOMMENDS_${PN} = "${LIB_PACKAGES} ${OTHER_PACKAGES}"
|
||||||
|
RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}"
|
||||||
|
RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}"
|
||||||
|
RRECOMMENDS_${QT_BASE_NAME}-fonts = " \
|
||||||
|
${QT_BASE_NAME}-fonts-ttf-vera \
|
||||||
|
${QT_BASE_NAME}-fonts-ttf-dejavu \
|
||||||
|
${QT_BASE_NAME}-fonts-pfa \
|
||||||
|
${QT_BASE_NAME}-fonts-pfb \
|
||||||
|
${QT_BASE_NAME}-fonts-qpf"
|
||||||
|
|
||||||
|
FILES_${QT_BASE_NAME}-tools = "${bindir}/uic* ${bindir}/moc ${bindir}/rcc ${bindir}/qttracereplay ${bindir}/qdoc*"
|
||||||
|
FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant* ${bindir}/qcollectiongenerator ${bindir}/qhelpconverter ${bindir}/qhelpgenerator"
|
||||||
|
FILES_${QT_BASE_NAME}-assistant-dbg = "${bindir}/.debug/*assistant* ${bindir}/.debug/qcollectiongenerator ${bindir}/.debug/qhelpconverter ${bindir}/.debug/qhelpgenerator"
|
||||||
|
FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig"
|
||||||
|
FILES_${QT_BASE_NAME}-common-dbg = "${bindir}/.debug/qtconfig"
|
||||||
|
FILES_${QT_BASE_NAME}-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer"
|
||||||
|
FILES_${QT_BASE_NAME}-dbus-dbg = "${bindir}/.debug/qdbus ${bindir}/.debug/qdbusxml2cpp ${bindir}/.debug/qdbuscpp2xml ${bindir}/.debug/qdbusviewer"
|
||||||
|
FILES_${QT_BASE_NAME}-demos = "${bindir}/qtdemo* ${bindir}/${QT_DIR_NAME}/demos/*"
|
||||||
|
FILES_${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"
|
||||||
|
FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*"
|
||||||
|
FILES_${QT_BASE_NAME}-designer-dbg = "${bindir}/.debug/*designer*"
|
||||||
|
FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*"
|
||||||
|
FILES_${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"
|
||||||
|
FILES_${QT_BASE_NAME}-fonts-ttf-vera = "${libdir}/fonts/Vera*.ttf"
|
||||||
|
FILES_${QT_BASE_NAME}-fonts-ttf-dejavu = "${libdir}/fonts/DejaVu*.ttf"
|
||||||
|
FILES_${QT_BASE_NAME}-fonts-pfa = "${libdir}/fonts/*.pfa"
|
||||||
|
FILES_${QT_BASE_NAME}-fonts-pfb = "${libdir}/fonts/*.pfb"
|
||||||
|
FILES_${QT_BASE_NAME}-fonts-qpf = "${libdir}/fonts/*.qpf"
|
||||||
|
FILES_${QT_BASE_NAME}-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/lconvert ${bindir}/qm2ts"
|
||||||
|
FILES_${QT_BASE_NAME}-linguist-dbg = "${bindir}/.debug/*linguist* ${bindir}/.debug/lrelease ${bindir}/.debug/lupdate ${bindir}/.debug/lconvert ${bindir}/.debug/qm2ts"
|
||||||
|
FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool"
|
||||||
|
FILES_${QT_BASE_NAME}-pixeltool-dbg = "${bindir}/.debug/pixeltool"
|
||||||
|
FILES_${QT_BASE_NAME}-qt3to4 = "${bindir}/qt3to4 ${datadir}/${QT_DIR_NAME}/q3porting.xml"
|
||||||
|
FILES_${QT_BASE_NAME}-qt3to4-dbg = "${bindir}/.debug/qt3to4"
|
||||||
|
FILES_${QT_BASE_NAME}-makeqpf = "${bindir}/makeqpf"
|
||||||
|
FILES_${QT_BASE_NAME}-makeqpf-dbg = "${bindir}/.debug/makeqpf"
|
||||||
|
FILES_${QT_BASE_NAME}-mkspecs = "${datadir}/${QT_DIR_NAME}/mkspecs/*"
|
||||||
|
|
||||||
|
ARM_INSTRUCTION_SET = "arm"
|
||||||
|
|
||||||
|
set_arch() {
|
||||||
|
case ${TARGET_ARCH} in
|
||||||
|
arm*) QT_ARCH=arm ;;
|
||||||
|
i*86*) QT_ARCH=i386 ;;
|
||||||
|
mips*) QT_ARCH=mips ;;
|
||||||
|
powerpc*) QT_ARCH=powerpc ;;
|
||||||
|
x86_64*) QT_ARCH=x86_64 ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
do_configure() {
|
||||||
|
unset QMAKESPEC
|
||||||
|
unset QTDIR
|
||||||
|
|
||||||
|
set_arch
|
||||||
|
|
||||||
|
if [ ! -e bin/qmake ]; then
|
||||||
|
ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
|
||||||
|
ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf mkspecs/common/
|
||||||
|
|
||||||
|
echo "[Paths]" > $QT_CONF_PATH
|
||||||
|
echo "Prefix=${prefix}/" >> $QT_CONF_PATH
|
||||||
|
echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
|
||||||
|
echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
|
||||||
|
echo "Libraries=${libdir}" >> $QT_CONF_PATH
|
||||||
|
echo "Binaries=${bindir}" >> $QT_CONF_PATH
|
||||||
|
echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
|
||||||
|
echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
|
||||||
|
echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
|
||||||
|
echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
|
||||||
|
echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
|
||||||
|
echo "Demos=${bindir}/${QT_DIR_NAME}/demos" >> $QT_CONF_PATH
|
||||||
|
|
||||||
|
${EXTRA_QMAKE_MUNGE}|| true
|
||||||
|
|
||||||
|
(echo o; echo yes) | ./configure -v \
|
||||||
|
-prefix ${prefix}/ \
|
||||||
|
-bindir ${bindir} \
|
||||||
|
-libdir ${libdir} \
|
||||||
|
-datadir ${datadir}/${QT_DIR_NAME} \
|
||||||
|
-sysconfdir ${sysconfdir}/${QT_DIR_NAME} \
|
||||||
|
-docdir ${docdir}/${QT_DIR_NAME} \
|
||||||
|
-headerdir ${includedir}/${QT_DIR_NAME} \
|
||||||
|
-plugindir ${libdir}/${QT_DIR_NAME}/plugins \
|
||||||
|
-translationdir ${datadir}/${QT_DIR_NAME}/translations \
|
||||||
|
-examplesdir ${bindir}/${QT_DIR_NAME}/examples \
|
||||||
|
-demosdir ${bindir}/${QT_DIR_NAME}/demos \
|
||||||
|
-platform ${TARGET_OS}-oe-g++ \
|
||||||
|
-xplatform ${TARGET_OS}-oe-g++ \
|
||||||
|
-crossarch ${QT_ARCH} \
|
||||||
|
${QT_CONFIG_FLAGS} -no-fast \
|
||||||
|
-L${STAGING_LIBDIR} -I${STAGING_INCDIR} \
|
||||||
|
-I${STAGING_INCDIR}/freetype2
|
||||||
|
}
|
||||||
|
|
||||||
|
do_compile() {
|
||||||
|
unset CFLAGS CXXFLAGS
|
||||||
|
install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
|
||||||
|
install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
|
||||||
|
install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
|
||||||
|
|
||||||
|
oe_runmake ${EXTRA_ENV}
|
||||||
|
}
|
||||||
|
|
||||||
|
python populate_packages_prepend() {
|
||||||
|
translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d)
|
||||||
|
translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d)
|
||||||
|
do_split_packages(d, translation_dir, '^(assistant|designer|linguist|qt|qtconfig|qvfb)_(.*)\.qm$', translation_name, '${PN} translation for %s', extra_depends='' )
|
||||||
|
|
||||||
|
phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
|
||||||
|
phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
|
||||||
|
do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
|
||||||
|
|
||||||
|
# Package all the plugins and their -dbg version and create a meta package
|
||||||
|
import os
|
||||||
|
def qtopia_split(path, name, glob):
|
||||||
|
"""
|
||||||
|
Split the package into a normal and -dbg package and then add the
|
||||||
|
new packages to the meta package.
|
||||||
|
"""
|
||||||
|
plugin_dir = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/' % path, d)
|
||||||
|
if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)):
|
||||||
|
bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir)
|
||||||
|
return
|
||||||
|
|
||||||
|
plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d)
|
||||||
|
dev_packages = []
|
||||||
|
dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg))
|
||||||
|
do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook)
|
||||||
|
# Create a -dbg package as well
|
||||||
|
plugin_dir_dbg = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path, d)
|
||||||
|
packages = bb.data.getVar('PACKAGES',d)
|
||||||
|
for (file,package) in dev_packages:
|
||||||
|
packages = "%s %s-dbg" % (packages, package)
|
||||||
|
file_name = os.path.join(plugin_dir_dbg, os.path.basename(file))
|
||||||
|
bb.data.setVar("FILES_%s-dbg" % package, file_name, d)
|
||||||
|
bb.data.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package), d)
|
||||||
|
|
||||||
|
bb.data.setVar('PACKAGES', packages, d)
|
||||||
|
|
||||||
|
qtopia_split('accessible', 'accessible', '^libq(.*)\.so$')
|
||||||
|
qtopia_split('codecs', 'codec', '^libq(.*)\.so$')
|
||||||
|
qtopia_split('decorations', 'decoration', '^libqdecoration(.*)\.so$')
|
||||||
|
qtopia_split('designer', 'designer', '^lib(.*)\.so$')
|
||||||
|
qtopia_split('gfxdrivers', 'gfxdriver', '^libq(.*)\.so$')
|
||||||
|
qtopia_split('graphicssystems','graphicssystems', '^libq(.*)\.so$')
|
||||||
|
qtopia_split('mousedrivers', 'mousedriver', '^libq(.*)mousedriver\.so$')
|
||||||
|
qtopia_split('iconengines', 'iconengine', '^libq(.*)\.so$')
|
||||||
|
qtopia_split('imageformats', 'imageformat', '^libq(.*)\.so$')
|
||||||
|
qtopia_split('inputmethods', 'inputmethod', '^libq(.*)\.so$')
|
||||||
|
qtopia_split('sqldrivers', 'sqldriver', '^libq(.*)\.so$')
|
||||||
|
qtopia_split('script', 'script', '^libqtscript(.*)\.so$')
|
||||||
|
qtopia_split('styles', 'style', '^libq(.*)\.so$')
|
||||||
|
qtopia_split('phonon_backend','phonon-backend','^libphonon_(.*)\.so$')
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
oe_runmake install INSTALL_ROOT=${D}
|
||||||
|
|
||||||
|
# These are host binaries, we should only use them in staging
|
||||||
|
rm -rf ${D}/${bindir}/qmake
|
||||||
|
|
||||||
|
# fix pkgconfig, libtool and prl files
|
||||||
|
sed -i -e s#-L${S}/lib##g \
|
||||||
|
-e s#-L${STAGING_LIBDIR}##g \
|
||||||
|
-e 's#STAGING_LIBDIR}#libdir}'#g \
|
||||||
|
-e s#-L${libdir}##g \
|
||||||
|
-e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \
|
||||||
|
-e s#" -Wl,-rpath-link,${S}/lib"##g \
|
||||||
|
-e s#" -Wl,-rpath-link,${libdir}"##g \
|
||||||
|
-e 's#I/usr/include#Iincludedir}#g' \
|
||||||
|
-e 's#Iin#I${in#g' \
|
||||||
|
${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
|
sed -i -e s#" -Wl,-rpath-link,${S}/lib"##g \
|
||||||
|
${D}${datadir}/${QT_DIR_NAME}/mkspecs/common/linux.conf
|
||||||
|
|
||||||
|
# fix pkgconfig files
|
||||||
|
sed -i -e s#"moc_location=.*$"#"moc_location=${bindir}/moc4"# \
|
||||||
|
-e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \
|
||||||
|
${D}${libdir}/pkgconfig/*.pc
|
||||||
|
for name in ${QT_LIB_NAMES}; do
|
||||||
|
sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
|
||||||
|
done
|
||||||
|
|
||||||
|
# QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here:
|
||||||
|
for pc in ${D}${libdir}/pkgconfig/*.pc ; do
|
||||||
|
sed -i -e "s:prefix}include/${QT_BASE_NAME}/$(basename $pc .pc):prefix}/include:" \
|
||||||
|
-e "s,Cflags: ,Cflags: -IP{includedir}/${QT_BASE_NAME}/$(basename $pc .pc) ," \
|
||||||
|
-e 's:IP{:I${:g' $pc
|
||||||
|
done
|
||||||
|
|
||||||
|
install -d ${D}/${libdir}/fonts
|
||||||
|
touch ${D}/${libdir}/fonts/fontdir
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user