Commit Graph

21 Commits

Author SHA1 Message Date
Martin Jansa 66c091481c qmake5_base: define variables for paths used by qmake in one place
* makes it easier to change them, should be reused also in FILES_*
  variables
* table of path variables and their different names available at
  https://github.com/meta-qt5/meta-qt5/wiki/Building-with-OE
* all variables have OE_QMAKE_PATH_ prefix and then name from qmake
  varaible

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 eed206da36 qt5: move SSTATE_SCAN_FILES to qmake5_base.bbclass
* penalty for more replacements is better then to forget to add this
  in some component which will also install .prl files
2013-04-28 15:55:09 +02:00
Martin Jansa a5783e1a09 qtbase: Override all paths and export sysroot
* otherwise sysroot from native build can leak to target build
* missing paths like Qml2Imports were defaulting to devault /usr/qml
* synchronize values between qt.conf and configure params
2013-04-28 15:55:05 +02:00
Martin Jansa 09516373c0 qmake: allow to disable debug output
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-28 13:39:57 +02:00
Martin Jansa e89e33fd17 qmake_base: remove QT_DIR_NAME from libdir
* using ${libdir}/${QT_DIR_NAME} is causing pkgconfig files to be
  installed in this prefix too
* modify ArchData variable to move mkspecs files to qt5 prefix (so that
  they don't conflict with qt4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-28 13:39:57 +02:00
Martin Jansa 06ae6e8c9e qtbase5_base: move binaries and libs to QT_DIR_NAME
* mkspecs are now installed to libdir/${QT_DIR_NAME}
* use the same qt.conf for all qtbase5_base, only qtbase-native is different now
2013-04-28 13:39:33 +02:00
Martin Jansa def240608a qmake5_base: add Plugins settings
* otherwise plugins are installed in /lib/plugins
2013-04-28 13:39:32 +02:00
Martin Jansa 40436b7fc9 qmake5_base: don't push AR to EXTRA_ENV
* it overwrites value set from shell env in qmake.conf and ar is loosing cqs params
  mkspecs/linux-oe-g++/qmake.conf:QMAKE_AR = $(OE_QMAKE_AR) cqs

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-28 13:39:32 +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 1a2ad7b702 qmake5_base: drop unused exports
UIC/MOC/RCC are no longer defined in generated Makefiles
2013-04-17 16:10:02 +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 94ca12bf49 qmake5_base: define both QMAKESPEC and let recipe select which one to use
* different platform/xplatform can enable cross-compile build in upstream qmake
  but that's not the same as what recipes are doing (upstream builds native tools
  when bootstraping target qtbase, recipes build native tools with separate
  qtbase-native and then want to skip building tools)
* still separate variables for both QMAKESPECs can be useful e.g. for
  other native recipes
2013-04-17 16:10:01 +02:00
Martin Jansa e9c61a9e6f qmake: fix MAKEFLAGS when PARALLEL_MAKE has space
* quotes are needed, because some people have '-j 9' instead of '-j9'
* this can in theory cause PARALLEL_MAKE x PARALLEL_MAKE threads, because
  MAKE itself is using PARALLEL_MAKE threads to run inner makes
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
Mikko Levonmaa 34d4955894 qmake5: library path correction in generated qt.conf
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
2012-12-14 16:46:41 -08: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 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
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