diff options
Diffstat (limited to 'meta/recipes-qt/qt4/nativesdk-qt4-tools.inc')
-rw-r--r-- | meta/recipes-qt/qt4/nativesdk-qt4-tools.inc | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc new file mode 100644 index 0000000000..a1dd8df0d1 --- /dev/null +++ b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc @@ -0,0 +1,121 @@ +DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x" +DEPENDS = "zlib-nativesdk dbus-nativesdk libx11-nativesdk qt4-native" +SECTION = "libs" +HOMEPAGE = "http://qt.nokia.com" +LICENSE = "LGPLv2.1 | GPLv3" + +INC_PR = "r11" + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:" + +inherit nativesdk qmake2 + +SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \ + file://0004-no-qmake.patch \ + file://configure-lflags.patch \ + file://qt-config.patch \ + file://configure-paths.patch \ + file://qt-dbus-const.patch \ + file://target_qmake.patch \ + file://g++.conf \ + file://linux.conf" + +S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}" + +LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \ + file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \ + file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354" + +require qt4_arch.inc + +# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1" +EXTRA_OECONF = "-prefix ${prefix} \ + -qt-libjpeg -system-zlib \ + -no-libjpeg -no-libpng -no-libmng -no-libtiff \ + -no-accessibility \ + -no-cups \ + -no-exceptions \ + -no-nas-sound \ + -no-nis -no-openssl \ + -verbose -release -fast -static \ + -platform ${TARGET_OS}-oe-g++ \ + -xplatform ${TARGET_OS}-oe-g++ \ + -arch ${QT_ARCH} \ + -embedded -no-freetype -no-glib -no-iconv \ + -qt3support \ + -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \ + -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib/dbus-1.0/include" + +# yank default -e, otherwise we get the following error: +# moc_qbuffer.cpp: No such file or directory +EXTRA_OEMAKE = " " + +do_configure() { + # Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++) + unset LD + + if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then + ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++ + fi + + cp ../g++.conf mkspecs/common + cp ../linux.conf mkspecs/common + + if [ -f mkspecs/common/g++-base.conf ] ; then + # don't use host g++ even during configure (4.8.0+) + sed -i -e "s#g++#${CXX}#" mkspecs/common/g++-base.conf + sed -i -e "s#gcc#${CC}#" mkspecs/common/g++-base.conf + fi + + # Use qmake from qt4-native for building + if [ ! -e bin/qmake ]; then + ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake + fi + set_arch + (echo o; echo yes) | CC="${CC}" CXX="${CXX}" ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}" +} + +TOBUILD = "\ + src/tools/bootstrap \ + src/tools/moc \ + src/corelib \ + src/sql \ + src/dbus \ + src/qt3support \ + src/xml \ + src/tools/uic \ + src/tools/rcc \ + src/network \ + src/gui \ + src/tools/uic3 \ + tools/linguist/lrelease \ + tools/linguist/lupdate \ + tools/qdbus \ +" + +do_compile() { + for i in ${TOBUILD}; do + cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}" + done + + # Build nativesdk qmake + export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++" + cd ${S}/qmake + ${OE_QMAKE_QMAKE} + oe_runmake CC="${CC}" CXX="${CXX}" + cd ${S} +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 bin/qmake2 ${D}${bindir}/qmake2 + for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do + install -m 0755 bin/${i} ${D}${bindir}/${i}4 + done + + (cd ${D}${bindir}; \ + ln -s qmake2 qmake; \ + for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \ + ln -s ${i}4 ${i}; \ + done) +} |