Commit Graph

42 Commits

Author SHA1 Message Date
Martin Jansa b8a236df79 qt5: Fix cmake config files
* 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>
2014-01-12 15:03:21 +01:00
Martin Jansa c908fe4ebd qt5: upgrade to 5.2.0
* 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>
2014-01-12 15:01:37 +01:00
André Draszik 57709a4ee2 qt5.inc: allow to set the package arch globally
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>
2013-12-21 19:48:14 +01:00
Eric BENARD ee4ef2a303 qt5.inc: extend FILES_${PN}-examples-*
this fix :
ERROR: QA Issue: non debug package contains .debug directory: qtquick1-examples path
/work/armv7a-vfp-neon-oe-linux-gnueabi/qtquick1/5.1.1-r0/packages-split/qtquick1-examples/
usr/share/qt5/examples/declarative/cppextensions/plugins/org/qtproject/TimeExample/.debug/libqmlqtimeexampleplugin.so

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-10-08 17:56:23 +02:00
Trevor Woerner f4188229f1 devshell: include PATH for qt5 native applications
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>
2013-10-03 18:03:35 +02:00
Tasslehoff Kjappfot f11b1722e2 qtquickcontrols: Add module for 5.1.0 and git versions
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-09-17 14:49:33 +02:00
Martin Jansa 902f55b957 qt5: add recipes for 5.1.0
* only rebased patches and updated SRC_URI checksum, haven't even build
  tested it yet

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-07-25 12:14:11 +02:00
Eric BENARD 34bed723f3 qt: package examples
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-28 10:42:15 +02:00
Martin Jansa 4c197c6223 qmake5_base: Define OE_QMAKE_PATH_QT_* variables
* 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>
2013-05-09 21:41:32 +02:00
Martin Jansa 727b27e936 qmake5: move default do_configure and do_install to qmake5.bbclass
* it's useful for many recipes outside qt5 and easy to overwrite when needed
2013-05-09 19:16:32 +02:00
Martin Jansa 34a4b6bc24 qtbase: drop setting arch and endian
* 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>
2013-05-09 19:15:34 +02:00
Martin Jansa d8314098bf qmake5: drop QT_DIR_NAME subdirectory from many OE_QMAKE_PATH_* variables and add it back in qt5.inc
* 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>
2013-05-09 13:56:49 +02:00
Martin Jansa 7caede7850 qmake5: Fix cleaning separate build directory and use it by default
* "${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>
2013-05-09 13:56:49 +02:00
Martin Jansa 1c29e5de8d qt5: drop 'unset LD', qmake should now handle QMAKE_LINK correctly
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-09 13:56:49 +02:00
Martin Jansa ed6e2f317f qt5: move variables used only in qtbase to qtbase.inc
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-07 15:37:00 +02:00
Martin Jansa f76e45b5a8 qt5: drop EXTRA_ENV
* 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>
2013-05-07 12:18:41 +02:00
Martin Jansa bd10121a0d qt5: add PN-qmlplugins packages and remove them from modules, use OE_QMAKE_PATH_* variables
* qml and imports go to PN-qmlplugins
* all other plugins go to just PN-plugins

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-06 12:22:02 +02:00
Martin Jansa d57e27ec08 qt5: Instead of fixing paths after installation, fix them in Makefile before
* 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>
2013-05-05 12:56:34 +02:00
Martin Jansa 18d2e711d8 qmake5_base: add qmake5_base_do_configure which allows to declare QMAKE_VARSUBST_*
* 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>
2013-05-05 12:56:32 +02:00
Martin Jansa 7d3f0711ee qt5: move do_install modifications to shared qt5.inc and reuse do_configure 2013-04-28 15:55:10 +02:00
Martin Jansa 3a91c4dc3d qt5: allow to change -release/-debug for some modules 2013-04-28 15:55:09 +02:00
Martin Jansa d2d5b7804e qt5: package files with and without QT_DIR_NAME prefix
* makes it easier to modify paths without QA warnings about unpackaged files

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-28 13:39:57 +02:00
Martin Jansa a86304a384 qt5: Add mkspecs package and update FILES to package ${QT_DIR_NAME} directories
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-28 13:39:33 +02:00
Martin Jansa fe65aed339 qtbase: improve internal build system to support OE way of building qt
* 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>
2013-04-26 00:04:56 +02:00
Martin Jansa 97738e9d62 qt5: unify indentation
* use 4 spaces everywhere like meta-oe and other layers do now
2013-04-17 16:49:18 +02:00
Martin Jansa b78a292a58 qtbase: replace g++.conf and linux.conf with qmake.conf
* 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
2013-04-17 16:10:02 +02:00
Martin Jansa 85b0bb6445 qtbase: correctly configure 2013-04-17 16:10:02 +02:00
Martin Jansa 2b5c531b22 qtbase: don't touch STAGING and bypass sstate
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-17 16:10:01 +02:00
Martin Jansa 70b1b233b2 qt5-native, qtjsbackend-native: fix .pri and .prl pointing to WORKDIR or absolute sysroot
* 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>
2013-04-17 16:09:56 +02:00
Martin Jansa 5d5ba83cc6 qt5-native: rename to qtbase-native to avoid confusion
* 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>
2013-04-17 16:08:56 +02:00
Eric Blade a376cc61ed qt5: upgrade to 5.0.1
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-02-18 00:55:04 +01:00
Martin Jansa 6b7dd87f92 qt5: fixup FILES_ entries
* some are not needed as they are included in default value

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-12-12 20:08:47 +01:00
Martin Jansa 97f4709e4c qt5: move qtbase specific stuff from qt5.inc to qtbase.inc
* qt5.inc should be used by all qtmodule.inc
* add missing PACKAGES in qt5.inc

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-12-12 20:08:40 +01:00
Mikko Levonmaa bd6c9c28c2 qtbase: fix installations
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>
2012-12-09 13:50:26 -08:00
Mikko Levonmaa b514c5d67a Updated QT_CONF_PATH default values in qmake5_base
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>
2012-12-07 08:48:15 -08:00
Mikko Levonmaa 17d2bf1cdd qtbase: mkspecs are now staged correctly
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>
2012-12-04 17:03:14 -08:00
Mikko Levonmaa 2dd5038560 Preserve the PARALLEL_MAKE value when compiling
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
2012-12-03 11:15:35 -08:00
Mikko Levonmaa ff173560e2 qtbase: partially resolves module pri installation
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>
2012-12-03 11:15:35 -08:00
Mikko Levonmaa cba28bbc10 qtbase: use the correct tools from the native sysroot
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
2012-12-03 11:14:35 -08:00
Martin Jansa 95e49bf0f4 qt5: split QT_CONFIG_FLAGS to more separate variables
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-11-18 18:02:52 +01:00
Mikko Levonmaa 13ed17b2ba qtbase: add recipe for git version
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-11-15 21:57:18 +01:00
Otavio Salvador 4927bd8c56 qt5-native: Add initial draft
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2012-10-23 15:51:25 -02:00