add meta-toolchain-qt

- this allows the creation of a SDK containing all the needed
libraries to develop QT4 for X applications
- the recipes were factorized to share as much code as possible
- binaries generated using the toolchain were run tested on an
ARMv7 target
- both qt & qte toolchains were build tested for qemuarm target
and for an ARMv7 target

(From OE-Core rev: cc803b06841e75aa6591abaeda0a788e888e208b)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Eric Bénard
2013-01-11 14:51:25 +01:00
committed by Richard Purdie
parent d66d8ae962
commit 880372e956
9 changed files with 94 additions and 64 deletions

View File

@@ -0,0 +1,5 @@
# Qt toolchain
QTNAME = "qt"
QT_DIR_NAME = "qt4"
require meta-toolchain-qt.inc

View File

@@ -0,0 +1,31 @@
TOOLCHAIN_HOST_TASK = "nativesdk-packagegroup-${QTNAME}-toolchain-host packagegroup-cross-canadian-${TRANSLATED_TARGET_ARCH}"
TOOLCHAIN_TARGET_TASK = "packagegroup-${QTNAME}-toolchain-target"
TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-${QTNAME}-${DISTRO_VERSION}"
require recipes-core/meta/meta-toolchain.bb
QT_TOOLS_PREFIX = "${SDKPATHNATIVE}${bindir_nativesdk}"
toolchain_create_sdk_env_script_append() {
echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script
echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script
echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script
echo 'export OE_QMAKE_CC=$CC' >> $script
echo 'export OE_QMAKE_CXX=$CXX' >> $script
echo 'export OE_QMAKE_LINK=$LD' >> $script
echo 'export OE_QMAKE_AR=$AR' >> $script
echo 'export OE_QMAKE_LIBDIR_QT=${SDKTARGETSYSROOT}/${libdir}' >> $script
echo 'export OE_QMAKE_INCDIR_QT=${SDKTARGETSYSROOT}/${includedir}/${QT_DIR_NAME}' >> $script
echo 'export OE_QMAKE_MOC=${QT_TOOLS_PREFIX}/moc4' >> $script
echo 'export OE_QMAKE_UIC=${QT_TOOLS_PREFIX}/uic4' >> $script
echo 'export OE_QMAKE_UIC3=${QT_TOOLS_PREFIX}/uic34' >> $script
echo 'export OE_QMAKE_RCC=${QT_TOOLS_PREFIX}/rcc4' >> $script
echo 'export OE_QMAKE_QDBUSCPP2XML=${QT_TOOLS_PREFIX}/qdbuscpp2xml4' >> $script
echo 'export OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script
echo 'export OE_QMAKE_QT_CONFIG=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
echo 'export QMAKESPEC=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script
# make a symbolic link to mkspecs for compatibility with Nokia's SDK
# and QTCreator
(cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s ${SDKTARGETSYSROOT}/usr/share/${QT_DIR_NAME}/mkspecs mkspecs;)
}

View File

