diff options
author | Eric Bénard <eric@eukrea.com> | 2013-01-11 14:51:25 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-01-16 11:57:31 +0000 |
commit | 880372e956e9ce362a5e44e3f9d01b22fc43fc43 (patch) | |
tree | 4b3f151d6b66d256ea9d3fb8ab85fe0a8372e5d6 /meta/recipes-qt | |
parent | d66d8ae962b6bab43e70b54625c57aaba29d88eb (diff) | |
download | poky-880372e956e9ce362a5e44e3f9d01b22fc43fc43.tar.gz |
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>
Diffstat (limited to 'meta/recipes-qt')
9 files changed, 94 insertions, 64 deletions
diff --git a/meta/recipes-qt/meta/meta-toolchain-qt.bb b/meta/recipes-qt/meta/meta-toolchain-qt.bb new file mode 100644 index 0000000000..a10103a39f --- /dev/null +++ b/meta/recipes-qt/meta/meta-toolchain-qt.bb | |||
@@ -0,0 +1,5 @@ | |||
1 | # Qt toolchain | ||
2 | QTNAME = "qt" | ||
3 | QT_DIR_NAME = "qt4" | ||
4 | |||
5 | require meta-toolchain-qt.inc | ||
diff --git a/meta/recipes-qt/meta/meta-toolchain-qt.inc b/meta/recipes-qt/meta/meta-toolchain-qt.inc new file mode 100644 index 0000000000..107ba19e25 --- /dev/null +++ b/meta/recipes-qt/meta/meta-toolchain-qt.inc | |||
@@ -0,0 +1,31 @@ | |||
1 | TOOLCHAIN_HOST_TASK = "nativesdk-packagegroup-${QTNAME}-toolchain-host packagegroup-cross-canadian-${TRANSLATED_TARGET_ARCH}" | ||
2 | TOOLCHAIN_TARGET_TASK = "packagegroup-${QTNAME}-toolchain-target" | ||
3 | TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-${QTNAME}-${DISTRO_VERSION}" | ||
4 | |||
5 | require recipes-core/meta/meta-toolchain.bb | ||
6 | |||
7 | QT_TOOLS_PREFIX = "${SDKPATHNATIVE}${bindir_nativesdk}" | ||
8 | |||
9 | toolchain_create_sdk_env_script_append() { | ||
10 | echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script | ||
11 | echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script | ||
12 | echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script | ||
13 | echo 'export OE_QMAKE_CC=$CC' >> $script | ||
14 | echo 'export OE_QMAKE_CXX=$CXX' >> $script | ||
15 | echo 'export OE_QMAKE_LINK=$LD' >> $script | ||
16 | echo 'export OE_QMAKE_AR=$AR' >> $script | ||
17 | echo 'export OE_QMAKE_LIBDIR_QT=${SDKTARGETSYSROOT}/${libdir}' >> $script | ||
18 | echo 'export OE_QMAKE_INCDIR_QT=${SDKTARGETSYSROOT}/${includedir}/${QT_DIR_NAME}' >> $script | ||
19 | echo 'export OE_QMAKE_MOC=${QT_TOOLS_PREFIX}/moc4' >> $script | ||
20 | echo 'export OE_QMAKE_UIC=${QT_TOOLS_PREFIX}/uic4' >> $script | ||
21 | echo 'export OE_QMAKE_UIC3=${QT_TOOLS_PREFIX}/uic34' >> $script | ||
22 | echo 'export OE_QMAKE_RCC=${QT_TOOLS_PREFIX}/rcc4' >> $script | ||
23 | echo 'export OE_QMAKE_QDBUSCPP2XML=${QT_TOOLS_PREFIX}/qdbuscpp2xml4' >> $script | ||
24 | echo 'export OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script | ||
25 | echo 'export OE_QMAKE_QT_CONFIG=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script | ||
26 | echo 'export QMAKESPEC=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script | ||
27 | |||
28 | # make a symbolic link to mkspecs for compatibility with Nokia's SDK | ||
29 | # and QTCreator | ||
30 | (cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s ${SDKTARGETSYSROOT}/usr/share/${QT_DIR_NAME}/mkspecs mkspecs;) | ||
31 | } | ||
diff --git a/meta/recipes-qt/meta/meta-toolchain-qte.bb b/meta/recipes-qt/meta/meta-toolchain-qte.bb index 7c2ae495a0..9113f48ed8 100644 --- a/meta/recipes-qt/meta/meta-toolchain-qte.bb +++ b/meta/recipes-qt/meta/meta-toolchain-qte.bb | |||
@@ -1,34 +1,6 @@ | |||
1 | # Qt Embedded toolchain | 1 | # Qt Embedded toolchain |
2 | PR = "r6" | 2 | PR = "r6" |
3 | TOOLCHAIN_HOST_TASK = "nativesdk-packagegroup-qte-toolchain-host packagegroup-cross-canadian-${TRANSLATED_TARGET_ARCH}" | 3 | QTNAME = "qte" |
4 | TOOLCHAIN_TARGET_TASK = "packagegroup-qte-toolchain-target" | ||
5 | TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-qte-${DISTRO_VERSION}" | ||
6 | |||
7 | require recipes-core/meta/meta-toolchain.bb | ||
8 | |||
9 | QT_DIR_NAME = "qtopia" | 4 | QT_DIR_NAME = "qtopia" |
10 | QT_TOOLS_PREFIX = "${SDKPATHNATIVE}${bindir_nativesdk}" | ||
11 | |||
12 | toolchain_create_sdk_env_script_append() { | ||
13 | echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script | ||
14 | echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script | ||
15 | echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script | ||
16 | echo 'export OE_QMAKE_CC=$CC' >> $script | ||
17 | echo 'export OE_QMAKE_CXX=$CXX' >> $script | ||
18 | echo 'export OE_QMAKE_LINK=$LD' >> $script | ||
19 | echo 'export OE_QMAKE_AR=$AR' >> $script | ||
20 | echo 'export OE_QMAKE_LIBDIR_QT=${SDKTARGETSYSROOT}/${libdir}' >> $script | ||
21 | echo 'export OE_QMAKE_INCDIR_QT=${SDKTARGETSYSROOT}/${includedir}/${QT_DIR_NAME}' >> $script | ||
22 | echo 'export OE_QMAKE_MOC=${QT_TOOLS_PREFIX}/moc4' >> $script | ||
23 | echo 'export OE_QMAKE_UIC=${QT_TOOLS_PREFIX}/uic4' >> $script | ||
24 | echo 'export OE_QMAKE_UIC3=${QT_TOOLS_PREFIX}/uic34' >> $script | ||
25 | echo 'export OE_QMAKE_RCC=${QT_TOOLS_PREFIX}/rcc4' >> $script | ||
26 | echo 'export OE_QMAKE_QDBUSCPP2XML=${QT_TOOLS_PREFIX}/qdbuscpp2xml4' >> $script | ||
27 | echo 'export OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script | ||
28 | echo 'export OE_QMAKE_QT_CONFIG=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script | ||
29 | echo 'export QMAKESPEC=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script | ||
30 | 5 | ||
31 | # make a symbolic link to mkspecs for compatibility with Nokia's SDK | 6 | require meta-toolchain-qt.inc |
32 | # and QTCreator | ||
33 | (cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s ${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;) | ||
34 | } | ||
diff --git a/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qt-toolchain-host.bb b/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qt-toolchain-host.bb new file mode 100644 index 0000000000..994462d50d --- /dev/null +++ b/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qt-toolchain-host.bb | |||
@@ -0,0 +1,3 @@ | |||
1 | require nativesdk-packagegroup-qt-toolchain-host.inc | ||
2 | |||
3 | DESCRIPTION = "Host packages for Qt SDK" | ||
diff --git a/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qt-toolchain-host.inc b/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qt-toolchain-host.inc new file mode 100644 index 0000000000..a3c275fd97 --- /dev/null +++ b/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qt-toolchain-host.inc | |||
@@ -0,0 +1,6 @@ | |||
1 | require recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb | ||
2 | |||
3 | DESCRIPTION = "Host packages for Qt Embedded SDK" | ||
4 | LICENSE = "MIT" | ||
5 | |||
6 | RDEPENDS_${PN} += "nativesdk-qt4-tools" | ||
diff --git a/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qte-toolchain-host.bb b/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qte-toolchain-host.bb index a3c275fd97..eadecf519a 100644 --- a/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qte-toolchain-host.bb +++ b/meta/recipes-qt/packagegroups/nativesdk-packagegroup-qte-toolchain-host.bb | |||
@@ -1,6 +1,3 @@ | |||
1 | require recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb | 1 | require nativesdk-packagegroup-qt-toolchain-host.inc |
2 | 2 | ||
3 | DESCRIPTION = "Host packages for Qt Embedded SDK" | 3 | DESCRIPTION = "Host packages for Qt Embedded SDK" |
4 | LICENSE = "MIT" | ||
5 | |||
6 | RDEPENDS_${PN} += "nativesdk-qt4-tools" | ||
diff --git a/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.bb b/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.bb new file mode 100644 index 0000000000..738ca82a90 --- /dev/null +++ b/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.bb | |||
@@ -0,0 +1,11 @@ | |||
1 | DESCRIPTION = "Target packages for Qt SDK" | ||
2 | |||
3 | QTLIBPREFIX = "" | ||
4 | |||
5 | require packagegroup-qt-toolchain-target.inc | ||
6 | |||
7 | RDEPENDS_${PN} += " \ | ||
8 | qt4-x11-free-dev \ | ||
9 | ${@base_contains('DISTRO_FEATURES', 'opengl', 'libqtopengl4-dev', '', d)} \ | ||
10 | ${@base_contains('DISTRO_FEATURES', 'openvg', 'libqtopenvg4-dev', '', d)} \ | ||
11 | " | ||
diff --git a/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.inc b/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.inc new file mode 100644 index 0000000000..8413eecaa1 --- /dev/null +++ b/meta/recipes-qt/packagegroups/packagegroup-qt-toolchain-target.inc | |||
@@ -0,0 +1,33 @@ | |||
1 | LICENSE = "MIT" | ||
2 | |||
3 | inherit packagegroup | ||
4 | |||
5 | PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1" | ||
6 | |||
7 | RDEPENDS_${PN} += " \ | ||
8 | packagegroup-core-standalone-sdk-target \ | ||
9 | qt4${QTLIBPREFIX}-mkspecs \ | ||
10 | libqt${QTLIBPREFIX}multimedia4-dev \ | ||
11 | libqt${QTLIBPREFIX}phonon4-dev \ | ||
12 | libqt${QTLIBPREFIX}3support4-dev \ | ||
13 | libqt${QTLIBPREFIX}clucene4-dev \ | ||
14 | libqt${QTLIBPREFIX}core4-dev \ | ||
15 | libqt${QTLIBPREFIX}dbus4-dev \ | ||
16 | libqt${QTLIBPREFIX}designercomponents4-dev \ | ||
17 | libqt${QTLIBPREFIX}designer4-dev \ | ||
18 | libqt${QTLIBPREFIX}uitools4-dev \ | ||
19 | libqt${QTLIBPREFIX}gui4-dev \ | ||
20 | libqt${QTLIBPREFIX}help4-dev \ | ||
21 | libqt${QTLIBPREFIX}network4-dev \ | ||
22 | libqt${QTLIBPREFIX}script4-dev \ | ||
23 | libqt${QTLIBPREFIX}scripttools4-dev \ | ||
24 | libqt${QTLIBPREFIX}sql4-dev \ | ||
25 | libqt${QTLIBPREFIX}svg4-dev \ | ||
26 | libqt${QTLIBPREFIX}test4-dev \ | ||
27 | libqt${QTLIBPREFIX}webkit4-dev \ | ||
28 | libqt${QTLIBPREFIX}xml4-dev \ | ||
29 | libqt${QTLIBPREFIX}declarative4-dev \ | ||
30 | libqt${QTLIBPREFIX}xmlpatterns4-dev \ | ||
31 | libsqlite3-dev \ | ||
32 | expat-dev \ | ||
33 | " | ||
diff --git a/meta/recipes-qt/packagegroups/packagegroup-qte-toolchain-target.bb b/meta/recipes-qt/packagegroups/packagegroup-qte-toolchain-target.bb index 7b65bccce6..9c3b22cc2d 100644 --- a/meta/recipes-qt/packagegroups/packagegroup-qte-toolchain-target.bb +++ b/meta/recipes-qt/packagegroups/packagegroup-qte-toolchain-target.bb | |||
@@ -1,35 +1,7 @@ | |||
1 | DESCRIPTION = "Target packages for Qt Embedded SDK" | 1 | DESCRIPTION = "Target packages for Qt Embedded SDK" |
2 | LICENSE = "MIT" | ||
3 | 2 | ||
4 | PR = "r5" | 3 | PR = "r5" |
5 | 4 | ||
6 | inherit packagegroup | 5 | QTLIBPREFIX = "-embedded" |
7 | |||
8 | PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1" | ||
9 | |||
10 | RDEPENDS_${PN} += " \ | ||
11 | packagegroup-core-standalone-sdk-target \ | ||
12 | qt4-embedded-mkspecs \ | ||
13 | libqt-embeddedmultimedia4-dev \ | ||
14 | libqt-embeddedphonon4-dev \ | ||
15 | libqt-embedded3support4-dev \ | ||
16 | libqt-embeddedclucene4-dev \ | ||
17 | libqt-embeddedcore4-dev \ | ||
18 | libqt-embeddeddbus4-dev \ | ||
19 | libqt-embeddeddesignercomponents4-dev \ | ||
20 | libqt-embeddeddesigner4-dev \ | ||
21 | libqt-embeddeduitools4-dev \ | ||
22 | libqt-embeddedgui4-dev \ | ||
23 | libqt-embeddedhelp4-dev \ | ||
24 | libqt-embeddednetwork4-dev \ | ||
25 | libqt-embeddedscript4-dev \ | ||
26 | libqt-embeddedscripttools4-dev \ | ||
27 | libqt-embeddedsql4-dev \ | ||
28 | libqt-embeddedsvg4-dev \ | ||
29 | libqt-embeddedtest4-dev \ | ||
30 | libqt-embeddedwebkit4-dev \ | ||
31 | libqt-embeddedxml4-dev \ | ||
32 | libsqlite3-dev \ | ||
33 | expat-dev \ | ||
34 | " | ||
35 | 6 | ||
7 | require packagegroup-qt-toolchain-target.inc | ||