2012-09-26 19:18:02 +00:00
|
|
|
LICENSE = "LGPLv2.1 | GPLv3"
|
|
|
|
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
|
2012-12-05 21:59:01 +00:00
|
|
|
file://LICENSE.GPL3;md5=6e1694ee338db410417517884918d4d2 \
|
|
|
|
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6"
|
2012-09-26 19:18:02 +00:00
|
|
|
|
|
|
|
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt4-${PV}:"
|
|
|
|
|
2013-07-03 23:50:32 +00:00
|
|
|
SRC_URI = "http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-everywhere-opensource-src-${PV}.tar.gz \
|
2012-09-26 19:18:02 +00:00
|
|
|
file://0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch \
|
|
|
|
file://0004-configure-qmake-is-already-built-in-qt4-tools-native.patch \
|
|
|
|
file://0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch \
|
|
|
|
file://0009-qmake-fix-source-file-references-in-qmake.pri.patch \
|
|
|
|
file://0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch \
|
|
|
|
file://0011-freetype-host-includes.patch \
|
|
|
|
file://0012-Add-2bpp-support.patch \
|
|
|
|
file://0013-configure-add-crossarch-option.patch \
|
|
|
|
file://0014-translations-fix-phony-translation-linking-error.patch \
|
|
|
|
file://0015-configure-add-nostrip-for-debug-packages.patch \
|
|
|
|
file://0016-configure-eval-QMAKE_CXX.patch \
|
|
|
|
file://0017-configure-ensure-we-identify-the-compiler-as-g-in-co.patch \
|
|
|
|
file://0018-configure-make-pulseaudio-a-configurable-option.patch \
|
|
|
|
file://0019-Fixes-for-gcc-4.7.0-particularly-on-qemux86.patch \
|
2013-07-03 17:04:37 +00:00
|
|
|
file://0027-tools.pro-disable-qmeegographicssystemhelper.patch \
|
2015-06-17 01:32:47 +00:00
|
|
|
file://0030-aarch64_arm64_qatomic_support.patch \
|
|
|
|
file://0031-aarch64_arm64_mkspecs.patch \
|
|
|
|
file://0032-aarch64_add_header.patch \
|
2015-09-09 06:28:49 +00:00
|
|
|
file://0034-Fix-kmap2qmap-build-with-clang.patch \
|
2015-01-06 11:46:36 +00:00
|
|
|
file://Fix-QWSLock-invalid-argument-logs.patch \
|
qt4-embedded: add checking for AArch64 ilp32
1. Cross-compiling qt4-embedded and qt4-x11-free applications for AArch64 ilp32
(both big and little endian) fails with below error,
(snip)
In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h:31:0,
from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalData.h:32,
from ../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h:26,
from ../3rdparty/javascriptcore/JavaScriptCore/runtime/ClassInfo.h:26,
from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.h:27,
from ../3rdparty/javascriptcore/JavaScriptCore/API/JSCallbackConstructor.h:30,
from ../3rdparty/javascriptcore/JavaScriptCore/API/JSCallbackConstructor.cpp:27:
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h: In instantiation of 'TO QTWTF::bitwise_cast(FROM) [with TO = int; FROM = double]':
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSImmediate.h:52:49: required from here
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h:63:1: error: size of array is negative
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h: In instantiation of 'TO QTWTF::bitwise_cast(FROM) [with TO = double; FROM = int]':
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSImmediate.h:57:47: required from here
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h:63:1: error: size of array is negative
make[1]: *** [obj/release/JSCallbackConstructor.o] Error 1
-- CUT --
the error is because of JSVALUE64 is being defined while compiling
programs for AArch64 ilp32. This makes equal condition checking of
intptr_t and double datatypes as false, and results in -1 (negative)
as array size in bitwise_cast function.
The patch defines JSVALUE64, if the programs are being compiled for
AArch64 64bit NOT for ilp32.
2. qt4_arch.inc is modified to set system architecture as aarch64 if the
TARGET_ARCH is other than aarch64. Without this modification, for
TARGET_ARCH equal to aarch64_32, aarch64be, aarch64be_32; the system
architecture is set as 'generic' and results in below error.
configure log:
(snip)
64-bit AMD 80x86 (x86_64)
'-opensource' is unsupported, using 'generic'
'x86_64' is supported
System architecture: 'generic'
Host architecture: 'x86_64'
-- CUT --
build error:
(snip)
In file included from ../../include/QtCore/qatomic_generic.h:1:0,
from ../../include/QtCore/../../src/corelib/arch/qatomic_arch.h:64,
from ../../include/QtCore/qatomic_arch.h:1,
from ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:227,
from ../../include/QtCore/qbasicatomic.h:1,
from ../../include/QtCore/../../src/corelib/thread/qatomic.h:46,
from ../../include/QtCore/qatomic.h:1,
from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:45,
from ../../include/QtCore/qbytearray.h:1,
from ../../include/QtCore/../../src/corelib/tools/qstring.h:46,
from ../../include/QtCore/qstring.h:1,
from ../../include/QtCore/../../src/corelib/kernel/qobject.h:48,
from ../../include/QtCore/qobject.h:1,
from ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:45,
from ../../include/QtCore/qcoreapplication.h:1,
from qdbusintegrator.cpp:42:
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h: In instantiation of 'bool QBasicAtomicPointer<T>::testAndSetOrdered(T*, T*) [with T = const QString]':
qdbusintegrator.cpp:76:1: required from here
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h:197:88: error: invalid conversion from 'const void*' to 'void*' [-fpermissive]
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h:108:20: error: initializing argument 2 of 'bool QBasicAtomicPointer_testAndSetOrdered(void* volatile*, void*, void*)' [-fpermissive]
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h:197:88: error: invalid conversion from 'const void*' to 'void*' [-fpermissive]
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h:108:20: error: initializing argument 3 of 'bool QBasicAtomicPointer_testAndSetOrdered(void* volatile*, void*, void*)' [-fpermissive]
make[1]: *** [.obj/release-shared-emb-auto/qdbusintegrator.o] Error 1
make[1]: *** Waiting for unfinished jobs....
-- CUT --
So, select system architecture (via QT_ARCH) as aarch64 for
AArch64 and its other variants
(From OE-Core rev: 5f191d86b8d60624d729b3b147c1dff818326dbd)
Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-15 08:23:48 +00:00
|
|
|
file://add_check_for_aarch64_32.patch \
|
2012-09-26 19:18:02 +00:00
|
|
|
file://g++.conf \
|
|
|
|
file://linux.conf \
|
2015-11-27 03:35:19 +00:00
|
|
|
file://fix-for-mips-n32.patch \
|
2012-09-26 19:18:02 +00:00
|
|
|
"
|
|
|
|
|
2015-06-02 01:52:57 +00:00
|
|
|
SRC_URI[md5sum] = "d990ee66bf7ab0c785589776f35ba6ad"
|
|
|
|
SRC_URI[sha256sum] = "e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0"
|
2012-09-26 19:18:02 +00:00
|
|
|
|
2015-11-16 14:34:03 +00:00
|
|
|
UPSTREAM_CHECK_URI = "http://download.qt.io/official_releases/qt/4.8/"
|
|
|
|
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
|
|
|
|
|
2012-09-26 19:18:02 +00:00
|
|
|
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
|
|
|
|
|
2014-11-28 06:48:38 +00:00
|
|
|
# disable webkit for mips64 n32 temporarily that fails to compile,
|
|
|
|
# qt upstream defect:
|
|
|
|
# https://bugreports.qt-project.org/browse/QTBUG-39224
|
2015-01-22 04:45:28 +00:00
|
|
|
QT_CONFIG_FLAGS_append_mips64n32 = " -no-webkit"
|
2014-11-28 06:48:38 +00:00
|
|
|
|
2014-09-12 11:03:38 +00:00
|
|
|
# disable webkit for aarch64 temporarily that fails to compile
|
|
|
|
QT_CONFIG_FLAGS_append_aarch64 = " -no-webkit"
|
|
|
|
|
2012-09-26 19:18:02 +00:00
|
|
|
FILES_${QT_BASE_NAME}-tools_append = " ${bindir}/qml ${bindir}/qmlplugindump"
|
|
|
|
FILES_${QT_BASE_NAME}-tools-dbg_append = " ${bindir}/.debug/qml ${bindir}/.debug/qmlplugindump"
|
|
|
|
|
|
|
|
PACKAGES_append = " ${QT_BASE_NAME}-tests-dbg ${QT_BASE_NAME}-tests"
|
2013-04-29 17:28:48 +00:00
|
|
|
FILES_${QT_BASE_NAME}-tests-dbg = "${prefix}/tests/qt4/*/.debug"
|
|
|
|
FILES_${QT_BASE_NAME}-tests = "${prefix}/tests/qt4/*"
|
2012-09-26 19:18:02 +00:00
|
|
|
|
|
|
|
do_configure_prepend() {
|
2015-07-10 07:14:58 +00:00
|
|
|
sed -i 's:qtPrepareTool(LRELEASE, lrelease):LRELEASE = ${OE_QMAKE_LRELEASE}:g' \
|
|
|
|
${S}/translations/translations.pro
|
2012-09-26 19:18:02 +00:00
|
|
|
|
|
|
|
sed -i \
|
|
|
|
-e /QMAKE_MOC\ /d \
|
|
|
|
-e /QMAKE_UIC\ /d \
|
|
|
|
-e /QMAKE_UIC3\ /d \
|
|
|
|
-e /QMAKE_RCC\ /d \
|
|
|
|
${S}/configure
|
|
|
|
|
|
|
|
# Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++)
|
|
|
|
unset LD
|
|
|
|
}
|
|
|
|
|