Comments
Patch
@@ -2,7 +2,7 @@ DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is
SECTION = "libs"
HOMEPAGE = "http://qt.nokia.com"
DEPENDS += "directfb tslib"
-INC_PR = "r43"
+INC_PR = "r44"
QT_BASE_LIB ?= "libqt-embedded"
@@ -4,7 +4,7 @@ SECTION = "libs"
HOMEPAGE = "http://qt.nokia.com"
LICENSE = "LGPLv2.1 | GPLv3"
-INC_PR = "r10"
+INC_PR = "r11"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:"
@@ -26,7 +26,15 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
-require qt4_arch.inc
+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
+}
# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
EXTRA_OECONF = "-prefix ${prefix} \
@@ -40,7 +48,7 @@ EXTRA_OECONF = "-prefix ${prefix} \
-verbose -release -fast -static \
-platform ${TARGET_OS}-oe-g++ \
-xplatform ${TARGET_OS}-oe-g++ \
- -arch ${@qt_arch(d)} \
+ -arch ${QT_ARCH} \
-embedded -no-freetype -no-glib -no-iconv \
-qt3support \
-I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \
@@ -71,6 +79,7 @@ do_configure() {
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}"
}
@@ -5,7 +5,7 @@ HOMEPAGE = "http://qt.nokia.com"
SECTION = "x11/libs"
DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
-INC_PR = "r41"
+INC_PR = "r42"
QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl', '-opengl', '-no-opengl', d)} "
QT_GLFLAGS_qemux86 = "-opengl"
@@ -3,10 +3,6 @@ inherit qmake_base
DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base sqlite3 tiff"
DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
-require qt4_arch.inc
-QT_ARCH := "${@qt_arch(d)}"
-QT_ENDIAN = "${@qt_endian(d)}"
-
QT_DISTRO_FLAGS ?= "-no-accessibility -no-sm"
QT_DISTRO_FLAGS_linuxstdbase = "-sm"
@@ -196,10 +192,34 @@ FILES_${QT_BASE_NAME}-xmlpatterns-dbg = "${bindir}/.debug/xmlpatterns*"
FILES_${QT_BASE_NAME}-qml-plugins = "${libdir}/${QT_DIR_NAME}/imports/* ${libdir}/${QT_DIR_NAME}/plugins/qmltooling/*"
FILES_${QT_BASE_NAME}-qml-plugins-dbg = "${libdir}/${QT_DIR_NAME}/imports/*/*/*/.debug/* ${libdir}/${QT_DIR_NAME}/imports/*/.debug ${libdir}/${QT_DIR_NAME}/plugins/qmltooling/.debug"
+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
+}
+
+inherit siteinfo
+set_endian() {
+ if [ ${SITEINFO_ENDIANNESS} = "le" ] ; then
+ QT_ENDIAN="-little-endian"
+ elif [ ${SITEINFO_ENDIANNESS} = "be" ] ; then
+ QT_ENDIAN="-big-endian"
+ fi
+}
+
do_configure() {
unset QMAKESPEC
unset QTDIR
+ set_arch
+ set_endian
+
if [ ! -e bin/qmake ]; then
ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
fi
deleted file mode 100644
@@ -1,25 +0,0 @@
-inherit siteinfo
-
-ARM_INSTRUCTION_SET = "arm"
-
-def qt_arch(d):
- import bb, re
- arch = d.getVar('TARGET_ARCH', True)
- if re.match("^i.86$", arch):
- arch = "i386"
- elif re.match("^arm.*", arch):
- arch = "arm"
- elif arch == "x86_64":
- arch = "x86"
- elif arch == "mipsel":
- arch = "mips"
- return arch
-
-def qt_endian(d):
- import bb
- if d.getVar('SITEINFO_ENDIANNESS', True) == "le":
- return "-little-endian"
- elif d.getVar('SITEINFO_ENDIANNESS', True) == "be":
- return "-big-endian"
- else:
- assert False
In qt4's do_configure operation, it will refer to some variables that are derived from 'd', however these variable values may be not correct in multilib case since the extraction of these variables happens before the multilib handler. The fix is to move these python style functions back to shell style. This fixes [YOCTO #2355] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> --- meta/recipes-qt/qt4/qt4-embedded.inc | 2 +- meta/recipes-qt/qt4/qt4-tools-nativesdk.inc | 15 +++++++++++-- meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +- meta/recipes-qt/qt4/qt4.inc | 28 +++++++++++++++++++++++--- meta/recipes-qt/qt4/qt4_arch.inc | 25 ------------------------ 5 files changed, 38 insertions(+), 34 deletions(-) delete mode 100644 meta/recipes-qt/qt4/qt4_arch.inc