* returning QSettings even without existing qtconfig was causing,
e.g. QLibraryInfo::location(QLibraryInfo::PluginsPath) returning
"`pwd`/plugins" instead of correct "/usr/lib/qt5/plugins"
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>
* makes it easier to change desktop gl to gles2 in .bbappend
* we cannot explicitly disable opengl with -no-opengl, because then it
fails to build (probably only when mesa headers are found in sysroot)
/qtbase-opensource-src-5.0.0/src/platformsupport/eglconvenience/qeglplatformcontext.cpp:62:72: error: 'QPlatformOpenGLContext' has not been declared
/qtbase-opensource-src-5.0.0/src/platformsupport/eglconvenience/qeglplatformcontext.cpp: In constructor 'QEGLPlatformContext::QEGLPlatformContext(const QSurfaceFormat&, int*, EGLDisplay, EGLenum)':
/qtbase-opensource-src-5.0.0/src/platformsupport/eglconvenience/qeglplatformcontext.cpp:69:70: error: invalid static_cast from type 'int*' to type 'QEGLPlatformContext*'
The same with 5.0.2
Signed-off-by: Simon Busch <morphis@gravedo.de>
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>
* not all modules depend on qtbase, qtbase-native dependency is added
by qmake5.bbclass:
QT5TOOLSDEPENDS ?= "qtbase-native "
DEPENDS_prepend = "${QT5TOOLSDEPENDS}"
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* 5.0.2+git was installing uic in wrong directory STAGING_DIR_NATIVE
was there twice, while debuging this I've noticed that headers and docs
are installed in this wrong directory also in other versions
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>
* when uic does not exist in QT_EXTERNAL_HOST_BINS it will silently switch to
/usr/bin/qt5/uic and build will fail a bit later
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* it was working for LIC_FILES_CHKSUM, but not LICENSE
* we need to change order of includes, first version.inc then module.inc
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* MJ: fix PV
* MJ: simplified to use newer classes
* MJ: Add license information
* MJ: use OE_QMAKE_PATH_QML for packaging definition
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* MJ: fix PV
* MJ: simplified to use newer classes
* MJ: Add license information
* MJ: use OE_QMAKE_PATH_QML for packaging definition
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* MJ: simplified to use newer classes
* MJ: Add license information
* MJ: use OE_QMAKE_PATH_QML for packaging definition
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* MJ: simplified to use newer classes
* MJ: Add license information
* MJ: use OE_QMAKE_PATH_QML for packaging definition
* MJ: add missing sqlite3 dependency
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* Disabling this for the time being as it generates invalid
instructions when the target is arm.
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
Signed-off-by: Martin Jansa <martin.jansa@lge.com>
* Fix shader precision definition
* MJ: Fix license information
* MJ: Fix PV
* MJ: add wayland-native to depends for wayland-scaner
* MJ: add libxkbcommon to depends, but make it easy to remove it
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
Signed-off-by: Martin Jansa <martin.jansa@lge.com>
* MJ: Add license information
not sure which parts (or maybe all) is under LICENSE.PREVIEW.COMMERCIAL
* MJ: Fix PV
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
Signed-off-by: Martin Jansa <martin.jansa@lge.com>
* With isis2 touch mocking there is a situation where flickable doesn't
process mouse events even if it has mouse grabbed.
* Patch is cherry-picked from upstream.
Signed-off-by: Heikki Paajanen <heikki.paajanen@palm.com>
Signed-off-by: Martin Jansa <martin.jansa@lge.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>
* some modules weren't released yet, so we still need some recipes with
PV = "4.999+5.0.0-beta1+git${SRCPV}"
so having 5.0.2 in .inc filename is a bit misleading
* .inc file still sets default PV (now "5.0.2+git${SRCPV}"), all modules
where SRCREV corresponds to different versions need to set PV inside
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* 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>
* 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>
* 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
* qt_module.prf replacements were creating -L/usr/lib in .pc files which is bad for cross-compilation
* also use '=' for sysroot in libtool files
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* 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>
* there are important fixes in qtbase bootstrapping
* create also own directory for patches, easier for many versions to coexist for now
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* patch files are kept in separate dir, because I expect that 5.0.1
will have to live a bit longer for e.g. webkit-qt developers to adapt
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* there are some issues with 5.0.1 and qt-webkit, keep 5.0.0 available
until everybody is ready to upgrade to 5.0.2 or newer
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>
* qmake is trying to call native gdb and we don't depend on gdb-native
(or even provide gdb-native)
* fixes errors like this:
/bin/sh: gdb: command not found
/bin/sh: line 0: test: -gt: unary operator expected
which are not fatal, but still misleading in do_configure output
* 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
* 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
* 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>
They will cause the building of cmake-native to fail as it
will parse the output of qmake -query and is not expecting
to find the added lines in the output
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
* and change DEFAULT_PREFERRENCE for git recipes negative again
* bump SRCREV in git recipes to latest and update PV
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>
* otherwise we need for -system-xcb
libxcb-native libxau-native libxdmcp-native xcb-util-wm-native
xcb-util-image-native xcb-util-keysyms-native
or for -qt-xcb
libxcb-native libxau-native libxdmcp-native
and fix underlinking in xcb linking test (QMAKE_LIBS_XCB)
| linking xcb
| /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libXau.so.6, needed by /OE/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libxcb.so, not found (try using -rpath or -rpath-link)
| /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libXdmcp.so.6, needed by /OE/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libxcb.so, not found (try using -rpath or -rpath-link)
| /OE/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libxcb.so: undefined reference to `XauDisposeAuth'
| /OE/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libxcb.so: undefined reference to `XauGetBestAuthByAddr'
| /OE/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/lib/libxcb.so: undefined reference to `XdmcpWrap'
Signed-off-by: Martin Jansa <Martin.Jansa@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>
This patch has been cleaned to the minimum version and is ready for
sending to upstream. Once it is accepted, a backport of the final
version will be included here.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* also add version specific .inc files and move all version specific
variables to it
* upgrade 5.0.0-beta1 to 5.0.0-beta2 and add include for latest git
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Disabled tests and exmaples in the native build. Also do_install
now installs the qmake host binary
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>