Commit Graph

35 Commits

Author SHA1 Message Date
Otavio Salvador 578657f7b6 qmake5_base.bbclass: Fix mkspec path when building nativesdk binaries
When building nativesdk binaries we ought to rely in the native
mkspecs.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Denys Dmytriyenko <denys@ti.com>
2014-02-17 17:47:27 -03:00
Simon Busch b0100c1b57 classes: qmake5: move QT_DIR_NAME to qmake5_paths
* qmake5_paths.bbclass refers to QT_DIR_NAME but it's defined on a higher level which
  doesn't makes sense and breaks some use cases

Signed-off-by: Simon Busch <morphis@gravedo.de>
2013-07-25 20:12:14 +00:00
Martin Jansa ca4a0758e1 qmake5_base: add override for HostLibraries
* qtdeclarative was using /usr/lib as HostLibraries causing
  WARNING: QA Issue: qtdeclarative: The compile log indicates that host include and/or library paths were used.
           Please check the log 'qtdeclarative/5.1.0-r0/temp/log.do_compile' for more information.
  DEBUG 1: /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/qt5/mkspecs/features/qt_config.prf:23: QT_MODULE_HOST_LIB_BASE := /usr/lib
* also without this fix qtdeclarative and qtwayland are trying to
  build tools against /usr/lib/libQt5Bootstrap.a (without sysroot
  prefix)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-07-25 12:14:11 +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 48138bfb27 qtbase: use EXTRA_OEMAKE also in config.tests executed in do_configure
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-09 16:54:03 +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 56d2c7f18d qmake5_base: export OE_QMAKE variables only in qtbase recipes
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-09 13:56:49 +02:00
Martin Jansa 1965248b7b qmake5: use QT_CONF_PATH variable in do_generate_qt_config_file
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-09 13:55:04 +02:00
Martin Jansa 9773d8eb22 qmake5_base: drop default -e from EXTRA_OEMAKE and add variables we want to override
* exports are still needed at least for qtbase configure script (which
  is using our special eval variant of getQ(X)MakeConf functions
  but maybe we should move them only to qtbase now

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-09 13:54:57 +02:00
Martin Jansa f40204dc97 qmake5_base: disable debug output by default
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-07 17:19:10 +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
Mikko Levonmaa bbaf26aec2 qtbase: Find wayland-scanner correctly
* Remove silent rules for wayland-scanner

Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
Signed-off-by: Martin Jansa <martin.jansa@lge.com>
2013-05-05 12:56:34 +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 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