* without syncqt cmake config files have empty PRIVATE_INCLUDE_DIRS
remove pregenerated header files and create .git dir to let qmake
call syncqt and generate headers like when building from git recipes
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* drop 0027-Fix-misaligned-selection-region-with-text-when-cente.patch
resolved in upstream commit 5d8a882c11201a29475c5ea71cfb76c9de6573f5
* drop 0020-Use-BGRA-extension-in-bindTexture.patch
resolved in upstream commit e1325cf26e146b68725cc1a0a02b274ce3dfbe5c
* drop 0008-wayland-scanner-disable-silent-rules.patch
resolved upstream in:
commit 2ff2a7c32d76b9e58b800f12469f112cfdb6ad3c
Author: Jan Arne Petersen <jan.petersen@kdab.com>
Date: Fri Jul 19 14:35:19 2013 +0200
Fix wayland-scanner to work with CONFIG+=silent
* squash to match more with structure of
https://github.com/meta-qt5/qtbase/tree/stable
* qtmodules: bump SRCREVs for 5.2.0 tags
now all modules using qt5-git should be newer than any 5.1.* version
* qtbase: fix paths in packageconfig *.pc files
include- and lib-paths contained build-sysroot paths
* qtwebkit: Explicitly add ICU libraries to LIBS
fails to build without this
* qtjsbackend: remove for git versions
Found in [1]:
Qt Qml is now using its own built-in Javascript engine and does not depend on
V8 anymore. As such the QtJSBackend shared library has disappeared.
[1] http://blog.qt.digia.com/blog/2013/09/30/qt-5-2-alpha-available/
* qt5: Upgrade 5.1.1 recipes to 5.2.0 to match git recipes
qtjsbackend is now completely gone
it allows to share more .patch files and configuration in .inc again
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
If Qt5 (qtbase) is machine specific, then all packages depending
on qtbase will also be machine specific, because the (initial)
qtbase configuration becomes part of Qt5/qmake, thus affecting
builds of packages built against this specific version of qtbase.
Since it is not feasible to add PACKAGE_ARCH=... to each and every
recipe that is built using qmake and depends on Qt5, we introduce
a new variable, QT_PACKAGES_ARCH, that can be set by the machine
configuration as needed.
We have to be careful though to only change the architecture of the
resulting packages if we're not compiling a 'native' package.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
If you perform a "bitbake -c devshell <some qt5 recipe>" and then try "which
qmake" in the devshell, you'll find your host's qmake is found (which is most
likely to be based on qt4) rather than the one that is built as part of
meta-qt5. The reason for this is that the qt5 items are installed to
${STAGING_DIR_NATIVE}/usr/bin/qt5 and not ${STAGING_DIR_NATIVE}/usr/bin. The
reason for the extra "qt5" directory at the end is so that qt4-based items
that are built in OE can live side-by-side with things from meta-qt5 without
interfering with each other.
This patch prepends ${STAGING_DIR_NATIVE}/usr/bin/qt5 to the devshell's PATH
so that the qt5-based native tools which are built as part of meta-qt5 will be
found before the host's.
Signed-off-by: Trevor Woerner <trevor.woerner@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* and move it to separate .bbclass which is easier to
replace in distro layer when you don't care about
conflicts with qt4
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* endian option was removed from configure
* arch/host-arch option is now deprecated and configure shows
warning when it's used
* both are now autodetected
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* we're using QT_DIR_NAME subdirectory mostly to prevent conflicts with existing files from qt4
but setting it in all OE_QMAKE_PATH_* variables causes all apps which are just using qmake to
build to install e.g. in /qt5 which for stuff like qterminal or something doesn't
sound right (as long as there isn't qterminal4 and qterminal5 recipe)
* some variables are kept with default QT_DIR_NAME, e.g. qml, imports, plugins we can assume that
every application which installs some QML files will install them in location shared by all
* add qt5-native.inc which also adds this QT_DIR_NAME and common
inherits (later will be used also by qtwayland-native.inc)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* "${B}/*" in quotes doesn't match anything, better to remove whole directory
(incluing .files) and recreate it
* not sure why I've added quotes after testing first version, we don't
expect B with spaces.. but I'm a bit scared with rm -rf ${SOME_VAR}
after one glibc upgrade cleaned my whole disk and attached NFS array
when OLD_LOCALE_PATH wasn't detected correctly...
* qmake works well with separate B, use it by default
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* all variables should be now correctly set by qmake
* setting PARALLEL_MAKE in MAKEFLAGS can cause
PARALLEL_MAKE * PARALLEL_MAKE processes, because first
-j is applied on top level directory and then again in
each subdir, but it's faster then make -j PARALLEL_MAKE
only in top directory
* setting QMAKE breaks build in src/tools/bootstrap, because it
forces relative path bin/qmake which isn't correct
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* thanks to Mikko Levonmaa
* move it from qt5.inc to qmake5_base.bbclass, because it can be useful
for other apps too
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* don't export it, let recipe decide where to call it or even if it
should be called (native recipes are not using it)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* add linux-oe-g++ mkspec directly with patch
* add functions to read and eval OE_QMAKE functions from mkspec and
also export them with QMakeVar to be available also for config.tests
* add external-host-bindir parameter to skip building native tools
even when we're in fact cross-compiling (because we have them from
qtbase-native build already).
* use separated ${B} and ${S} and clean ${B} when reconfiguring
stalled qmake cache can be used when configure is reexecuted
cleaning ${B} prevents that and provide cleaner separation
* OE_QMAKE_AR cqs is added by Makefile, having it here too was causing
issues
* isEmpty(QT_EXTERNAL_HOST_BINS) doesn't work, so lets use exist()
even when it allows to incorrectly set wrong directory and build
native tools again (instead of skipping them)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* g++.conf and linux.conf were outdated a lot, lacking new options like
QMAKE_COMPILER causing a lot of warning like:
Project WARNING: qmake spec does not announce the compiler family. Guessed gcc.
* Instead of replacing whole common files, use custom qmake.conf which
overwrites common setting after including it
* fix paralel build
* default make does good job, cleans mkspecs, installs all headers and
libs needed for qtjsbackend-native
* move native tools to QT_DIR_NAME prefix, this way qt4 and qt5 can be
staged at the same time
* only variables referencing WORKDIR are now QMAKE_PRL_BUILD_DIR
./x86_64-linux/usr/lib/libQt5Network.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/network/
./x86_64-linux/usr/lib/libQt5Xml.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/xml/
./x86_64-linux/usr/lib/libQt5Bootstrap.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/tools/bootstrap/
./x86_64-linux/usr/lib/libQt5Concurrent.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/concurrent/
./x86_64-linux/usr/lib/libQt5Core.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/corelib/
./x86_64-linux/usr/lib/libQt5Test.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/testlib/
./x86_64-linux/usr/lib/libQt5Sql.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/sql/
./x86_64-linux/usr/lib/libQt5DBus.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/dbus/
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* we also had PROVIDES for qt5-tools-native, this makes it a bit easier to see what is what
* drop FILESEXTRAPATHS, not needed after renaming to match BPN with qtbase patches
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Created new variables OE_CROSS_INSTALL_DATA and OE_CROSS_HOST_DATA
to support the installation and configuration of qtbase and dependant
modules.
Added paths for Qml2Imports
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
This allows the subsequent modules to install correctly. Also during
do_configure we stage target specific file into the staging area and
modify some prf files inorder to make the module (qt_lib_<module>.pri)
files install correctly
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
They are placed under STAGING_DATADIR as they need to be
kept separate from the native side. The reason for doing so
is that some qt modules require native tools and the mkspecs
in STAGING_DATADIR_NATIVE cannot be polluted with the target
mkspecs
There are still some packaging issues
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
The pri files get correctly placed under the work dir, but fail
to stage correctly. Also there are some packaging issues
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>