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]
[RP: Fix whitepace]
(From OE-Core rev:
977ba301a1063a84b865ddf7367c35827fbffc86)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
SECTION = "libs"
HOMEPAGE = "http://qt.nokia.com"
DEPENDS += "directfb tslib"
-INC_PR = "r45"
+INC_PR = "r46"
QT_BASE_LIB ?= "libqt-embedded"
HOMEPAGE = "http://qt.nokia.com"
LICENSE = "LGPLv2.1 | GPLv3"
-INC_PR = "r10"
+INC_PR = "r11"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:"
-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 \
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}"
}
SECTION = "x11/libs"
DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
-INC_PR = "r43"
+INC_PR = "r44"
QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl', '-opengl', '-no-opengl', d)} "
QT_GLFLAGS_qemux86 = "-opengl"
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"
unset QMAKESPEC
unset QTDIR
+ set_arch
+ set_endian
+
if [ ! -e bin/qmake ]; then
ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
fi
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
+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
+}
-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
+set_endian() {
+ if [ ${SITEINFO_ENDIANNESS} = "le" ] ; then
+ QT_ENDIAN="-little-endian"
+ elif [ ${SITEINFO_ENDIANNESS} = "be" ] ; then
+ QT_ENDIAN="-big-endian"
+ fi
+}