All Qt5 packages gained the GPLv3 license option and all the documentation
is now under GFDLv1.3 license (except qt5websocket and qt53d)
Signed-off-by: Julien Corjon <corjon.j@ecagroup.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
With OVERRIDE_SRCDIR we don't apply any of the qt5base patches, but the
custom specs files are needed to be able to build - So install these in the
configure step instead of having them as a patch.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Even though we have some specific code to support building Qt5 for
static-only configurations, it doesn't work. The first problem is that
our custom qmake.conf always passes -ldl, which makes a number of Qt5
config.tests fail at configure time. Once this problem is fixed by
removing -ldl from QMAKE_LIBS and adding it to QMAKE_LIBS_DYNLOAD
instead, the next problem is that the plugin infrastructure of Qt5
assumes that Linux has dynamic library support: the qlibrary_unix.cpp
file includes <dlfcn.h>, and the only condition for this file to not
be included is:
Until recently, building Qt5 statically was working because our C
library was not built static-only: it provided <dlfcn.h> and
libdl.so. But now that we have a really static only toolchain, Qt5 no
longer builds.
The easiest solution is to simply make Qt5 depend on dynamic library
support.
Fixes:
http://autobuild.buildroot.net/results/538/538e0325adba9fabbe4ec8e550fbb6a7219f5e7a/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When the XCB backend is selected, the libqxcb.so plugin is installed,
and is linked against libQt5XcbQpa.so. However, until, Buildroot was
not installing this library. This commit fixes this.
[Thomas: tweak commit log.]
Signed-off-by: Matthew Shyu <matthew.shyu@amlogic.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The workaround implemented in 0001-Force_egl_visual_ID_33.patch has to
be enabled as soon as gpu_vivante/xorg is used. This does not depends
on eglfs option.
[Thomas: minor commit log tweaks.]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES is no longer useful since eglfs does not
depend on the device makespecs anymore. Instead, backends are autodetected by
configure [1]. We still need specifics include path for rpi eglfs support.
0008-forkd-disable-eventfd-for-uclibc.patch disable missing eventfd in new Qt
3rd party forkd for uClibc toolchains.
Remove patches commited in Qt mainline and update pending one
[1] https://codereview.qt-project.org/#/c/107548/
Passed test :
- Full compilation on ARM/uClibc
- Partialy compiled and tested on i.MX6/linaro with OpenGL backend
- Partialy compiled but not executed for Raspberry Pi (rpi-userland)
Signed-off-by: Julien Corjon <corjon.j@ecagroup.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add in support for a custom qconfig file in the same way it is
already present for the Qt4 package
Signed-off-by: Will Wagner <will_wagner@carallon.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In order to be in line with new Freescale naming convention:
https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9
"Graphics recipe is renamed from gpu-viv-bin-mx6q to imx-gpu-viv"
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since 1b54fbc925 (qt5base: fix postgresql plugin compile, 2015-02-19)
QT5BASE_CONFIGURE_ENV is never set. Remove it.
Cc: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fix "Unable to find an X11 visual" bug that produce at runtime with Vivante
drivers. Add a conditionnal patch and add variable QT5BASE_EXTRA_CFLAGS in
order to enable workaround.
This patch is actually an improvement over the fix available in Yocto:
https://github.com/Freescale/meta-fsl-arm/blob/dizzy/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch
[Thomas:
- Add SoB from Jérôme Pouiller inside the patch imported from Yocto.
- Add a space between $(TARGET_CFLAGS) and $(QT5BASE_EXTRA_CFLAGS),
and ditto for CXXFLAGS.
- Merge the QT5BASE_EXTRA_CFLAGS into an existing
BR2_PACKAGE_GPU_VIV_BIN_MX6Q conditional.]
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now that largefile is mandatory removes package dependencies and
conditionals.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add qt5base '-psql_config' configure option and use it to set
pg_config path in configure step instead of legacy PSQL_LIBS
enviornment variable.
Fixes [1]:
PostgreSQL auto-detection... ()
make[1]: Entering directory `/home/peko/autobuild/instance-0/output/build/qt5base-5.4.0/config.tests/unix/psql'
/home/peko/autobuild/instance-0/output/host/usr/bin/sh-linux-gnu-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=/home/peko/autobuild/instance-0/output/host/usr/sh4a-buildroot-linux-gnu/sysroot -O2 -O3 -Wall -W -fPIE -I../../../mkspecs/devices/linux-buildroot-g++ -I. -I/usr/include/postgresql -o psql.o psql.cpp
sh-linux-gnu-g++: ERROR: unsafe header/library path used in cross-compilation: '/usr/include/postgresql'
make[1]: *** [psql.o] Error 1
make[1]: Leaving directory `/home/peko/autobuild/instance-0/output/build/qt5base-5.4.0/config.tests/unix/psql'
PostgreSQL disabled.
PostgreSQL support cannot be enabled due to functionality tests!
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.
make: *** [/home/peko/autobuild/instance-0/output/build/qt5base-5.4.0/.stamp_configured] Error 101
make: Leaving directory `/home/peko/autobuild/instance-0/buildroot'
[1] http://autobuild.buildroot.net/results/354/354bae2337703ad8bfb9d33c79538df3017b7fe9/
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
qt5base:
- Add patches to fix uClibc build.
qt5connectivity:
- Add patches to fix build with -no-c++11
qt5declarative:
- Remove the line that installs accessible plugin. The functionality
is moved into the qtquick library.
qt5webkit:
- Remove egl patch. This should be fixed with CONFIG += egl option.
qt5websockets:
- Remove upstreamed patch.
Changelogs: https://qt-project.org/wiki/Change-files-in-Qt-5.4.0
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.
As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.
This also helps preparing the addition of other options to select
shared, shared+static or just static.
Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Only use ccache prefix in QMAKE_CC and QMAKE_CXX since the build system is
broken when QMAKE_AR contains a space character.
Remove the upstreamed uClibc patch.
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Whithout this path, default platform is automaticaly set (generally
set to "eglfs" as defined in
qt5base/mkspecs/devices/common/linux_device_pre.conf:1). This choice
is not always what the user would like. Thus, user have to manually
appends "-platform <BACKEND>" to command line when running any qt5
application.
This patch allows user to choose default platform explicitly.
[Thomas: slightly improve Config.in help text, from the suggestions
given by Yann E. Morin.]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
No functional change, but internal variables should be name BR_foo, not
BUILDROOT_foo (I think ..).
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
There are places in Qt's source where headers included with the name of
the module subdirectory (e.g. #include <QtCore/QHash>). Therefore, the
build system passes the top header directory to the compiler; but this
results in a error when building host tools since sysroot/usr/include
directory includes architecture specific system headers.
In order to prevent this, install all Qt headers into a subdirectory in
/usr/include.
Fixes: http://autobuild.buildroot.net/results/4f1/4f16c0b38bdd6e40efcc781c12fae81c0bfabb72/
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For now, it doesn't use ccache when compiling host tools (e.g. qmake).
It seems the fix is not trivial.
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Simplify our custom qmake.conf:
- Include linux_device_{pre,post}.conf to inherit common device
configuration.
- Do not add $(STAGING_DIR)/usr/include to include path. It is
redundant.
In additon to the simplification of code, this change is a preparation
to solve problems occurring when QMAKE_CXX is prepended with ccache path.
Upstream patch is needed by configure to parse device options correctly.
Another upstream patch is needed to remove ARM specific parts from
linux_device_post.conf.
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Following patches are removed since they are upstreamed:
- qt5base/qt5base-0001-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch
- qt5jsbackend/qt5jsbackend-0002-fix-uclibc.patch
Remove "-nomake demos" from configure options since "demos" directory is
merged into examples.
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Added support for mysql and sqlite plugins. Configuration is based on qt package.
[Peter: strip trailing spaces]
Signed-off-by: Wojciech Slenska <wojciech.slenska@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When qt5 is built with EGLFS support, libQt5OpenGL library should be copied to
target.
Signed-off-by: Wojciech Slenska <wojciech.slenska@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Each qt5 package was defining its own QT5<something>_SITE
variable. Unfortunately, the download location has slightly changed
for Qt 5.0.2, so we would have to change it for all packages. Instead,
we factor the <pkg>_SITE variable as QT5_SITE in package/qt5/qt5.mk,
just like we already do for QT5_VERSION.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
In order for qmake to generate correct moc command lines, we need to
make sure INCLUDEPATH contains $(STAGING_DIR)/usr/include. To do so,
we add a new line in our custom qmake.conf.
Also, in order to clearly identify the Buildroot specific variables
from the qmake standard variables, we prefix all the custom Buildroot
variables by BUILDROOT_ in qmake.conf.
This solves compilation issues of qt5svg such as "Undefined
interface", due to the fact that moc isn't passed a -I path pointing
to the main header directory.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Since the Qt5 version will be the same for all Qt5 modules, factor it
in qt5/qt5.mk as QT5_VERSION.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
If not using font-config, Qt 5 offers a set of standard fonts to
use instead. Install these to target.
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When the rpi-userland package is selected, assume we are targetting
the Raspberry Pi, and add the right platform glue code when building
the Qt5 EGLFS plugin.
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Qt5Webkit requires Qt5Base to be built with ICU support, so we add
such support.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>