@@ -1,34 +1,6 @@
# Qt Embedded toolchain
PR = "r6"
TOOLCHAIN_HOST_TASK = "nativesdk-packagegroup-qte-toolchain-host packagegroup-cross-canadian-${TRANSLATED_TARGET_ARCH}"
TOOLCHAIN_TARGET_TASK = "packagegroup-qte-toolchain-target"
TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-qte-${DISTRO_VERSION}"
require recipes-core/meta/meta-toolchain.bb
QTNAME = "qte"
QT_DIR_NAME = "qtopia"
QT_TOOLS_PREFIX = "${SDKPATHNATIVE}${bindir_nativesdk}"
toolchain_create_sdk_env_script_append() {
echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script
echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script
echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script
echo 'export OE_QMAKE_CC=$CC' >> $script
echo 'export OE_QMAKE_CXX=$CXX' >> $script
echo 'export OE_QMAKE_LINK=$LD' >> $script
echo 'export OE_QMAKE_AR=$AR' >> $script
echo 'export OE_QMAKE_LIBDIR_QT=${SDKTARGETSYSROOT}/${libdir}' >> $script
echo 'export OE_QMAKE_INCDIR_QT=${SDKTARGETSYSROOT}/${includedir}/${QT_DIR_NAME}' >> $script
echo 'export OE_QMAKE_MOC=${QT_TOOLS_PREFIX}/moc4' >> $script
echo 'export OE_QMAKE_UIC=${QT_TOOLS_PREFIX}/uic4' >> $script
echo 'export OE_QMAKE_UIC3=${QT_TOOLS_PREFIX}/uic34' >> $script
echo 'export OE_QMAKE_RCC=${QT_TOOLS_PREFIX}/rcc4' >> $script
echo 'export OE_QMAKE_QDBUSCPP2XML=${QT_TOOLS_PREFIX}/qdbuscpp2xml4' >> $script
echo 'export OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script
echo 'export OE_QMAKE_QT_CONFIG=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
echo 'export QMAKESPEC=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script
# make a symbolic link to mkspecs for compatibility with Nokia's SDK
# and QTCreator
(cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s ${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;)
}
require meta-toolchain-qt.inc

View File

@@ -0,0 +1,3 @@
require nativesdk-packagegroup-qt-toolchain-host.inc
DESCRIPTION = "Host packages for Qt SDK"

View File

@@ -0,0 +1,6 @@
require recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
DESCRIPTION = "Host packages for Qt Embedded SDK"
LICENSE = "MIT"
RDEPENDS_${PN} += "nativesdk-qt4-tools"

View File

@@ -1,6 +1,3 @@
require recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
require nativesdk-packagegroup-qt-toolchain-host.inc
DESCRIPTION = "Host packages for Qt Embedded SDK"
LICENSE = "MIT"
RDEPENDS_${PN} += "nativesdk-qt4-tools"

View File

@@ -0,0 +1,11 @@
DESCRIPTION = "Target packages for Qt SDK"
QTLIBPREFIX = ""
require packagegroup-qt-toolchain-target.inc
RDEPENDS_${PN} += " \
qt4-x11-free-dev \
${@base_contains('DISTRO_FEATURES', 'opengl', 'libqtopengl4-dev', '', d)} \
${@base_contains('DISTRO_FEATURES', 'openvg', 'libqtopenvg4-dev', '', d)} \
"

View File

@@ -0,0 +1,33 @@
LICENSE = "MIT"
inherit packagegroup
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
RDEPENDS_${PN} += " \
packagegroup-core-standalone-sdk-target \
qt4${QTLIBPREFIX}-mkspecs \
libqt${QTLIBPREFIX}multimedia4-dev \
libqt${QTLIBPREFIX}phonon4-dev \
libqt${QTLIBPREFIX}3support4-dev \
libqt${QTLIBPREFIX}clucene4-dev \
libqt${QTLIBPREFIX}core4-dev \
libqt${QTLIBPREFIX}dbus4-dev \
libqt${QTLIBPREFIX}designercomponents4-dev \
libqt${QTLIBPREFIX}designer4-dev \
libqt${QTLIBPREFIX}uitools4-dev \
libqt${QTLIBPREFIX}gui4-dev \
libqt${QTLIBPREFIX}help4-dev \
libqt${QTLIBPREFIX}network4-dev \
libqt${QTLIBPREFIX}script4-dev \
libqt${QTLIBPREFIX}scripttools4-dev \
libqt${QTLIBPREFIX}sql4-dev \
libqt${QTLIBPREFIX}svg4-dev \
libqt${QTLIBPREFIX}test4-dev \
libqt${QTLIBPREFIX}webkit4-dev \
libqt${QTLIBPREFIX}xml4-dev \
libqt${QTLIBPREFIX}declarative4-dev \
libqt${QTLIBPREFIX}xmlpatterns4-dev \
libsqlite3-dev \
expat-dev \
"

View File

@@ -1,35 +1,7 @@
DESCRIPTION = "Target packages for Qt Embedded SDK"
LICENSE = "MIT"
PR = "r5"
inherit packagegroup
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
RDEPENDS_${PN} += " \
packagegroup-core-standalone-sdk-target \
qt4-embedded-mkspecs \
libqt-embeddedmultimedia4-dev \
libqt-embeddedphonon4-dev \
libqt-embedded3support4-dev \
libqt-embeddedclucene4-dev \
libqt-embeddedcore4-dev \
libqt-embeddeddbus4-dev \
libqt-embeddeddesignercomponents4-dev \
libqt-embeddeddesigner4-dev \
libqt-embeddeduitools4-dev \
libqt-embeddedgui4-dev \
libqt-embeddedhelp4-dev \
libqt-embeddednetwork4-dev \
libqt-embeddedscript4-dev \
libqt-embeddedscripttools4-dev \
libqt-embeddedsql4-dev \
libqt-embeddedsvg4-dev \
libqt-embeddedtest4-dev \
libqt-embeddedwebkit4-dev \
libqt-embeddedxml4-dev \
libsqlite3-dev \
expat-dev \
"
QTLIBPREFIX = "-embedded"
require packagegroup-qt-toolchain-target.inc